glsl.es320.subgroupPartitioned.comp
Shader version: 320
Requested GL_KHR_shader_subgroup_basic
Requested GL_NV_shader_subgroup_partitioned
local_size = (8, 1, 1)
0:? Sequence
0:14  Function Definition: main( ( global void)
0:14    Function Parameters: 
0:16    Sequence
0:16      Sequence
0:16        move second child to first child ( temp highp uint)
0:16          'invocation' ( temp highp uint)
0:16          mod ( temp mediump uint)
0:16            add ( temp mediump uint)
0:16              'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16              'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16            Constant:
0:16              4 (const uint)
0:18      Sequence
0:18        move second child to first child ( temp highp 4-component vector of uint)
0:18          'ballot' ( temp highp 4-component vector of uint)
0:18          subgroupPartitionNV ( global highp 4-component vector of uint)
0:18            'invocation' ( temp highp uint)
0:20      move second child to first child ( temp highp 4-component vector of uint)
0:20        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:20          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:20            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:20            Constant:
0:20              0 (const int)
0:20          Constant:
0:20            2 (const int)
0:20        subgroupPartitionNV ( global highp 4-component vector of uint)
0:20          direct index ( temp highp float)
0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:20                Constant:
0:20                  0 (const int)
0:20              Constant:
0:20                0 (const int)
0:20            Constant:
0:20              0 (const int)
0:21      move second child to first child ( temp highp 4-component vector of uint)
0:21        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:21            Constant:
0:21              0 (const int)
0:21          Constant:
0:21            2 (const int)
0:21        subgroupPartitionNV ( global highp 4-component vector of uint)
0:21          vector swizzle ( temp highp 2-component vector of float)
0:21            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:21                Constant:
0:21                  0 (const int)
0:21              Constant:
0:21                0 (const int)
0:21            Sequence
0:21              Constant:
0:21                0 (const int)
0:21              Constant:
0:21                1 (const int)
0:22      move second child to first child ( temp highp 4-component vector of uint)
0:22        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:22          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:22            Constant:
0:22              0 (const int)
0:22          Constant:
0:22            2 (const int)
0:22        subgroupPartitionNV ( global highp 4-component vector of uint)
0:22          vector swizzle ( temp highp 3-component vector of float)
0:22            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:22              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:22                Constant:
0:22                  0 (const int)
0:22              Constant:
0:22                0 (const int)
0:22            Sequence
0:22              Constant:
0:22                0 (const int)
0:22              Constant:
0:22                1 (const int)
0:22              Constant:
0:22                2 (const int)
0:23      move second child to first child ( temp highp 4-component vector of uint)
0:23        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:23          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:23            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:23            Constant:
0:23              0 (const int)
0:23          Constant:
0:23            2 (const int)
0:23        subgroupPartitionNV ( global highp 4-component vector of uint)
0:23          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:23              Constant:
0:23                0 (const int)
0:23            Constant:
0:23              0 (const int)
0:25      move second child to first child ( temp highp 4-component vector of uint)
0:25        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:25          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:25            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:25            Constant:
0:25              0 (const int)
0:25          Constant:
0:25            2 (const int)
0:25        subgroupPartitionNV ( global highp 4-component vector of uint)
0:25          direct index ( temp highp int)
0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:25                Constant:
0:25                  0 (const int)
0:25              Constant:
0:25                1 (const int)
0:25            Constant:
0:25              0 (const int)
0:26      move second child to first child ( temp highp 4-component vector of uint)
0:26        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:26            Constant:
0:26              0 (const int)
0:26          Constant:
0:26            2 (const int)
0:26        subgroupPartitionNV ( global highp 4-component vector of uint)
0:26          vector swizzle ( temp highp 2-component vector of int)
0:26            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:26                Constant:
0:26                  0 (const int)
0:26              Constant:
0:26                1 (const int)
0:26            Sequence
0:26              Constant:
0:26                0 (const int)
0:26              Constant:
0:26                1 (const int)
0:27      move second child to first child ( temp highp 4-component vector of uint)
0:27        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:27          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:27            Constant:
0:27              0 (const int)
0:27          Constant:
0:27            2 (const int)
0:27        subgroupPartitionNV ( global highp 4-component vector of uint)
0:27          vector swizzle ( temp highp 3-component vector of int)
0:27            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:27              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:27                Constant:
0:27                  0 (const int)
0:27              Constant:
0:27                1 (const int)
0:27            Sequence
0:27              Constant:
0:27                0 (const int)
0:27              Constant:
0:27                1 (const int)
0:27              Constant:
0:27                2 (const int)
0:28      move second child to first child ( temp highp 4-component vector of uint)
0:28        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:28          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:28            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:28            Constant:
0:28              0 (const int)
0:28          Constant:
0:28            2 (const int)
0:28        subgroupPartitionNV ( global highp 4-component vector of uint)
0:28          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:28              Constant:
0:28                0 (const int)
0:28            Constant:
0:28              1 (const int)
0:30      move second child to first child ( temp highp 4-component vector of uint)
0:30        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:30          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:30            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:30            Constant:
0:30              0 (const int)
0:30          Constant:
0:30            2 (const int)
0:30        subgroupPartitionNV ( global highp 4-component vector of uint)
0:30          direct index ( temp highp uint)
0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:30                Constant:
0:30                  0 (const int)
0:30              Constant:
0:30                2 (const int)
0:30            Constant:
0:30              0 (const int)
0:31      move second child to first child ( temp highp 4-component vector of uint)
0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:31            Constant:
0:31              0 (const int)
0:31          Constant:
0:31            2 (const int)
0:31        subgroupPartitionNV ( global highp 4-component vector of uint)
0:31          vector swizzle ( temp highp 2-component vector of uint)
0:31            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:31                Constant:
0:31                  0 (const int)
0:31              Constant:
0:31                2 (const int)
0:31            Sequence
0:31              Constant:
0:31                0 (const int)
0:31              Constant:
0:31                1 (const int)
0:32      move second child to first child ( temp highp 4-component vector of uint)
0:32        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:32          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:32            Constant:
0:32              0 (const int)
0:32          Constant:
0:32            2 (const int)
0:32        subgroupPartitionNV ( global highp 4-component vector of uint)
0:32          vector swizzle ( temp highp 3-component vector of uint)
0:32            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:32                Constant:
0:32                  0 (const int)
0:32              Constant:
0:32                2 (const int)
0:32            Sequence
0:32              Constant:
0:32                0 (const int)
0:32              Constant:
0:32                1 (const int)
0:32              Constant:
0:32                2 (const int)
0:33      move second child to first child ( temp highp 4-component vector of uint)
0:33        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:33          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:33            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:33            Constant:
0:33              0 (const int)
0:33          Constant:
0:33            2 (const int)
0:33        subgroupPartitionNV ( global highp 4-component vector of uint)
0:33          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:33              Constant:
0:33                0 (const int)
0:33            Constant:
0:33              2 (const int)
0:35      move second child to first child ( temp highp 4-component vector of uint)
0:35        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:35          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:35            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:35            Constant:
0:35              1 (const int)
0:35          Constant:
0:35            2 (const int)
0:35        subgroupPartitionNV ( global highp 4-component vector of uint)
0:35          Convert int to bool ( temp bool)
0:35            direct index ( temp highp int)
0:35              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:35                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:35                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:35                  Constant:
0:35                    0 (const int)
0:35                Constant:
0:35                  1 (const int)
0:35              Constant:
0:35                0 (const int)
0:36      move second child to first child ( temp highp 4-component vector of uint)
0:36        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:36            Constant:
0:36              1 (const int)
0:36          Constant:
0:36            2 (const int)
0:36        subgroupPartitionNV ( global highp 4-component vector of uint)
0:36          Convert int to bool ( temp 2-component vector of bool)
0:36            vector swizzle ( temp highp 2-component vector of int)
0:36              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:36                  Constant:
0:36                    0 (const int)
0:36                Constant:
0:36                  1 (const int)
0:36              Sequence
0:36                Constant:
0:36                  0 (const int)
0:36                Constant:
0:36                  1 (const int)
0:37      move second child to first child ( temp highp 4-component vector of uint)
0:37        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:37          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:37            Constant:
0:37              1 (const int)
0:37          Constant:
0:37            2 (const int)
0:37        subgroupPartitionNV ( global highp 4-component vector of uint)
0:37          Convert int to bool ( temp 3-component vector of bool)
0:37            vector swizzle ( temp highp 3-component vector of int)
0:37              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:37                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:37                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:37                  Constant:
0:37                    0 (const int)
0:37                Constant:
0:37                  1 (const int)
0:37              Sequence
0:37                Constant:
0:37                  0 (const int)
0:37                Constant:
0:37                  1 (const int)
0:37                Constant:
0:37                  2 (const int)
0:38      move second child to first child ( temp highp 4-component vector of uint)
0:38        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:38          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:38            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:38            Constant:
0:38              1 (const int)
0:38          Constant:
0:38            2 (const int)
0:38        subgroupPartitionNV ( global highp 4-component vector of uint)
0:38          Convert int to bool ( temp 4-component vector of bool)
0:38            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:38                Constant:
0:38                  0 (const int)
0:38              Constant:
0:38                1 (const int)
0:40      move second child to first child ( temp highp float)
0:40        direct index ( temp highp float)
0:40          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:40              Constant:
0:40                1 (const int)
0:40            Constant:
0:40              0 (const int)
0:40          Constant:
0:40            0 (const int)
0:40        subgroupPartitionedAddNV ( global highp float)
0:40          direct index ( temp highp float)
0:40            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:40                Constant:
0:40                  0 (const int)
0:40              Constant:
0:40                0 (const int)
0:40            Constant:
0:40              0 (const int)
0:40          'ballot' ( temp highp 4-component vector of uint)
0:41      move second child to first child ( temp highp 2-component vector of float)
0:41        vector swizzle ( temp highp 2-component vector of float)
0:41          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:41              Constant:
0:41                1 (const int)
0:41            Constant:
0:41              0 (const int)
0:41          Sequence
0:41            Constant:
0:41              0 (const int)
0:41            Constant:
0:41              1 (const int)
0:41        subgroupPartitionedAddNV ( global highp 2-component vector of float)
0:41          vector swizzle ( temp highp 2-component vector of float)
0:41            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:41                Constant:
0:41                  1 (const int)
0:41              Constant:
0:41                0 (const int)
0:41            Sequence
0:41              Constant:
0:41                0 (const int)
0:41              Constant:
0:41                1 (const int)
0:41          'ballot' ( temp highp 4-component vector of uint)
0:42      move second child to first child ( temp highp 3-component vector of float)
0:42        vector swizzle ( temp highp 3-component vector of float)
0:42          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:42            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:42              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:42              Constant:
0:42                1 (const int)
0:42            Constant:
0:42              0 (const int)
0:42          Sequence
0:42            Constant:
0:42              0 (const int)
0:42            Constant:
0:42              1 (const int)
0:42            Constant:
0:42              2 (const int)
0:42        subgroupPartitionedAddNV ( global highp 3-component vector of float)
0:42          vector swizzle ( temp highp 3-component vector of float)
0:42            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:42              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:42                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:42                Constant:
0:42                  2 (const int)
0:42              Constant:
0:42                0 (const int)
0:42            Sequence
0:42              Constant:
0:42                0 (const int)
0:42              Constant:
0:42                1 (const int)
0:42              Constant:
0:42                2 (const int)
0:42          'ballot' ( temp highp 4-component vector of uint)
0:43      move second child to first child ( temp highp 4-component vector of float)
0:43        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:43          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:43            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:43            Constant:
0:43              1 (const int)
0:43          Constant:
0:43            0 (const int)
0:43        subgroupPartitionedAddNV ( global highp 4-component vector of float)
0:43          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:43              Constant:
0:43                3 (const int)
0:43            Constant:
0:43              0 (const int)
0:43          'ballot' ( temp highp 4-component vector of uint)
0:45      move second child to first child ( temp highp int)
0:45        direct index ( temp highp int)
0:45          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:45              Constant:
0:45                1 (const int)
0:45            Constant:
0:45              1 (const int)
0:45          Constant:
0:45            0 (const int)
0:45        subgroupPartitionedAddNV ( global highp int)
0:45          direct index ( temp highp int)
0:45            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:45                Constant:
0:45                  0 (const int)
0:45              Constant:
0:45                1 (const int)
0:45            Constant:
0:45              0 (const int)
0:45          'ballot' ( temp highp 4-component vector of uint)
0:46      move second child to first child ( temp highp 2-component vector of int)
0:46        vector swizzle ( temp highp 2-component vector of int)
0:46          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:46              Constant:
0:46                1 (const int)
0:46            Constant:
0:46              1 (const int)
0:46          Sequence
0:46            Constant:
0:46              0 (const int)
0:46            Constant:
0:46              1 (const int)
0:46        subgroupPartitionedAddNV ( global highp 2-component vector of int)
0:46          vector swizzle ( temp highp 2-component vector of int)
0:46            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:46                Constant:
0:46                  1 (const int)
0:46              Constant:
0:46                1 (const int)
0:46            Sequence
0:46              Constant:
0:46                0 (const int)
0:46              Constant:
0:46                1 (const int)
0:46          'ballot' ( temp highp 4-component vector of uint)
0:47      move second child to first child ( temp highp 3-component vector of int)
0:47        vector swizzle ( temp highp 3-component vector of int)
0:47          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:47              Constant:
0:47                1 (const int)
0:47            Constant:
0:47              1 (const int)
0:47          Sequence
0:47            Constant:
0:47              0 (const int)
0:47            Constant:
0:47              1 (const int)
0:47            Constant:
0:47              2 (const int)
0:47        subgroupPartitionedAddNV ( global highp 3-component vector of int)
0:47          vector swizzle ( temp highp 3-component vector of int)
0:47            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:47              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:47                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:47                Constant:
0:47                  2 (const int)
0:47              Constant:
0:47                1 (const int)
0:47            Sequence
0:47              Constant:
0:47                0 (const int)
0:47              Constant:
0:47                1 (const int)
0:47              Constant:
0:47                2 (const int)
0:47          'ballot' ( temp highp 4-component vector of uint)
0:48      move second child to first child ( temp highp 4-component vector of int)
0:48        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:48          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:48            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:48            Constant:
0:48              1 (const int)
0:48          Constant:
0:48            1 (const int)
0:48        subgroupPartitionedAddNV ( global highp 4-component vector of int)
0:48          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:48              Constant:
0:48                3 (const int)
0:48            Constant:
0:48              1 (const int)
0:48          'ballot' ( temp highp 4-component vector of uint)
0:50      move second child to first child ( temp highp uint)
0:50        direct index ( temp highp uint)
0:50          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:50              Constant:
0:50                1 (const int)
0:50            Constant:
0:50              2 (const int)
0:50          Constant:
0:50            0 (const int)
0:50        subgroupPartitionedAddNV ( global highp uint)
0:50          direct index ( temp highp uint)
0:50            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:50                Constant:
0:50                  0 (const int)
0:50              Constant:
0:50                2 (const int)
0:50            Constant:
0:50              0 (const int)
0:50          'ballot' ( temp highp 4-component vector of uint)
0:51      move second child to first child ( temp highp 2-component vector of uint)
0:51        vector swizzle ( temp highp 2-component vector of uint)
0:51          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:51              Constant:
0:51                1 (const int)
0:51            Constant:
0:51              2 (const int)
0:51          Sequence
0:51            Constant:
0:51              0 (const int)
0:51            Constant:
0:51              1 (const int)
0:51        subgroupPartitionedAddNV ( global highp 2-component vector of uint)
0:51          vector swizzle ( temp highp 2-component vector of uint)
0:51            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:51                Constant:
0:51                  1 (const int)
0:51              Constant:
0:51                2 (const int)
0:51            Sequence
0:51              Constant:
0:51                0 (const int)
0:51              Constant:
0:51                1 (const int)
0:51          'ballot' ( temp highp 4-component vector of uint)
0:52      move second child to first child ( temp highp 3-component vector of uint)
0:52        vector swizzle ( temp highp 3-component vector of uint)
0:52          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:52              Constant:
0:52                1 (const int)
0:52            Constant:
0:52              2 (const int)
0:52          Sequence
0:52            Constant:
0:52              0 (const int)
0:52            Constant:
0:52              1 (const int)
0:52            Constant:
0:52              2 (const int)
0:52        subgroupPartitionedAddNV ( global highp 3-component vector of uint)
0:52          vector swizzle ( temp highp 3-component vector of uint)
0:52            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:52              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:52                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:52                Constant:
0:52                  2 (const int)
0:52              Constant:
0:52                2 (const int)
0:52            Sequence
0:52              Constant:
0:52                0 (const int)
0:52              Constant:
0:52                1 (const int)
0:52              Constant:
0:52                2 (const int)
0:52          'ballot' ( temp highp 4-component vector of uint)
0:53      move second child to first child ( temp highp 4-component vector of uint)
0:53        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:53          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:53            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:53            Constant:
0:53              1 (const int)
0:53          Constant:
0:53            2 (const int)
0:53        subgroupPartitionedAddNV ( global highp 4-component vector of uint)
0:53          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:53              Constant:
0:53                3 (const int)
0:53            Constant:
0:53              2 (const int)
0:53          'ballot' ( temp highp 4-component vector of uint)
0:55      move second child to first child ( temp highp float)
0:55        direct index ( temp highp float)
0:55          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:55              Constant:
0:55                2 (const int)
0:55            Constant:
0:55              0 (const int)
0:55          Constant:
0:55            0 (const int)
0:55        subgroupPartitionedMulNV ( global highp float)
0:55          direct index ( temp highp float)
0:55            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:55                Constant:
0:55                  0 (const int)
0:55              Constant:
0:55                0 (const int)
0:55            Constant:
0:55              0 (const int)
0:55          'ballot' ( temp highp 4-component vector of uint)
0:56      move second child to first child ( temp highp 2-component vector of float)
0:56        vector swizzle ( temp highp 2-component vector of float)
0:56          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:56            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:56              Constant:
0:56                2 (const int)
0:56            Constant:
0:56              0 (const int)
0:56          Sequence
0:56            Constant:
0:56              0 (const int)
0:56            Constant:
0:56              1 (const int)
0:56        subgroupPartitionedMulNV ( global highp 2-component vector of float)
0:56          vector swizzle ( temp highp 2-component vector of float)
0:56            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:56                Constant:
0:56                  1 (const int)
0:56              Constant:
0:56                0 (const int)
0:56            Sequence
0:56              Constant:
0:56                0 (const int)
0:56              Constant:
0:56                1 (const int)
0:56          'ballot' ( temp highp 4-component vector of uint)
0:57      move second child to first child ( temp highp 3-component vector of float)
0:57        vector swizzle ( temp highp 3-component vector of float)
0:57          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:57              Constant:
0:57                2 (const int)
0:57            Constant:
0:57              0 (const int)
0:57          Sequence
0:57            Constant:
0:57              0 (const int)
0:57            Constant:
0:57              1 (const int)
0:57            Constant:
0:57              2 (const int)
0:57        subgroupPartitionedMulNV ( global highp 3-component vector of float)
0:57          vector swizzle ( temp highp 3-component vector of float)
0:57            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:57              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:57                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:57                Constant:
0:57                  2 (const int)
0:57              Constant:
0:57                0 (const int)
0:57            Sequence
0:57              Constant:
0:57                0 (const int)
0:57              Constant:
0:57                1 (const int)
0:57              Constant:
0:57                2 (const int)
0:57          'ballot' ( temp highp 4-component vector of uint)
0:58      move second child to first child ( temp highp 4-component vector of float)
0:58        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:58          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:58            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:58            Constant:
0:58              2 (const int)
0:58          Constant:
0:58            0 (const int)
0:58        subgroupPartitionedMulNV ( global highp 4-component vector of float)
0:58          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:58            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:58              Constant:
0:58                3 (const int)
0:58            Constant:
0:58              0 (const int)
0:58          'ballot' ( temp highp 4-component vector of uint)
0:60      move second child to first child ( temp highp int)
0:60        direct index ( temp highp int)
0:60          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:60            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:60              Constant:
0:60                2 (const int)
0:60            Constant:
0:60              1 (const int)
0:60          Constant:
0:60            0 (const int)
0:60        subgroupPartitionedMulNV ( global highp int)
0:60          direct index ( temp highp int)
0:60            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:60                Constant:
0:60                  0 (const int)
0:60              Constant:
0:60                1 (const int)
0:60            Constant:
0:60              0 (const int)
0:60          'ballot' ( temp highp 4-component vector of uint)
0:61      move second child to first child ( temp highp 2-component vector of int)
0:61        vector swizzle ( temp highp 2-component vector of int)
0:61          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:61            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:61              Constant:
0:61                2 (const int)
0:61            Constant:
0:61              1 (const int)
0:61          Sequence
0:61            Constant:
0:61              0 (const int)
0:61            Constant:
0:61              1 (const int)
0:61        subgroupPartitionedMulNV ( global highp 2-component vector of int)
0:61          vector swizzle ( temp highp 2-component vector of int)
0:61            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:61                Constant:
0:61                  1 (const int)
0:61              Constant:
0:61                1 (const int)
0:61            Sequence
0:61              Constant:
0:61                0 (const int)
0:61              Constant:
0:61                1 (const int)
0:61          'ballot' ( temp highp 4-component vector of uint)
0:62      move second child to first child ( temp highp 3-component vector of int)
0:62        vector swizzle ( temp highp 3-component vector of int)
0:62          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:62              Constant:
0:62                2 (const int)
0:62            Constant:
0:62              1 (const int)
0:62          Sequence
0:62            Constant:
0:62              0 (const int)
0:62            Constant:
0:62              1 (const int)
0:62            Constant:
0:62              2 (const int)
0:62        subgroupPartitionedMulNV ( global highp 3-component vector of int)
0:62          vector swizzle ( temp highp 3-component vector of int)
0:62            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:62              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:62                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:62                Constant:
0:62                  2 (const int)
0:62              Constant:
0:62                1 (const int)
0:62            Sequence
0:62              Constant:
0:62                0 (const int)
0:62              Constant:
0:62                1 (const int)
0:62              Constant:
0:62                2 (const int)
0:62          'ballot' ( temp highp 4-component vector of uint)
0:63      move second child to first child ( temp highp 4-component vector of int)
0:63        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:63          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:63            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:63            Constant:
0:63              2 (const int)
0:63          Constant:
0:63            1 (const int)
0:63        subgroupPartitionedMulNV ( global highp 4-component vector of int)
0:63          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:63            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:63              Constant:
0:63                3 (const int)
0:63            Constant:
0:63              1 (const int)
0:63          'ballot' ( temp highp 4-component vector of uint)
0:65      move second child to first child ( temp highp uint)
0:65        direct index ( temp highp uint)
0:65          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:65            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:65              Constant:
0:65                2 (const int)
0:65            Constant:
0:65              2 (const int)
0:65          Constant:
0:65            0 (const int)
0:65        subgroupPartitionedMulNV ( global highp uint)
0:65          direct index ( temp highp uint)
0:65            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:65                Constant:
0:65                  0 (const int)
0:65              Constant:
0:65                2 (const int)
0:65            Constant:
0:65              0 (const int)
0:65          'ballot' ( temp highp 4-component vector of uint)
0:66      move second child to first child ( temp highp 2-component vector of uint)
0:66        vector swizzle ( temp highp 2-component vector of uint)
0:66          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:66            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:66              Constant:
0:66                2 (const int)
0:66            Constant:
0:66              2 (const int)
0:66          Sequence
0:66            Constant:
0:66              0 (const int)
0:66            Constant:
0:66              1 (const int)
0:66        subgroupPartitionedMulNV ( global highp 2-component vector of uint)
0:66          vector swizzle ( temp highp 2-component vector of uint)
0:66            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:66                Constant:
0:66                  1 (const int)
0:66              Constant:
0:66                2 (const int)
0:66            Sequence
0:66              Constant:
0:66                0 (const int)
0:66              Constant:
0:66                1 (const int)
0:66          'ballot' ( temp highp 4-component vector of uint)
0:67      move second child to first child ( temp highp 3-component vector of uint)
0:67        vector swizzle ( temp highp 3-component vector of uint)
0:67          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:67            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:67              Constant:
0:67                2 (const int)
0:67            Constant:
0:67              2 (const int)
0:67          Sequence
0:67            Constant:
0:67              0 (const int)
0:67            Constant:
0:67              1 (const int)
0:67            Constant:
0:67              2 (const int)
0:67        subgroupPartitionedMulNV ( global highp 3-component vector of uint)
0:67          vector swizzle ( temp highp 3-component vector of uint)
0:67            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:67              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:67                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:67                Constant:
0:67                  2 (const int)
0:67              Constant:
0:67                2 (const int)
0:67            Sequence
0:67              Constant:
0:67                0 (const int)
0:67              Constant:
0:67                1 (const int)
0:67              Constant:
0:67                2 (const int)
0:67          'ballot' ( temp highp 4-component vector of uint)
0:68      move second child to first child ( temp highp 4-component vector of uint)
0:68        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:68          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:68            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:68            Constant:
0:68              2 (const int)
0:68          Constant:
0:68            2 (const int)
0:68        subgroupPartitionedMulNV ( global highp 4-component vector of uint)
0:68          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:68            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:68              Constant:
0:68                3 (const int)
0:68            Constant:
0:68              2 (const int)
0:68          'ballot' ( temp highp 4-component vector of uint)
0:70      move second child to first child ( temp highp float)
0:70        direct index ( temp highp float)
0:70          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:70            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:70              Constant:
0:70                2 (const int)
0:70            Constant:
0:70              0 (const int)
0:70          Constant:
0:70            0 (const int)
0:70        subgroupPartitionedMinNV ( global highp float)
0:70          direct index ( temp highp float)
0:70            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:70                Constant:
0:70                  0 (const int)
0:70              Constant:
0:70                0 (const int)
0:70            Constant:
0:70              0 (const int)
0:70          'ballot' ( temp highp 4-component vector of uint)
0:71      move second child to first child ( temp highp 2-component vector of float)
0:71        vector swizzle ( temp highp 2-component vector of float)
0:71          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:71            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:71              Constant:
0:71                2 (const int)
0:71            Constant:
0:71              0 (const int)
0:71          Sequence
0:71            Constant:
0:71              0 (const int)
0:71            Constant:
0:71              1 (const int)
0:71        subgroupPartitionedMinNV ( global highp 2-component vector of float)
0:71          vector swizzle ( temp highp 2-component vector of float)
0:71            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:71                Constant:
0:71                  1 (const int)
0:71              Constant:
0:71                0 (const int)
0:71            Sequence
0:71              Constant:
0:71                0 (const int)
0:71              Constant:
0:71                1 (const int)
0:71          'ballot' ( temp highp 4-component vector of uint)
0:72      move second child to first child ( temp highp 3-component vector of float)
0:72        vector swizzle ( temp highp 3-component vector of float)
0:72          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:72            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:72              Constant:
0:72                2 (const int)
0:72            Constant:
0:72              0 (const int)
0:72          Sequence
0:72            Constant:
0:72              0 (const int)
0:72            Constant:
0:72              1 (const int)
0:72            Constant:
0:72              2 (const int)
0:72        subgroupPartitionedMinNV ( global highp 3-component vector of float)
0:72          vector swizzle ( temp highp 3-component vector of float)
0:72            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:72              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:72                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:72                Constant:
0:72                  2 (const int)
0:72              Constant:
0:72                0 (const int)
0:72            Sequence
0:72              Constant:
0:72                0 (const int)
0:72              Constant:
0:72                1 (const int)
0:72              Constant:
0:72                2 (const int)
0:72          'ballot' ( temp highp 4-component vector of uint)
0:73      move second child to first child ( temp highp 4-component vector of float)
0:73        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:73          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:73            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:73            Constant:
0:73              2 (const int)
0:73          Constant:
0:73            0 (const int)
0:73        subgroupPartitionedMinNV ( global highp 4-component vector of float)
0:73          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:73            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:73              Constant:
0:73                3 (const int)
0:73            Constant:
0:73              0 (const int)
0:73          'ballot' ( temp highp 4-component vector of uint)
0:75      move second child to first child ( temp highp int)
0:75        direct index ( temp highp int)
0:75          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:75            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:75              Constant:
0:75                3 (const int)
0:75            Constant:
0:75              1 (const int)
0:75          Constant:
0:75            0 (const int)
0:75        subgroupPartitionedMinNV ( global highp int)
0:75          direct index ( temp highp int)
0:75            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:75                Constant:
0:75                  0 (const int)
0:75              Constant:
0:75                1 (const int)
0:75            Constant:
0:75              0 (const int)
0:75          'ballot' ( temp highp 4-component vector of uint)
0:76      move second child to first child ( temp highp 2-component vector of int)
0:76        vector swizzle ( temp highp 2-component vector of int)
0:76          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:76            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:76              Constant:
0:76                3 (const int)
0:76            Constant:
0:76              1 (const int)
0:76          Sequence
0:76            Constant:
0:76              0 (const int)
0:76            Constant:
0:76              1 (const int)
0:76        subgroupPartitionedMinNV ( global highp 2-component vector of int)
0:76          vector swizzle ( temp highp 2-component vector of int)
0:76            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:76                Constant:
0:76                  1 (const int)
0:76              Constant:
0:76                1 (const int)
0:76            Sequence
0:76              Constant:
0:76                0 (const int)
0:76              Constant:
0:76                1 (const int)
0:76          'ballot' ( temp highp 4-component vector of uint)
0:77      move second child to first child ( temp highp 3-component vector of int)
0:77        vector swizzle ( temp highp 3-component vector of int)
0:77          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:77            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:77              Constant:
0:77                3 (const int)
0:77            Constant:
0:77              1 (const int)
0:77          Sequence
0:77            Constant:
0:77              0 (const int)
0:77            Constant:
0:77              1 (const int)
0:77            Constant:
0:77              2 (const int)
0:77        subgroupPartitionedMinNV ( global highp 3-component vector of int)
0:77          vector swizzle ( temp highp 3-component vector of int)
0:77            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:77              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:77                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:77                Constant:
0:77                  2 (const int)
0:77              Constant:
0:77                1 (const int)
0:77            Sequence
0:77              Constant:
0:77                0 (const int)
0:77              Constant:
0:77                1 (const int)
0:77              Constant:
0:77                2 (const int)
0:77          'ballot' ( temp highp 4-component vector of uint)
0:78      move second child to first child ( temp highp 4-component vector of int)
0:78        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:78          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:78            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:78            Constant:
0:78              3 (const int)
0:78          Constant:
0:78            1 (const int)
0:78        subgroupPartitionedMinNV ( global highp 4-component vector of int)
0:78          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:78            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:78              Constant:
0:78                3 (const int)
0:78            Constant:
0:78              1 (const int)
0:78          'ballot' ( temp highp 4-component vector of uint)
0:80      move second child to first child ( temp highp uint)
0:80        direct index ( temp highp uint)
0:80          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:80            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:80              Constant:
0:80                3 (const int)
0:80            Constant:
0:80              2 (const int)
0:80          Constant:
0:80            0 (const int)
0:80        subgroupPartitionedMinNV ( global highp uint)
0:80          direct index ( temp highp uint)
0:80            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:80                Constant:
0:80                  0 (const int)
0:80              Constant:
0:80                2 (const int)
0:80            Constant:
0:80              0 (const int)
0:80          'ballot' ( temp highp 4-component vector of uint)
0:81      move second child to first child ( temp highp 2-component vector of uint)
0:81        vector swizzle ( temp highp 2-component vector of uint)
0:81          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:81            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:81              Constant:
0:81                3 (const int)
0:81            Constant:
0:81              2 (const int)
0:81          Sequence
0:81            Constant:
0:81              0 (const int)
0:81            Constant:
0:81              1 (const int)
0:81        subgroupPartitionedMinNV ( global highp 2-component vector of uint)
0:81          vector swizzle ( temp highp 2-component vector of uint)
0:81            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:81                Constant:
0:81                  1 (const int)
0:81              Constant:
0:81                2 (const int)
0:81            Sequence
0:81              Constant:
0:81                0 (const int)
0:81              Constant:
0:81                1 (const int)
0:81          'ballot' ( temp highp 4-component vector of uint)
0:82      move second child to first child ( temp highp 3-component vector of uint)
0:82        vector swizzle ( temp highp 3-component vector of uint)
0:82          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:82            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:82              Constant:
0:82                3 (const int)
0:82            Constant:
0:82              2 (const int)
0:82          Sequence
0:82            Constant:
0:82              0 (const int)
0:82            Constant:
0:82              1 (const int)
0:82            Constant:
0:82              2 (const int)
0:82        subgroupPartitionedMinNV ( global highp 3-component vector of uint)
0:82          vector swizzle ( temp highp 3-component vector of uint)
0:82            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:82              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:82                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:82                Constant:
0:82                  2 (const int)
0:82              Constant:
0:82                2 (const int)
0:82            Sequence
0:82              Constant:
0:82                0 (const int)
0:82              Constant:
0:82                1 (const int)
0:82              Constant:
0:82                2 (const int)
0:82          'ballot' ( temp highp 4-component vector of uint)
0:83      move second child to first child ( temp highp 4-component vector of uint)
0:83        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:83          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:83            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:83            Constant:
0:83              3 (const int)
0:83          Constant:
0:83            2 (const int)
0:83        subgroupPartitionedMinNV ( global highp 4-component vector of uint)
0:83          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:83            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:83              Constant:
0:83                3 (const int)
0:83            Constant:
0:83              2 (const int)
0:83          'ballot' ( temp highp 4-component vector of uint)
0:85      move second child to first child ( temp highp float)
0:85        direct index ( temp highp float)
0:85          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:85            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:85              Constant:
0:85                3 (const int)
0:85            Constant:
0:85              0 (const int)
0:85          Constant:
0:85            0 (const int)
0:85        subgroupPartitionedMaxNV ( global highp float)
0:85          direct index ( temp highp float)
0:85            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:85                Constant:
0:85                  0 (const int)
0:85              Constant:
0:85                0 (const int)
0:85            Constant:
0:85              0 (const int)
0:85          'ballot' ( temp highp 4-component vector of uint)
0:86      move second child to first child ( temp highp 2-component vector of float)
0:86        vector swizzle ( temp highp 2-component vector of float)
0:86          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:86            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:86              Constant:
0:86                3 (const int)
0:86            Constant:
0:86              0 (const int)
0:86          Sequence
0:86            Constant:
0:86              0 (const int)
0:86            Constant:
0:86              1 (const int)
0:86        subgroupPartitionedMaxNV ( global highp 2-component vector of float)
0:86          vector swizzle ( temp highp 2-component vector of float)
0:86            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:86                Constant:
0:86                  1 (const int)
0:86              Constant:
0:86                0 (const int)
0:86            Sequence
0:86              Constant:
0:86                0 (const int)
0:86              Constant:
0:86                1 (const int)
0:86          'ballot' ( temp highp 4-component vector of uint)
0:87      move second child to first child ( temp highp 3-component vector of float)
0:87        vector swizzle ( temp highp 3-component vector of float)
0:87          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:87            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:87              Constant:
0:87                3 (const int)
0:87            Constant:
0:87              0 (const int)
0:87          Sequence
0:87            Constant:
0:87              0 (const int)
0:87            Constant:
0:87              1 (const int)
0:87            Constant:
0:87              2 (const int)
0:87        subgroupPartitionedMaxNV ( global highp 3-component vector of float)
0:87          vector swizzle ( temp highp 3-component vector of float)
0:87            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:87              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:87                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:87                Constant:
0:87                  2 (const int)
0:87              Constant:
0:87                0 (const int)
0:87            Sequence
0:87              Constant:
0:87                0 (const int)
0:87              Constant:
0:87                1 (const int)
0:87              Constant:
0:87                2 (const int)
0:87          'ballot' ( temp highp 4-component vector of uint)
0:88      move second child to first child ( temp highp 4-component vector of float)
0:88        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:88          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:88            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:88            Constant:
0:88              3 (const int)
0:88          Constant:
0:88            0 (const int)
0:88        subgroupPartitionedMaxNV ( global highp 4-component vector of float)
0:88          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:88            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:88              Constant:
0:88                3 (const int)
0:88            Constant:
0:88              0 (const int)
0:88          'ballot' ( temp highp 4-component vector of uint)
0:90      move second child to first child ( temp highp int)
0:90        direct index ( temp highp int)
0:90          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:90            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:90              Constant:
0:90                0 (const int)
0:90            Constant:
0:90              1 (const int)
0:90          Constant:
0:90            0 (const int)
0:90        subgroupPartitionedMaxNV ( global highp int)
0:90          direct index ( temp highp int)
0:90            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:90              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:90                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:90                Constant:
0:90                  0 (const int)
0:90              Constant:
0:90                1 (const int)
0:90            Constant:
0:90              0 (const int)
0:90          'ballot' ( temp highp 4-component vector of uint)
0:91      move second child to first child ( temp highp 2-component vector of int)
0:91        vector swizzle ( temp highp 2-component vector of int)
0:91          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:91            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:91              Constant:
0:91                0 (const int)
0:91            Constant:
0:91              1 (const int)
0:91          Sequence
0:91            Constant:
0:91              0 (const int)
0:91            Constant:
0:91              1 (const int)
0:91        subgroupPartitionedMaxNV ( global highp 2-component vector of int)
0:91          vector swizzle ( temp highp 2-component vector of int)
0:91            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:91              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:91                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:91                Constant:
0:91                  1 (const int)
0:91              Constant:
0:91                1 (const int)
0:91            Sequence
0:91              Constant:
0:91                0 (const int)
0:91              Constant:
0:91                1 (const int)
0:91          'ballot' ( temp highp 4-component vector of uint)
0:92      move second child to first child ( temp highp 3-component vector of int)
0:92        vector swizzle ( temp highp 3-component vector of int)
0:92          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:92            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:92              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:92              Constant:
0:92                0 (const int)
0:92            Constant:
0:92              1 (const int)
0:92          Sequence
0:92            Constant:
0:92              0 (const int)
0:92            Constant:
0:92              1 (const int)
0:92            Constant:
0:92              2 (const int)
0:92        subgroupPartitionedMaxNV ( global highp 3-component vector of int)
0:92          vector swizzle ( temp highp 3-component vector of int)
0:92            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:92              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:92                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:92                Constant:
0:92                  2 (const int)
0:92              Constant:
0:92                1 (const int)
0:92            Sequence
0:92              Constant:
0:92                0 (const int)
0:92              Constant:
0:92                1 (const int)
0:92              Constant:
0:92                2 (const int)
0:92          'ballot' ( temp highp 4-component vector of uint)
0:93      move second child to first child ( temp highp 4-component vector of int)
0:93        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:93          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:93            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:93            Constant:
0:93              0 (const int)
0:93          Constant:
0:93            1 (const int)
0:93        subgroupPartitionedMaxNV ( global highp 4-component vector of int)
0:93          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:93            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:93              Constant:
0:93                3 (const int)
0:93            Constant:
0:93              1 (const int)
0:93          'ballot' ( temp highp 4-component vector of uint)
0:95      move second child to first child ( temp highp uint)
0:95        direct index ( temp highp uint)
0:95          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:95            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:95              Constant:
0:95                0 (const int)
0:95            Constant:
0:95              2 (const int)
0:95          Constant:
0:95            0 (const int)
0:95        subgroupPartitionedMaxNV ( global highp uint)
0:95          direct index ( temp highp uint)
0:95            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:95                Constant:
0:95                  0 (const int)
0:95              Constant:
0:95                2 (const int)
0:95            Constant:
0:95              0 (const int)
0:95          'ballot' ( temp highp 4-component vector of uint)
0:96      move second child to first child ( temp highp 2-component vector of uint)
0:96        vector swizzle ( temp highp 2-component vector of uint)
0:96          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:96            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:96              Constant:
0:96                0 (const int)
0:96            Constant:
0:96              2 (const int)
0:96          Sequence
0:96            Constant:
0:96              0 (const int)
0:96            Constant:
0:96              1 (const int)
0:96        subgroupPartitionedMaxNV ( global highp 2-component vector of uint)
0:96          vector swizzle ( temp highp 2-component vector of uint)
0:96            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:96                Constant:
0:96                  1 (const int)
0:96              Constant:
0:96                2 (const int)
0:96            Sequence
0:96              Constant:
0:96                0 (const int)
0:96              Constant:
0:96                1 (const int)
0:96          'ballot' ( temp highp 4-component vector of uint)
0:97      move second child to first child ( temp highp 3-component vector of uint)
0:97        vector swizzle ( temp highp 3-component vector of uint)
0:97          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:97            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:97              Constant:
0:97                0 (const int)
0:97            Constant:
0:97              2 (const int)
0:97          Sequence
0:97            Constant:
0:97              0 (const int)
0:97            Constant:
0:97              1 (const int)
0:97            Constant:
0:97              2 (const int)
0:97        subgroupPartitionedMaxNV ( global highp 3-component vector of uint)
0:97          vector swizzle ( temp highp 3-component vector of uint)
0:97            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:97              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:97                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:97                Constant:
0:97                  2 (const int)
0:97              Constant:
0:97                2 (const int)
0:97            Sequence
0:97              Constant:
0:97                0 (const int)
0:97              Constant:
0:97                1 (const int)
0:97              Constant:
0:97                2 (const int)
0:97          'ballot' ( temp highp 4-component vector of uint)
0:98      move second child to first child ( temp highp 4-component vector of uint)
0:98        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:98          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:98            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:98            Constant:
0:98              0 (const int)
0:98          Constant:
0:98            2 (const int)
0:98        subgroupPartitionedMaxNV ( global highp 4-component vector of uint)
0:98          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:98            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:98              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:98              Constant:
0:98                3 (const int)
0:98            Constant:
0:98              2 (const int)
0:98          'ballot' ( temp highp 4-component vector of uint)
0:100      move second child to first child ( temp highp int)
0:100        direct index ( temp highp int)
0:100          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:100            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:100              Constant:
0:100                0 (const int)
0:100            Constant:
0:100              1 (const int)
0:100          Constant:
0:100            0 (const int)
0:100        subgroupPartitionedAndNV ( global highp int)
0:100          direct index ( temp highp int)
0:100            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:100                Constant:
0:100                  0 (const int)
0:100              Constant:
0:100                1 (const int)
0:100            Constant:
0:100              0 (const int)
0:100          'ballot' ( temp highp 4-component vector of uint)
0:101      move second child to first child ( temp highp 2-component vector of int)
0:101        vector swizzle ( temp highp 2-component vector of int)
0:101          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:101            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:101              Constant:
0:101                0 (const int)
0:101            Constant:
0:101              1 (const int)
0:101          Sequence
0:101            Constant:
0:101              0 (const int)
0:101            Constant:
0:101              1 (const int)
0:101        subgroupPartitionedAndNV ( global highp 2-component vector of int)
0:101          vector swizzle ( temp highp 2-component vector of int)
0:101            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:101                Constant:
0:101                  1 (const int)
0:101              Constant:
0:101                1 (const int)
0:101            Sequence
0:101              Constant:
0:101                0 (const int)
0:101              Constant:
0:101                1 (const int)
0:101          'ballot' ( temp highp 4-component vector of uint)
0:102      move second child to first child ( temp highp 3-component vector of int)
0:102        vector swizzle ( temp highp 3-component vector of int)
0:102          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:102            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:102              Constant:
0:102                0 (const int)
0:102            Constant:
0:102              1 (const int)
0:102          Sequence
0:102            Constant:
0:102              0 (const int)
0:102            Constant:
0:102              1 (const int)
0:102            Constant:
0:102              2 (const int)
0:102        subgroupPartitionedAndNV ( global highp 3-component vector of int)
0:102          vector swizzle ( temp highp 3-component vector of int)
0:102            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:102              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:102                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:102                Constant:
0:102                  2 (const int)
0:102              Constant:
0:102                1 (const int)
0:102            Sequence
0:102              Constant:
0:102                0 (const int)
0:102              Constant:
0:102                1 (const int)
0:102              Constant:
0:102                2 (const int)
0:102          'ballot' ( temp highp 4-component vector of uint)
0:103      move second child to first child ( temp highp 4-component vector of int)
0:103        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:103          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:103            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:103            Constant:
0:103              0 (const int)
0:103          Constant:
0:103            1 (const int)
0:103        subgroupPartitionedAndNV ( global highp 4-component vector of int)
0:103          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:103            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:103              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:103              Constant:
0:103                3 (const int)
0:103            Constant:
0:103              1 (const int)
0:103          'ballot' ( temp highp 4-component vector of uint)
0:105      move second child to first child ( temp highp uint)
0:105        direct index ( temp highp uint)
0:105          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:105            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:105              Constant:
0:105                1 (const int)
0:105            Constant:
0:105              2 (const int)
0:105          Constant:
0:105            0 (const int)
0:105        subgroupPartitionedAndNV ( global highp uint)
0:105          direct index ( temp highp uint)
0:105            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:105              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:105                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:105                Constant:
0:105                  0 (const int)
0:105              Constant:
0:105                2 (const int)
0:105            Constant:
0:105              0 (const int)
0:105          'ballot' ( temp highp 4-component vector of uint)
0:106      move second child to first child ( temp highp 2-component vector of uint)
0:106        vector swizzle ( temp highp 2-component vector of uint)
0:106          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:106            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:106              Constant:
0:106                1 (const int)
0:106            Constant:
0:106              2 (const int)
0:106          Sequence
0:106            Constant:
0:106              0 (const int)
0:106            Constant:
0:106              1 (const int)
0:106        subgroupPartitionedAndNV ( global highp 2-component vector of uint)
0:106          vector swizzle ( temp highp 2-component vector of uint)
0:106            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:106                Constant:
0:106                  1 (const int)
0:106              Constant:
0:106                2 (const int)
0:106            Sequence
0:106              Constant:
0:106                0 (const int)
0:106              Constant:
0:106                1 (const int)
0:106          'ballot' ( temp highp 4-component vector of uint)
0:107      move second child to first child ( temp highp 3-component vector of uint)
0:107        vector swizzle ( temp highp 3-component vector of uint)
0:107          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:107            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:107              Constant:
0:107                1 (const int)
0:107            Constant:
0:107              2 (const int)
0:107          Sequence
0:107            Constant:
0:107              0 (const int)
0:107            Constant:
0:107              1 (const int)
0:107            Constant:
0:107              2 (const int)
0:107        subgroupPartitionedAndNV ( global highp 3-component vector of uint)
0:107          vector swizzle ( temp highp 3-component vector of uint)
0:107            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:107              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:107                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:107                Constant:
0:107                  2 (const int)
0:107              Constant:
0:107                2 (const int)
0:107            Sequence
0:107              Constant:
0:107                0 (const int)
0:107              Constant:
0:107                1 (const int)
0:107              Constant:
0:107                2 (const int)
0:107          'ballot' ( temp highp 4-component vector of uint)
0:108      move second child to first child ( temp highp 4-component vector of uint)
0:108        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:108          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:108            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:108            Constant:
0:108              1 (const int)
0:108          Constant:
0:108            2 (const int)
0:108        subgroupPartitionedAndNV ( global highp 4-component vector of uint)
0:108          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:108            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:108              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:108              Constant:
0:108                3 (const int)
0:108            Constant:
0:108              2 (const int)
0:108          'ballot' ( temp highp 4-component vector of uint)
0:110      move second child to first child ( temp highp int)
0:110        direct index ( temp highp int)
0:110          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:110            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:110              Constant:
0:110                1 (const int)
0:110            Constant:
0:110              1 (const int)
0:110          Constant:
0:110            0 (const int)
0:110        Convert bool to int ( temp highp int)
0:110          subgroupPartitionedAndNV ( global bool, operation at highp)
0:110            Compare Less Than ( temp bool)
0:110              direct index ( temp highp int)
0:110                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:110                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:110                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:110                    Constant:
0:110                      0 (const int)
0:110                  Constant:
0:110                    1 (const int)
0:110                Constant:
0:110                  0 (const int)
0:110              Constant:
0:110                0 (const int)
0:110            'ballot' ( temp highp 4-component vector of uint)
0:111      move second child to first child ( temp highp 2-component vector of int)
0:111        vector swizzle ( temp highp 2-component vector of int)
0:111          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:111            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:111              Constant:
0:111                1 (const int)
0:111            Constant:
0:111              1 (const int)
0:111          Sequence
0:111            Constant:
0:111              0 (const int)
0:111            Constant:
0:111              1 (const int)
0:111        Convert bool to int ( temp highp 2-component vector of int)
0:111          subgroupPartitionedAndNV ( global 2-component vector of bool, operation at highp)
0:111            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:111              vector swizzle ( temp highp 2-component vector of int)
0:111                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:111                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:111                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:111                    Constant:
0:111                      1 (const int)
0:111                  Constant:
0:111                    1 (const int)
0:111                Sequence
0:111                  Constant:
0:111                    0 (const int)
0:111                  Constant:
0:111                    1 (const int)
0:111              Constant:
0:111                0 (const int)
0:111                0 (const int)
0:111            'ballot' ( temp highp 4-component vector of uint)
0:112      move second child to first child ( temp highp 3-component vector of int)
0:112        vector swizzle ( temp highp 3-component vector of int)
0:112          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:112            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:112              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:112              Constant:
0:112                1 (const int)
0:112            Constant:
0:112              1 (const int)
0:112          Sequence
0:112            Constant:
0:112              0 (const int)
0:112            Constant:
0:112              1 (const int)
0:112            Constant:
0:112              2 (const int)
0:112        Convert bool to int ( temp highp 3-component vector of int)
0:112          subgroupPartitionedAndNV ( global 3-component vector of bool, operation at highp)
0:112            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:112              vector swizzle ( temp highp 3-component vector of int)
0:112                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:112                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:112                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:112                    Constant:
0:112                      1 (const int)
0:112                  Constant:
0:112                    1 (const int)
0:112                Sequence
0:112                  Constant:
0:112                    0 (const int)
0:112                  Constant:
0:112                    1 (const int)
0:112                  Constant:
0:112                    2 (const int)
0:112              Constant:
0:112                0 (const int)
0:112                0 (const int)
0:112                0 (const int)
0:112            'ballot' ( temp highp 4-component vector of uint)
0:113      move second child to first child ( temp highp 4-component vector of int)
0:113        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:113          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:113            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:113            Constant:
0:113              1 (const int)
0:113          Constant:
0:113            1 (const int)
0:113        Convert bool to int ( temp highp 4-component vector of int)
0:113          subgroupPartitionedAndNV ( global 4-component vector of bool, operation at highp)
0:113            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:113              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:113                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:113                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:113                  Constant:
0:113                    1 (const int)
0:113                Constant:
0:113                  1 (const int)
0:113              Constant:
0:113                0 (const int)
0:113                0 (const int)
0:113                0 (const int)
0:113                0 (const int)
0:113            'ballot' ( temp highp 4-component vector of uint)
0:115      move second child to first child ( temp highp int)
0:115        direct index ( temp highp int)
0:115          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:115            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:115              Constant:
0:115                1 (const int)
0:115            Constant:
0:115              1 (const int)
0:115          Constant:
0:115            0 (const int)
0:115        subgroupPartitionedOrNV ( global highp int)
0:115          direct index ( temp highp int)
0:115            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:115                Constant:
0:115                  0 (const int)
0:115              Constant:
0:115                1 (const int)
0:115            Constant:
0:115              0 (const int)
0:115          'ballot' ( temp highp 4-component vector of uint)
0:116      move second child to first child ( temp highp 2-component vector of int)
0:116        vector swizzle ( temp highp 2-component vector of int)
0:116          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:116            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:116              Constant:
0:116                1 (const int)
0:116            Constant:
0:116              1 (const int)
0:116          Sequence
0:116            Constant:
0:116              0 (const int)
0:116            Constant:
0:116              1 (const int)
0:116        subgroupPartitionedOrNV ( global highp 2-component vector of int)
0:116          vector swizzle ( temp highp 2-component vector of int)
0:116            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:116              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:116                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:116                Constant:
0:116                  1 (const int)
0:116              Constant:
0:116                1 (const int)
0:116            Sequence
0:116              Constant:
0:116                0 (const int)
0:116              Constant:
0:116                1 (const int)
0:116          'ballot' ( temp highp 4-component vector of uint)
0:117      move second child to first child ( temp highp 3-component vector of int)
0:117        vector swizzle ( temp highp 3-component vector of int)
0:117          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:117            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:117              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:117              Constant:
0:117                1 (const int)
0:117            Constant:
0:117              1 (const int)
0:117          Sequence
0:117            Constant:
0:117              0 (const int)
0:117            Constant:
0:117              1 (const int)
0:117            Constant:
0:117              2 (const int)
0:117        subgroupPartitionedOrNV ( global highp 3-component vector of int)
0:117          vector swizzle ( temp highp 3-component vector of int)
0:117            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:117              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:117                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:117                Constant:
0:117                  2 (const int)
0:117              Constant:
0:117                1 (const int)
0:117            Sequence
0:117              Constant:
0:117                0 (const int)
0:117              Constant:
0:117                1 (const int)
0:117              Constant:
0:117                2 (const int)
0:117          'ballot' ( temp highp 4-component vector of uint)
0:118      move second child to first child ( temp highp 4-component vector of int)
0:118        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:118          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:118            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:118            Constant:
0:118              1 (const int)
0:118          Constant:
0:118            1 (const int)
0:118        subgroupPartitionedOrNV ( global highp 4-component vector of int)
0:118          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:118            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:118              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:118              Constant:
0:118                3 (const int)
0:118            Constant:
0:118              1 (const int)
0:118          'ballot' ( temp highp 4-component vector of uint)
0:120      move second child to first child ( temp highp uint)
0:120        direct index ( temp highp uint)
0:120          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:120            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:120              Constant:
0:120                2 (const int)
0:120            Constant:
0:120              2 (const int)
0:120          Constant:
0:120            0 (const int)
0:120        subgroupPartitionedOrNV ( global highp uint)
0:120          direct index ( temp highp uint)
0:120            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:120              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:120                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:120                Constant:
0:120                  0 (const int)
0:120              Constant:
0:120                2 (const int)
0:120            Constant:
0:120              0 (const int)
0:120          'ballot' ( temp highp 4-component vector of uint)
0:121      move second child to first child ( temp highp 2-component vector of uint)
0:121        vector swizzle ( temp highp 2-component vector of uint)
0:121          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:121            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:121              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:121              Constant:
0:121                2 (const int)
0:121            Constant:
0:121              2 (const int)
0:121          Sequence
0:121            Constant:
0:121              0 (const int)
0:121            Constant:
0:121              1 (const int)
0:121        subgroupPartitionedOrNV ( global highp 2-component vector of uint)
0:121          vector swizzle ( temp highp 2-component vector of uint)
0:121            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:121              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:121                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:121                Constant:
0:121                  1 (const int)
0:121              Constant:
0:121                2 (const int)
0:121            Sequence
0:121              Constant:
0:121                0 (const int)
0:121              Constant:
0:121                1 (const int)
0:121          'ballot' ( temp highp 4-component vector of uint)
0:122      move second child to first child ( temp highp 3-component vector of uint)
0:122        vector swizzle ( temp highp 3-component vector of uint)
0:122          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:122            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:122              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:122              Constant:
0:122                2 (const int)
0:122            Constant:
0:122              2 (const int)
0:122          Sequence
0:122            Constant:
0:122              0 (const int)
0:122            Constant:
0:122              1 (const int)
0:122            Constant:
0:122              2 (const int)
0:122        subgroupPartitionedOrNV ( global highp 3-component vector of uint)
0:122          vector swizzle ( temp highp 3-component vector of uint)
0:122            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:122              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:122                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:122                Constant:
0:122                  2 (const int)
0:122              Constant:
0:122                2 (const int)
0:122            Sequence
0:122              Constant:
0:122                0 (const int)
0:122              Constant:
0:122                1 (const int)
0:122              Constant:
0:122                2 (const int)
0:122          'ballot' ( temp highp 4-component vector of uint)
0:123      move second child to first child ( temp highp 4-component vector of uint)
0:123        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:123          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:123            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:123            Constant:
0:123              2 (const int)
0:123          Constant:
0:123            2 (const int)
0:123        subgroupPartitionedOrNV ( global highp 4-component vector of uint)
0:123          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:123            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:123              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:123              Constant:
0:123                3 (const int)
0:123            Constant:
0:123              2 (const int)
0:123          'ballot' ( temp highp 4-component vector of uint)
0:125      move second child to first child ( temp highp int)
0:125        direct index ( temp highp int)
0:125          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:125            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:125              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:125              Constant:
0:125                2 (const int)
0:125            Constant:
0:125              1 (const int)
0:125          Constant:
0:125            0 (const int)
0:125        Convert bool to int ( temp highp int)
0:125          subgroupPartitionedOrNV ( global bool, operation at highp)
0:125            Compare Less Than ( temp bool)
0:125              direct index ( temp highp int)
0:125                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:125                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:125                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:125                    Constant:
0:125                      0 (const int)
0:125                  Constant:
0:125                    1 (const int)
0:125                Constant:
0:125                  0 (const int)
0:125              Constant:
0:125                0 (const int)
0:125            'ballot' ( temp highp 4-component vector of uint)
0:126      move second child to first child ( temp highp 2-component vector of int)
0:126        vector swizzle ( temp highp 2-component vector of int)
0:126          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:126            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:126              Constant:
0:126                2 (const int)
0:126            Constant:
0:126              1 (const int)
0:126          Sequence
0:126            Constant:
0:126              0 (const int)
0:126            Constant:
0:126              1 (const int)
0:126        Convert bool to int ( temp highp 2-component vector of int)
0:126          subgroupPartitionedOrNV ( global 2-component vector of bool, operation at highp)
0:126            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:126              vector swizzle ( temp highp 2-component vector of int)
0:126                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:126                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:126                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:126                    Constant:
0:126                      1 (const int)
0:126                  Constant:
0:126                    1 (const int)
0:126                Sequence
0:126                  Constant:
0:126                    0 (const int)
0:126                  Constant:
0:126                    1 (const int)
0:126              Constant:
0:126                0 (const int)
0:126                0 (const int)
0:126            'ballot' ( temp highp 4-component vector of uint)
0:127      move second child to first child ( temp highp 3-component vector of int)
0:127        vector swizzle ( temp highp 3-component vector of int)
0:127          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:127            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:127              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:127              Constant:
0:127                2 (const int)
0:127            Constant:
0:127              1 (const int)
0:127          Sequence
0:127            Constant:
0:127              0 (const int)
0:127            Constant:
0:127              1 (const int)
0:127            Constant:
0:127              2 (const int)
0:127        Convert bool to int ( temp highp 3-component vector of int)
0:127          subgroupPartitionedOrNV ( global 3-component vector of bool, operation at highp)
0:127            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:127              vector swizzle ( temp highp 3-component vector of int)
0:127                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:127                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:127                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:127                    Constant:
0:127                      1 (const int)
0:127                  Constant:
0:127                    1 (const int)
0:127                Sequence
0:127                  Constant:
0:127                    0 (const int)
0:127                  Constant:
0:127                    1 (const int)
0:127                  Constant:
0:127                    2 (const int)
0:127              Constant:
0:127                0 (const int)
0:127                0 (const int)
0:127                0 (const int)
0:127            'ballot' ( temp highp 4-component vector of uint)
0:128      move second child to first child ( temp highp 4-component vector of int)
0:128        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:128          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:128            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:128            Constant:
0:128              2 (const int)
0:128          Constant:
0:128            1 (const int)
0:128        Convert bool to int ( temp highp 4-component vector of int)
0:128          subgroupPartitionedOrNV ( global 4-component vector of bool, operation at highp)
0:128            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:128              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:128                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:128                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:128                  Constant:
0:128                    1 (const int)
0:128                Constant:
0:128                  1 (const int)
0:128              Constant:
0:128                0 (const int)
0:128                0 (const int)
0:128                0 (const int)
0:128                0 (const int)
0:128            'ballot' ( temp highp 4-component vector of uint)
0:130      move second child to first child ( temp highp int)
0:130        direct index ( temp highp int)
0:130          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:130            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:130              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:130              Constant:
0:130                2 (const int)
0:130            Constant:
0:130              1 (const int)
0:130          Constant:
0:130            0 (const int)
0:130        subgroupPartitionedXorNV ( global highp int)
0:130          direct index ( temp highp int)
0:130            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:130              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:130                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:130                Constant:
0:130                  0 (const int)
0:130              Constant:
0:130                1 (const int)
0:130            Constant:
0:130              0 (const int)
0:130          'ballot' ( temp highp 4-component vector of uint)
0:131      move second child to first child ( temp highp 2-component vector of int)
0:131        vector swizzle ( temp highp 2-component vector of int)
0:131          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:131            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:131              Constant:
0:131                2 (const int)
0:131            Constant:
0:131              1 (const int)
0:131          Sequence
0:131            Constant:
0:131              0 (const int)
0:131            Constant:
0:131              1 (const int)
0:131        subgroupPartitionedXorNV ( global highp 2-component vector of int)
0:131          vector swizzle ( temp highp 2-component vector of int)
0:131            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:131              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:131                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:131                Constant:
0:131                  1 (const int)
0:131              Constant:
0:131                1 (const int)
0:131            Sequence
0:131              Constant:
0:131                0 (const int)
0:131              Constant:
0:131                1 (const int)
0:131          'ballot' ( temp highp 4-component vector of uint)
0:132      move second child to first child ( temp highp 3-component vector of int)
0:132        vector swizzle ( temp highp 3-component vector of int)
0:132          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:132            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:132              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:132              Constant:
0:132                2 (const int)
0:132            Constant:
0:132              1 (const int)
0:132          Sequence
0:132            Constant:
0:132              0 (const int)
0:132            Constant:
0:132              1 (const int)
0:132            Constant:
0:132              2 (const int)
0:132        subgroupPartitionedXorNV ( global highp 3-component vector of int)
0:132          vector swizzle ( temp highp 3-component vector of int)
0:132            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:132              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:132                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:132                Constant:
0:132                  2 (const int)
0:132              Constant:
0:132                1 (const int)
0:132            Sequence
0:132              Constant:
0:132                0 (const int)
0:132              Constant:
0:132                1 (const int)
0:132              Constant:
0:132                2 (const int)
0:132          'ballot' ( temp highp 4-component vector of uint)
0:133      move second child to first child ( temp highp 4-component vector of int)
0:133        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:133          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:133            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:133            Constant:
0:133              2 (const int)
0:133          Constant:
0:133            1 (const int)
0:133        subgroupPartitionedXorNV ( global highp 4-component vector of int)
0:133          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:133            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:133              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:133              Constant:
0:133                3 (const int)
0:133            Constant:
0:133              1 (const int)
0:133          'ballot' ( temp highp 4-component vector of uint)
0:135      move second child to first child ( temp highp uint)
0:135        direct index ( temp highp uint)
0:135          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:135            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:135              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:135              Constant:
0:135                2 (const int)
0:135            Constant:
0:135              2 (const int)
0:135          Constant:
0:135            0 (const int)
0:135        subgroupPartitionedXorNV ( global highp uint)
0:135          direct index ( temp highp uint)
0:135            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:135              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:135                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:135                Constant:
0:135                  0 (const int)
0:135              Constant:
0:135                2 (const int)
0:135            Constant:
0:135              0 (const int)
0:135          'ballot' ( temp highp 4-component vector of uint)
0:136      move second child to first child ( temp highp 2-component vector of uint)
0:136        vector swizzle ( temp highp 2-component vector of uint)
0:136          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:136            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:136              Constant:
0:136                2 (const int)
0:136            Constant:
0:136              2 (const int)
0:136          Sequence
0:136            Constant:
0:136              0 (const int)
0:136            Constant:
0:136              1 (const int)
0:136        subgroupPartitionedXorNV ( global highp 2-component vector of uint)
0:136          vector swizzle ( temp highp 2-component vector of uint)
0:136            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:136              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:136                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:136                Constant:
0:136                  1 (const int)
0:136              Constant:
0:136                2 (const int)
0:136            Sequence
0:136              Constant:
0:136                0 (const int)
0:136              Constant:
0:136                1 (const int)
0:136          'ballot' ( temp highp 4-component vector of uint)
0:137      move second child to first child ( temp highp 3-component vector of uint)
0:137        vector swizzle ( temp highp 3-component vector of uint)
0:137          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:137            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:137              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:137              Constant:
0:137                2 (const int)
0:137            Constant:
0:137              2 (const int)
0:137          Sequence
0:137            Constant:
0:137              0 (const int)
0:137            Constant:
0:137              1 (const int)
0:137            Constant:
0:137              2 (const int)
0:137        subgroupPartitionedXorNV ( global highp 3-component vector of uint)
0:137          vector swizzle ( temp highp 3-component vector of uint)
0:137            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:137              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:137                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:137                Constant:
0:137                  2 (const int)
0:137              Constant:
0:137                2 (const int)
0:137            Sequence
0:137              Constant:
0:137                0 (const int)
0:137              Constant:
0:137                1 (const int)
0:137              Constant:
0:137                2 (const int)
0:137          'ballot' ( temp highp 4-component vector of uint)
0:138      move second child to first child ( temp highp 4-component vector of uint)
0:138        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:138          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:138            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:138            Constant:
0:138              2 (const int)
0:138          Constant:
0:138            2 (const int)
0:138        subgroupPartitionedXorNV ( global highp 4-component vector of uint)
0:138          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:138            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:138              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:138              Constant:
0:138                3 (const int)
0:138            Constant:
0:138              2 (const int)
0:138          'ballot' ( temp highp 4-component vector of uint)
0:140      move second child to first child ( temp highp int)
0:140        direct index ( temp highp int)
0:140          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:140            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:140              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:140              Constant:
0:140                3 (const int)
0:140            Constant:
0:140              1 (const int)
0:140          Constant:
0:140            0 (const int)
0:140        Convert bool to int ( temp highp int)
0:140          subgroupPartitionedXorNV ( global bool, operation at highp)
0:140            Compare Less Than ( temp bool)
0:140              direct index ( temp highp int)
0:140                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:140                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:140                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:140                    Constant:
0:140                      0 (const int)
0:140                  Constant:
0:140                    1 (const int)
0:140                Constant:
0:140                  0 (const int)
0:140              Constant:
0:140                0 (const int)
0:140            'ballot' ( temp highp 4-component vector of uint)
0:141      move second child to first child ( temp highp 2-component vector of int)
0:141        vector swizzle ( temp highp 2-component vector of int)
0:141          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:141            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:141              Constant:
0:141                3 (const int)
0:141            Constant:
0:141              1 (const int)
0:141          Sequence
0:141            Constant:
0:141              0 (const int)
0:141            Constant:
0:141              1 (const int)
0:141        Convert bool to int ( temp highp 2-component vector of int)
0:141          subgroupPartitionedXorNV ( global 2-component vector of bool, operation at highp)
0:141            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:141              vector swizzle ( temp highp 2-component vector of int)
0:141                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:141                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:141                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:141                    Constant:
0:141                      1 (const int)
0:141                  Constant:
0:141                    1 (const int)
0:141                Sequence
0:141                  Constant:
0:141                    0 (const int)
0:141                  Constant:
0:141                    1 (const int)
0:141              Constant:
0:141                0 (const int)
0:141                0 (const int)
0:141            'ballot' ( temp highp 4-component vector of uint)
0:142      move second child to first child ( temp highp 3-component vector of int)
0:142        vector swizzle ( temp highp 3-component vector of int)
0:142          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:142            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:142              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:142              Constant:
0:142                3 (const int)
0:142            Constant:
0:142              1 (const int)
0:142          Sequence
0:142            Constant:
0:142              0 (const int)
0:142            Constant:
0:142              1 (const int)
0:142            Constant:
0:142              2 (const int)
0:142        Convert bool to int ( temp highp 3-component vector of int)
0:142          subgroupPartitionedXorNV ( global 3-component vector of bool, operation at highp)
0:142            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:142              vector swizzle ( temp highp 3-component vector of int)
0:142                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:142                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:142                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:142                    Constant:
0:142                      1 (const int)
0:142                  Constant:
0:142                    1 (const int)
0:142                Sequence
0:142                  Constant:
0:142                    0 (const int)
0:142                  Constant:
0:142                    1 (const int)
0:142                  Constant:
0:142                    2 (const int)
0:142              Constant:
0:142                0 (const int)
0:142                0 (const int)
0:142                0 (const int)
0:142            'ballot' ( temp highp 4-component vector of uint)
0:143      move second child to first child ( temp highp 4-component vector of int)
0:143        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:143          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:143            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:143            Constant:
0:143              3 (const int)
0:143          Constant:
0:143            1 (const int)
0:143        Convert bool to int ( temp highp 4-component vector of int)
0:143          subgroupPartitionedXorNV ( global 4-component vector of bool, operation at highp)
0:143            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:143              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:143                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:143                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:143                  Constant:
0:143                    1 (const int)
0:143                Constant:
0:143                  1 (const int)
0:143              Constant:
0:143                0 (const int)
0:143                0 (const int)
0:143                0 (const int)
0:143                0 (const int)
0:143            'ballot' ( temp highp 4-component vector of uint)
0:145      move second child to first child ( temp highp float)
0:145        direct index ( temp highp float)
0:145          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:145            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:145              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:145              Constant:
0:145                3 (const int)
0:145            Constant:
0:145              0 (const int)
0:145          Constant:
0:145            0 (const int)
0:145        subgroupPartitionedInclusiveAddNV ( global highp float)
0:145          direct index ( temp highp float)
0:145            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:145              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:145                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:145                Constant:
0:145                  0 (const int)
0:145              Constant:
0:145                0 (const int)
0:145            Constant:
0:145              0 (const int)
0:145          'ballot' ( temp highp 4-component vector of uint)
0:146      move second child to first child ( temp highp 2-component vector of float)
0:146        vector swizzle ( temp highp 2-component vector of float)
0:146          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:146            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:146              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:146              Constant:
0:146                3 (const int)
0:146            Constant:
0:146              0 (const int)
0:146          Sequence
0:146            Constant:
0:146              0 (const int)
0:146            Constant:
0:146              1 (const int)
0:146        subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of float)
0:146          vector swizzle ( temp highp 2-component vector of float)
0:146            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:146              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:146                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:146                Constant:
0:146                  1 (const int)
0:146              Constant:
0:146                0 (const int)
0:146            Sequence
0:146              Constant:
0:146                0 (const int)
0:146              Constant:
0:146                1 (const int)
0:146          'ballot' ( temp highp 4-component vector of uint)
0:147      move second child to first child ( temp highp 3-component vector of float)
0:147        vector swizzle ( temp highp 3-component vector of float)
0:147          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:147            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:147              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:147              Constant:
0:147                3 (const int)
0:147            Constant:
0:147              0 (const int)
0:147          Sequence
0:147            Constant:
0:147              0 (const int)
0:147            Constant:
0:147              1 (const int)
0:147            Constant:
0:147              2 (const int)
0:147        subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of float)
0:147          vector swizzle ( temp highp 3-component vector of float)
0:147            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:147              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:147                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:147                Constant:
0:147                  2 (const int)
0:147              Constant:
0:147                0 (const int)
0:147            Sequence
0:147              Constant:
0:147                0 (const int)
0:147              Constant:
0:147                1 (const int)
0:147              Constant:
0:147                2 (const int)
0:147          'ballot' ( temp highp 4-component vector of uint)
0:148      move second child to first child ( temp highp 4-component vector of float)
0:148        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:148          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:148            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:148            Constant:
0:148              3 (const int)
0:148          Constant:
0:148            0 (const int)
0:148        subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of float)
0:148          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:148            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:148              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:148              Constant:
0:148                3 (const int)
0:148            Constant:
0:148              0 (const int)
0:148          'ballot' ( temp highp 4-component vector of uint)
0:150      move second child to first child ( temp highp int)
0:150        direct index ( temp highp int)
0:150          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:150            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:150              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:150              Constant:
0:150                3 (const int)
0:150            Constant:
0:150              1 (const int)
0:150          Constant:
0:150            0 (const int)
0:150        subgroupPartitionedInclusiveAddNV ( global highp int)
0:150          direct index ( temp highp int)
0:150            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:150              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:150                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:150                Constant:
0:150                  0 (const int)
0:150              Constant:
0:150                1 (const int)
0:150            Constant:
0:150              0 (const int)
0:150          'ballot' ( temp highp 4-component vector of uint)
0:151      move second child to first child ( temp highp 2-component vector of int)
0:151        vector swizzle ( temp highp 2-component vector of int)
0:151          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:151            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:151              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:151              Constant:
0:151                3 (const int)
0:151            Constant:
0:151              1 (const int)
0:151          Sequence
0:151            Constant:
0:151              0 (const int)
0:151            Constant:
0:151              1 (const int)
0:151        subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of int)
0:151          vector swizzle ( temp highp 2-component vector of int)
0:151            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:151              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:151                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:151                Constant:
0:151                  1 (const int)
0:151              Constant:
0:151                1 (const int)
0:151            Sequence
0:151              Constant:
0:151                0 (const int)
0:151              Constant:
0:151                1 (const int)
0:151          'ballot' ( temp highp 4-component vector of uint)
0:152      move second child to first child ( temp highp 3-component vector of int)
0:152        vector swizzle ( temp highp 3-component vector of int)
0:152          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:152            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:152              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:152              Constant:
0:152                3 (const int)
0:152            Constant:
0:152              1 (const int)
0:152          Sequence
0:152            Constant:
0:152              0 (const int)
0:152            Constant:
0:152              1 (const int)
0:152            Constant:
0:152              2 (const int)
0:152        subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of int)
0:152          vector swizzle ( temp highp 3-component vector of int)
0:152            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:152              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:152                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:152                Constant:
0:152                  2 (const int)
0:152              Constant:
0:152                1 (const int)
0:152            Sequence
0:152              Constant:
0:152                0 (const int)
0:152              Constant:
0:152                1 (const int)
0:152              Constant:
0:152                2 (const int)
0:152          'ballot' ( temp highp 4-component vector of uint)
0:153      move second child to first child ( temp highp 4-component vector of int)
0:153        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:153          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:153            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:153            Constant:
0:153              3 (const int)
0:153          Constant:
0:153            1 (const int)
0:153        subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of int)
0:153          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:153            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:153              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:153              Constant:
0:153                3 (const int)
0:153            Constant:
0:153              1 (const int)
0:153          'ballot' ( temp highp 4-component vector of uint)
0:155      move second child to first child ( temp highp uint)
0:155        direct index ( temp highp uint)
0:155          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:155            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:155              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:155              Constant:
0:155                3 (const int)
0:155            Constant:
0:155              2 (const int)
0:155          Constant:
0:155            0 (const int)
0:155        subgroupPartitionedInclusiveAddNV ( global highp uint)
0:155          direct index ( temp highp uint)
0:155            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:155              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:155                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:155                Constant:
0:155                  0 (const int)
0:155              Constant:
0:155                2 (const int)
0:155            Constant:
0:155              0 (const int)
0:155          'ballot' ( temp highp 4-component vector of uint)
0:156      move second child to first child ( temp highp 2-component vector of uint)
0:156        vector swizzle ( temp highp 2-component vector of uint)
0:156          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:156            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:156              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:156              Constant:
0:156                3 (const int)
0:156            Constant:
0:156              2 (const int)
0:156          Sequence
0:156            Constant:
0:156              0 (const int)
0:156            Constant:
0:156              1 (const int)
0:156        subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of uint)
0:156          vector swizzle ( temp highp 2-component vector of uint)
0:156            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:156              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:156                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:156                Constant:
0:156                  1 (const int)
0:156              Constant:
0:156                2 (const int)
0:156            Sequence
0:156              Constant:
0:156                0 (const int)
0:156              Constant:
0:156                1 (const int)
0:156          'ballot' ( temp highp 4-component vector of uint)
0:157      move second child to first child ( temp highp 3-component vector of uint)
0:157        vector swizzle ( temp highp 3-component vector of uint)
0:157          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:157            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:157              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:157              Constant:
0:157                3 (const int)
0:157            Constant:
0:157              2 (const int)
0:157          Sequence
0:157            Constant:
0:157              0 (const int)
0:157            Constant:
0:157              1 (const int)
0:157            Constant:
0:157              2 (const int)
0:157        subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of uint)
0:157          vector swizzle ( temp highp 3-component vector of uint)
0:157            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:157              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:157                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:157                Constant:
0:157                  2 (const int)
0:157              Constant:
0:157                2 (const int)
0:157            Sequence
0:157              Constant:
0:157                0 (const int)
0:157              Constant:
0:157                1 (const int)
0:157              Constant:
0:157                2 (const int)
0:157          'ballot' ( temp highp 4-component vector of uint)
0:158      move second child to first child ( temp highp 4-component vector of uint)
0:158        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:158          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:158            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:158            Constant:
0:158              3 (const int)
0:158          Constant:
0:158            2 (const int)
0:158        subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of uint)
0:158          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:158            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:158              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:158              Constant:
0:158                3 (const int)
0:158            Constant:
0:158              2 (const int)
0:158          'ballot' ( temp highp 4-component vector of uint)
0:160      move second child to first child ( temp highp float)
0:160        direct index ( temp highp float)
0:160          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:160            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:160              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:160              Constant:
0:160                3 (const int)
0:160            Constant:
0:160              0 (const int)
0:160          Constant:
0:160            0 (const int)
0:160        subgroupPartitionedInclusiveMulNV ( global highp float)
0:160          direct index ( temp highp float)
0:160            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:160              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:160                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:160                Constant:
0:160                  0 (const int)
0:160              Constant:
0:160                0 (const int)
0:160            Constant:
0:160              0 (const int)
0:160          'ballot' ( temp highp 4-component vector of uint)
0:161      move second child to first child ( temp highp 2-component vector of float)
0:161        vector swizzle ( temp highp 2-component vector of float)
0:161          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:161            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:161              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:161              Constant:
0:161                3 (const int)
0:161            Constant:
0:161              0 (const int)
0:161          Sequence
0:161            Constant:
0:161              0 (const int)
0:161            Constant:
0:161              1 (const int)
0:161        subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of float)
0:161          vector swizzle ( temp highp 2-component vector of float)
0:161            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:161              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:161                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:161                Constant:
0:161                  1 (const int)
0:161              Constant:
0:161                0 (const int)
0:161            Sequence
0:161              Constant:
0:161                0 (const int)
0:161              Constant:
0:161                1 (const int)
0:161          'ballot' ( temp highp 4-component vector of uint)
0:162      move second child to first child ( temp highp 3-component vector of float)
0:162        vector swizzle ( temp highp 3-component vector of float)
0:162          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:162            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:162              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:162              Constant:
0:162                3 (const int)
0:162            Constant:
0:162              0 (const int)
0:162          Sequence
0:162            Constant:
0:162              0 (const int)
0:162            Constant:
0:162              1 (const int)
0:162            Constant:
0:162              2 (const int)
0:162        subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of float)
0:162          vector swizzle ( temp highp 3-component vector of float)
0:162            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:162              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:162                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:162                Constant:
0:162                  2 (const int)
0:162              Constant:
0:162                0 (const int)
0:162            Sequence
0:162              Constant:
0:162                0 (const int)
0:162              Constant:
0:162                1 (const int)
0:162              Constant:
0:162                2 (const int)
0:162          'ballot' ( temp highp 4-component vector of uint)
0:163      move second child to first child ( temp highp 4-component vector of float)
0:163        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:163          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:163            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:163            Constant:
0:163              3 (const int)
0:163          Constant:
0:163            0 (const int)
0:163        subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of float)
0:163          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:163            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:163              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:163              Constant:
0:163                3 (const int)
0:163            Constant:
0:163              0 (const int)
0:163          'ballot' ( temp highp 4-component vector of uint)
0:165      move second child to first child ( temp highp int)
0:165        direct index ( temp highp int)
0:165          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:165            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:165              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:165              Constant:
0:165                3 (const int)
0:165            Constant:
0:165              1 (const int)
0:165          Constant:
0:165            0 (const int)
0:165        subgroupPartitionedInclusiveMulNV ( global highp int)
0:165          direct index ( temp highp int)
0:165            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:165              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:165                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:165                Constant:
0:165                  0 (const int)
0:165              Constant:
0:165                1 (const int)
0:165            Constant:
0:165              0 (const int)
0:165          'ballot' ( temp highp 4-component vector of uint)
0:166      move second child to first child ( temp highp 2-component vector of int)
0:166        vector swizzle ( temp highp 2-component vector of int)
0:166          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:166            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:166              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:166              Constant:
0:166                3 (const int)
0:166            Constant:
0:166              1 (const int)
0:166          Sequence
0:166            Constant:
0:166              0 (const int)
0:166            Constant:
0:166              1 (const int)
0:166        subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of int)
0:166          vector swizzle ( temp highp 2-component vector of int)
0:166            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:166              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:166                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:166                Constant:
0:166                  1 (const int)
0:166              Constant:
0:166                1 (const int)
0:166            Sequence
0:166              Constant:
0:166                0 (const int)
0:166              Constant:
0:166                1 (const int)
0:166          'ballot' ( temp highp 4-component vector of uint)
0:167      move second child to first child ( temp highp 3-component vector of int)
0:167        vector swizzle ( temp highp 3-component vector of int)
0:167          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:167            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:167              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:167              Constant:
0:167                3 (const int)
0:167            Constant:
0:167              1 (const int)
0:167          Sequence
0:167            Constant:
0:167              0 (const int)
0:167            Constant:
0:167              1 (const int)
0:167            Constant:
0:167              2 (const int)
0:167        subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of int)
0:167          vector swizzle ( temp highp 3-component vector of int)
0:167            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:167              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:167                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:167                Constant:
0:167                  2 (const int)
0:167              Constant:
0:167                1 (const int)
0:167            Sequence
0:167              Constant:
0:167                0 (const int)
0:167              Constant:
0:167                1 (const int)
0:167              Constant:
0:167                2 (const int)
0:167          'ballot' ( temp highp 4-component vector of uint)
0:168      move second child to first child ( temp highp 4-component vector of int)
0:168        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:168          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:168            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:168            Constant:
0:168              3 (const int)
0:168          Constant:
0:168            1 (const int)
0:168        subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of int)
0:168          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:168            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:168              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:168              Constant:
0:168                3 (const int)
0:168            Constant:
0:168              1 (const int)
0:168          'ballot' ( temp highp 4-component vector of uint)
0:170      move second child to first child ( temp highp uint)
0:170        direct index ( temp highp uint)
0:170          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:170            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:170              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:170              Constant:
0:170                0 (const int)
0:170            Constant:
0:170              2 (const int)
0:170          Constant:
0:170            0 (const int)
0:170        subgroupPartitionedInclusiveMulNV ( global highp uint)
0:170          direct index ( temp highp uint)
0:170            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:170              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:170                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:170                Constant:
0:170                  0 (const int)
0:170              Constant:
0:170                2 (const int)
0:170            Constant:
0:170              0 (const int)
0:170          'ballot' ( temp highp 4-component vector of uint)
0:171      move second child to first child ( temp highp 2-component vector of uint)
0:171        vector swizzle ( temp highp 2-component vector of uint)
0:171          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:171            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:171              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:171              Constant:
0:171                0 (const int)
0:171            Constant:
0:171              2 (const int)
0:171          Sequence
0:171            Constant:
0:171              0 (const int)
0:171            Constant:
0:171              1 (const int)
0:171        subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of uint)
0:171          vector swizzle ( temp highp 2-component vector of uint)
0:171            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:171              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:171                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:171                Constant:
0:171                  1 (const int)
0:171              Constant:
0:171                2 (const int)
0:171            Sequence
0:171              Constant:
0:171                0 (const int)
0:171              Constant:
0:171                1 (const int)
0:171          'ballot' ( temp highp 4-component vector of uint)
0:172      move second child to first child ( temp highp 3-component vector of uint)
0:172        vector swizzle ( temp highp 3-component vector of uint)
0:172          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:172            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:172              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:172              Constant:
0:172                0 (const int)
0:172            Constant:
0:172              2 (const int)
0:172          Sequence
0:172            Constant:
0:172              0 (const int)
0:172            Constant:
0:172              1 (const int)
0:172            Constant:
0:172              2 (const int)
0:172        subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of uint)
0:172          vector swizzle ( temp highp 3-component vector of uint)
0:172            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:172              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:172                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:172                Constant:
0:172                  2 (const int)
0:172              Constant:
0:172                2 (const int)
0:172            Sequence
0:172              Constant:
0:172                0 (const int)
0:172              Constant:
0:172                1 (const int)
0:172              Constant:
0:172                2 (const int)
0:172          'ballot' ( temp highp 4-component vector of uint)
0:173      move second child to first child ( temp highp 4-component vector of uint)
0:173        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:173          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:173            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:173            Constant:
0:173              0 (const int)
0:173          Constant:
0:173            2 (const int)
0:173        subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of uint)
0:173          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:173            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:173              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:173              Constant:
0:173                3 (const int)
0:173            Constant:
0:173              2 (const int)
0:173          'ballot' ( temp highp 4-component vector of uint)
0:175      move second child to first child ( temp highp float)
0:175        direct index ( temp highp float)
0:175          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:175            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:175              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:175              Constant:
0:175                0 (const int)
0:175            Constant:
0:175              0 (const int)
0:175          Constant:
0:175            0 (const int)
0:175        subgroupPartitionedInclusiveMinNV ( global highp float)
0:175          direct index ( temp highp float)
0:175            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:175              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:175                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:175                Constant:
0:175                  0 (const int)
0:175              Constant:
0:175                0 (const int)
0:175            Constant:
0:175              0 (const int)
0:175          'ballot' ( temp highp 4-component vector of uint)
0:176      move second child to first child ( temp highp 2-component vector of float)
0:176        vector swizzle ( temp highp 2-component vector of float)
0:176          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:176            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:176              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:176              Constant:
0:176                0 (const int)
0:176            Constant:
0:176              0 (const int)
0:176          Sequence
0:176            Constant:
0:176              0 (const int)
0:176            Constant:
0:176              1 (const int)
0:176        subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of float)
0:176          vector swizzle ( temp highp 2-component vector of float)
0:176            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:176              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:176                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:176                Constant:
0:176                  1 (const int)
0:176              Constant:
0:176                0 (const int)
0:176            Sequence
0:176              Constant:
0:176                0 (const int)
0:176              Constant:
0:176                1 (const int)
0:176          'ballot' ( temp highp 4-component vector of uint)
0:177      move second child to first child ( temp highp 3-component vector of float)
0:177        vector swizzle ( temp highp 3-component vector of float)
0:177          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:177            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:177              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:177              Constant:
0:177                0 (const int)
0:177            Constant:
0:177              0 (const int)
0:177          Sequence
0:177            Constant:
0:177              0 (const int)
0:177            Constant:
0:177              1 (const int)
0:177            Constant:
0:177              2 (const int)
0:177        subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of float)
0:177          vector swizzle ( temp highp 3-component vector of float)
0:177            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:177              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:177                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:177                Constant:
0:177                  2 (const int)
0:177              Constant:
0:177                0 (const int)
0:177            Sequence
0:177              Constant:
0:177                0 (const int)
0:177              Constant:
0:177                1 (const int)
0:177              Constant:
0:177                2 (const int)
0:177          'ballot' ( temp highp 4-component vector of uint)
0:178      move second child to first child ( temp highp 4-component vector of float)
0:178        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:178          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:178            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:178            Constant:
0:178              0 (const int)
0:178          Constant:
0:178            0 (const int)
0:178        subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of float)
0:178          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:178            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:178              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:178              Constant:
0:178                3 (const int)
0:178            Constant:
0:178              0 (const int)
0:178          'ballot' ( temp highp 4-component vector of uint)
0:180      move second child to first child ( temp highp int)
0:180        direct index ( temp highp int)
0:180          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:180            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:180              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:180              Constant:
0:180                0 (const int)
0:180            Constant:
0:180              1 (const int)
0:180          Constant:
0:180            0 (const int)
0:180        subgroupPartitionedInclusiveMinNV ( global highp int)
0:180          direct index ( temp highp int)
0:180            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:180              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:180                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:180                Constant:
0:180                  0 (const int)
0:180              Constant:
0:180                1 (const int)
0:180            Constant:
0:180              0 (const int)
0:180          'ballot' ( temp highp 4-component vector of uint)
0:181      move second child to first child ( temp highp 2-component vector of int)
0:181        vector swizzle ( temp highp 2-component vector of int)
0:181          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:181            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:181              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:181              Constant:
0:181                0 (const int)
0:181            Constant:
0:181              1 (const int)
0:181          Sequence
0:181            Constant:
0:181              0 (const int)
0:181            Constant:
0:181              1 (const int)
0:181        subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of int)
0:181          vector swizzle ( temp highp 2-component vector of int)
0:181            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:181              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:181                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:181                Constant:
0:181                  1 (const int)
0:181              Constant:
0:181                1 (const int)
0:181            Sequence
0:181              Constant:
0:181                0 (const int)
0:181              Constant:
0:181                1 (const int)
0:181          'ballot' ( temp highp 4-component vector of uint)
0:182      move second child to first child ( temp highp 3-component vector of int)
0:182        vector swizzle ( temp highp 3-component vector of int)
0:182          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:182            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:182              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:182              Constant:
0:182                0 (const int)
0:182            Constant:
0:182              1 (const int)
0:182          Sequence
0:182            Constant:
0:182              0 (const int)
0:182            Constant:
0:182              1 (const int)
0:182            Constant:
0:182              2 (const int)
0:182        subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of int)
0:182          vector swizzle ( temp highp 3-component vector of int)
0:182            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:182              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:182                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:182                Constant:
0:182                  2 (const int)
0:182              Constant:
0:182                1 (const int)
0:182            Sequence
0:182              Constant:
0:182                0 (const int)
0:182              Constant:
0:182                1 (const int)
0:182              Constant:
0:182                2 (const int)
0:182          'ballot' ( temp highp 4-component vector of uint)
0:183      move second child to first child ( temp highp 4-component vector of int)
0:183        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:183          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:183            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:183            Constant:
0:183              0 (const int)
0:183          Constant:
0:183            1 (const int)
0:183        subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of int)
0:183          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:183            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:183              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:183              Constant:
0:183                3 (const int)
0:183            Constant:
0:183              1 (const int)
0:183          'ballot' ( temp highp 4-component vector of uint)
0:185      move second child to first child ( temp highp uint)
0:185        direct index ( temp highp uint)
0:185          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:185            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:185              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:185              Constant:
0:185                0 (const int)
0:185            Constant:
0:185              2 (const int)
0:185          Constant:
0:185            0 (const int)
0:185        subgroupPartitionedInclusiveMinNV ( global highp uint)
0:185          direct index ( temp highp uint)
0:185            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:185              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:185                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:185                Constant:
0:185                  0 (const int)
0:185              Constant:
0:185                2 (const int)
0:185            Constant:
0:185              0 (const int)
0:185          'ballot' ( temp highp 4-component vector of uint)
0:186      move second child to first child ( temp highp 2-component vector of uint)
0:186        vector swizzle ( temp highp 2-component vector of uint)
0:186          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:186            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:186              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:186              Constant:
0:186                0 (const int)
0:186            Constant:
0:186              2 (const int)
0:186          Sequence
0:186            Constant:
0:186              0 (const int)
0:186            Constant:
0:186              1 (const int)
0:186        subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of uint)
0:186          vector swizzle ( temp highp 2-component vector of uint)
0:186            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:186              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:186                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:186                Constant:
0:186                  1 (const int)
0:186              Constant:
0:186                2 (const int)
0:186            Sequence
0:186              Constant:
0:186                0 (const int)
0:186              Constant:
0:186                1 (const int)
0:186          'ballot' ( temp highp 4-component vector of uint)
0:187      move second child to first child ( temp highp 3-component vector of uint)
0:187        vector swizzle ( temp highp 3-component vector of uint)
0:187          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:187            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:187              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:187              Constant:
0:187                0 (const int)
0:187            Constant:
0:187              2 (const int)
0:187          Sequence
0:187            Constant:
0:187              0 (const int)
0:187            Constant:
0:187              1 (const int)
0:187            Constant:
0:187              2 (const int)
0:187        subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of uint)
0:187          vector swizzle ( temp highp 3-component vector of uint)
0:187            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:187              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:187                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:187                Constant:
0:187                  2 (const int)
0:187              Constant:
0:187                2 (const int)
0:187            Sequence
0:187              Constant:
0:187                0 (const int)
0:187              Constant:
0:187                1 (const int)
0:187              Constant:
0:187                2 (const int)
0:187          'ballot' ( temp highp 4-component vector of uint)
0:188      move second child to first child ( temp highp 4-component vector of uint)
0:188        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:188          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:188            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:188            Constant:
0:188              0 (const int)
0:188          Constant:
0:188            2 (const int)
0:188        subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of uint)
0:188          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:188            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:188              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:188              Constant:
0:188                3 (const int)
0:188            Constant:
0:188              2 (const int)
0:188          'ballot' ( temp highp 4-component vector of uint)
0:190      move second child to first child ( temp highp float)
0:190        direct index ( temp highp float)
0:190          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:190            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:190              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:190              Constant:
0:190                1 (const int)
0:190            Constant:
0:190              0 (const int)
0:190          Constant:
0:190            0 (const int)
0:190        subgroupPartitionedInclusiveMaxNV ( global highp float)
0:190          direct index ( temp highp float)
0:190            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:190              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:190                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:190                Constant:
0:190                  0 (const int)
0:190              Constant:
0:190                0 (const int)
0:190            Constant:
0:190              0 (const int)
0:190          'ballot' ( temp highp 4-component vector of uint)
0:191      move second child to first child ( temp highp 2-component vector of float)
0:191        vector swizzle ( temp highp 2-component vector of float)
0:191          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:191            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:191              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:191              Constant:
0:191                1 (const int)
0:191            Constant:
0:191              0 (const int)
0:191          Sequence
0:191            Constant:
0:191              0 (const int)
0:191            Constant:
0:191              1 (const int)
0:191        subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of float)
0:191          vector swizzle ( temp highp 2-component vector of float)
0:191            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:191              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:191                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:191                Constant:
0:191                  1 (const int)
0:191              Constant:
0:191                0 (const int)
0:191            Sequence
0:191              Constant:
0:191                0 (const int)
0:191              Constant:
0:191                1 (const int)
0:191          'ballot' ( temp highp 4-component vector of uint)
0:192      move second child to first child ( temp highp 3-component vector of float)
0:192        vector swizzle ( temp highp 3-component vector of float)
0:192          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:192            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:192              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:192              Constant:
0:192                1 (const int)
0:192            Constant:
0:192              0 (const int)
0:192          Sequence
0:192            Constant:
0:192              0 (const int)
0:192            Constant:
0:192              1 (const int)
0:192            Constant:
0:192              2 (const int)
0:192        subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of float)
0:192          vector swizzle ( temp highp 3-component vector of float)
0:192            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:192              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:192                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:192                Constant:
0:192                  2 (const int)
0:192              Constant:
0:192                0 (const int)
0:192            Sequence
0:192              Constant:
0:192                0 (const int)
0:192              Constant:
0:192                1 (const int)
0:192              Constant:
0:192                2 (const int)
0:192          'ballot' ( temp highp 4-component vector of uint)
0:193      move second child to first child ( temp highp 4-component vector of float)
0:193        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:193          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:193            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:193            Constant:
0:193              1 (const int)
0:193          Constant:
0:193            0 (const int)
0:193        subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of float)
0:193          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:193            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:193              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:193              Constant:
0:193                3 (const int)
0:193            Constant:
0:193              0 (const int)
0:193          'ballot' ( temp highp 4-component vector of uint)
0:195      move second child to first child ( temp highp int)
0:195        direct index ( temp highp int)
0:195          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:195            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:195              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:195              Constant:
0:195                1 (const int)
0:195            Constant:
0:195              1 (const int)
0:195          Constant:
0:195            0 (const int)
0:195        subgroupPartitionedInclusiveMaxNV ( global highp int)
0:195          direct index ( temp highp int)
0:195            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:195              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:195                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:195                Constant:
0:195                  0 (const int)
0:195              Constant:
0:195                1 (const int)
0:195            Constant:
0:195              0 (const int)
0:195          'ballot' ( temp highp 4-component vector of uint)
0:196      move second child to first child ( temp highp 2-component vector of int)
0:196        vector swizzle ( temp highp 2-component vector of int)
0:196          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:196            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:196              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:196              Constant:
0:196                1 (const int)
0:196            Constant:
0:196              1 (const int)
0:196          Sequence
0:196            Constant:
0:196              0 (const int)
0:196            Constant:
0:196              1 (const int)
0:196        subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of int)
0:196          vector swizzle ( temp highp 2-component vector of int)
0:196            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:196              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:196                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:196                Constant:
0:196                  1 (const int)
0:196              Constant:
0:196                1 (const int)
0:196            Sequence
0:196              Constant:
0:196                0 (const int)
0:196              Constant:
0:196                1 (const int)
0:196          'ballot' ( temp highp 4-component vector of uint)
0:197      move second child to first child ( temp highp 3-component vector of int)
0:197        vector swizzle ( temp highp 3-component vector of int)
0:197          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:197            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:197              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:197              Constant:
0:197                1 (const int)
0:197            Constant:
0:197              1 (const int)
0:197          Sequence
0:197            Constant:
0:197              0 (const int)
0:197            Constant:
0:197              1 (const int)
0:197            Constant:
0:197              2 (const int)
0:197        subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of int)
0:197          vector swizzle ( temp highp 3-component vector of int)
0:197            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:197              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:197                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:197                Constant:
0:197                  2 (const int)
0:197              Constant:
0:197                1 (const int)
0:197            Sequence
0:197              Constant:
0:197                0 (const int)
0:197              Constant:
0:197                1 (const int)
0:197              Constant:
0:197                2 (const int)
0:197          'ballot' ( temp highp 4-component vector of uint)
0:198      move second child to first child ( temp highp 4-component vector of int)
0:198        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:198          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:198            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:198            Constant:
0:198              1 (const int)
0:198          Constant:
0:198            1 (const int)
0:198        subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of int)
0:198          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:198            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:198              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:198              Constant:
0:198                3 (const int)
0:198            Constant:
0:198              1 (const int)
0:198          'ballot' ( temp highp 4-component vector of uint)
0:200      move second child to first child ( temp highp uint)
0:200        direct index ( temp highp uint)
0:200          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:200            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:200              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:200              Constant:
0:200                1 (const int)
0:200            Constant:
0:200              2 (const int)
0:200          Constant:
0:200            0 (const int)
0:200        subgroupPartitionedInclusiveMaxNV ( global highp uint)
0:200          direct index ( temp highp uint)
0:200            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:200              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:200                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:200                Constant:
0:200                  0 (const int)
0:200              Constant:
0:200                2 (const int)
0:200            Constant:
0:200              0 (const int)
0:200          'ballot' ( temp highp 4-component vector of uint)
0:201      move second child to first child ( temp highp 2-component vector of uint)
0:201        vector swizzle ( temp highp 2-component vector of uint)
0:201          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:201            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:201              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:201              Constant:
0:201                1 (const int)
0:201            Constant:
0:201              2 (const int)
0:201          Sequence
0:201            Constant:
0:201              0 (const int)
0:201            Constant:
0:201              1 (const int)
0:201        subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of uint)
0:201          vector swizzle ( temp highp 2-component vector of uint)
0:201            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:201              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:201                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:201                Constant:
0:201                  1 (const int)
0:201              Constant:
0:201                2 (const int)
0:201            Sequence
0:201              Constant:
0:201                0 (const int)
0:201              Constant:
0:201                1 (const int)
0:201          'ballot' ( temp highp 4-component vector of uint)
0:202      move second child to first child ( temp highp 3-component vector of uint)
0:202        vector swizzle ( temp highp 3-component vector of uint)
0:202          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:202            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:202              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:202              Constant:
0:202                1 (const int)
0:202            Constant:
0:202              2 (const int)
0:202          Sequence
0:202            Constant:
0:202              0 (const int)
0:202            Constant:
0:202              1 (const int)
0:202            Constant:
0:202              2 (const int)
0:202        subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of uint)
0:202          vector swizzle ( temp highp 3-component vector of uint)
0:202            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:202              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:202                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:202                Constant:
0:202                  2 (const int)
0:202              Constant:
0:202                2 (const int)
0:202            Sequence
0:202              Constant:
0:202                0 (const int)
0:202              Constant:
0:202                1 (const int)
0:202              Constant:
0:202                2 (const int)
0:202          'ballot' ( temp highp 4-component vector of uint)
0:203      move second child to first child ( temp highp 4-component vector of uint)
0:203        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:203          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:203            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:203            Constant:
0:203              1 (const int)
0:203          Constant:
0:203            2 (const int)
0:203        subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of uint)
0:203          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:203            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:203              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:203              Constant:
0:203                3 (const int)
0:203            Constant:
0:203              2 (const int)
0:203          'ballot' ( temp highp 4-component vector of uint)
0:205      move second child to first child ( temp highp int)
0:205        direct index ( temp highp int)
0:205          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:205            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:205              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:205              Constant:
0:205                1 (const int)
0:205            Constant:
0:205              1 (const int)
0:205          Constant:
0:205            0 (const int)
0:205        subgroupPartitionedInclusiveAndNV ( global highp int)
0:205          direct index ( temp highp int)
0:205            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:205              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:205                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:205                Constant:
0:205                  0 (const int)
0:205              Constant:
0:205                1 (const int)
0:205            Constant:
0:205              0 (const int)
0:205          'ballot' ( temp highp 4-component vector of uint)
0:206      move second child to first child ( temp highp 2-component vector of int)
0:206        vector swizzle ( temp highp 2-component vector of int)
0:206          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:206            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:206              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:206              Constant:
0:206                1 (const int)
0:206            Constant:
0:206              1 (const int)
0:206          Sequence
0:206            Constant:
0:206              0 (const int)
0:206            Constant:
0:206              1 (const int)
0:206        subgroupPartitionedInclusiveAndNV ( global highp 2-component vector of int)
0:206          vector swizzle ( temp highp 2-component vector of int)
0:206            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:206              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:206                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:206                Constant:
0:206                  1 (const int)
0:206              Constant:
0:206                1 (const int)
0:206            Sequence
0:206              Constant:
0:206                0 (const int)
0:206              Constant:
0:206                1 (const int)
0:206          'ballot' ( temp highp 4-component vector of uint)
0:207      move second child to first child ( temp highp 3-component vector of int)
0:207        vector swizzle ( temp highp 3-component vector of int)
0:207          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:207            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:207              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:207              Constant:
0:207                1 (const int)
0:207            Constant:
0:207              1 (const int)
0:207          Sequence
0:207            Constant:
0:207              0 (const int)
0:207            Constant:
0:207              1 (const int)
0:207            Constant:
0:207              2 (const int)
0:207        subgroupPartitionedInclusiveAndNV ( global highp 3-component vector of int)
0:207          vector swizzle ( temp highp 3-component vector of int)
0:207            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:207              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:207                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:207                Constant:
0:207                  2 (const int)
0:207              Constant:
0:207                1 (const int)
0:207            Sequence
0:207              Constant:
0:207                0 (const int)
0:207              Constant:
0:207                1 (const int)
0:207              Constant:
0:207                2 (const int)
0:207          'ballot' ( temp highp 4-component vector of uint)
0:208      move second child to first child ( temp highp 4-component vector of int)
0:208        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:208          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:208            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:208            Constant:
0:208              1 (const int)
0:208          Constant:
0:208            1 (const int)
0:208        subgroupPartitionedInclusiveAndNV ( global highp 4-component vector of int)
0:208          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:208            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:208              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:208              Constant:
0:208                3 (const int)
0:208            Constant:
0:208              1 (const int)
0:208          'ballot' ( temp highp 4-component vector of uint)
0:210      move second child to first child ( temp highp uint)
0:210        direct index ( temp highp uint)
0:210          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:210            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:210              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:210              Constant:
0:210                2 (const int)
0:210            Constant:
0:210              2 (const int)
0:210          Constant:
0:210            0 (const int)
0:210        subgroupPartitionedInclusiveAndNV ( global highp uint)
0:210          direct index ( temp highp uint)
0:210            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:210              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:210                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:210                Constant:
0:210                  0 (const int)
0:210              Constant:
0:210                2 (const int)
0:210            Constant:
0:210              0 (const int)
0:210          'ballot' ( temp highp 4-component vector of uint)
0:211      move second child to first child ( temp highp 2-component vector of uint)
0:211        vector swizzle ( temp highp 2-component vector of uint)
0:211          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:211            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:211              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:211              Constant:
0:211                2 (const int)
0:211            Constant:
0:211              2 (const int)
0:211          Sequence
0:211            Constant:
0:211              0 (const int)
0:211            Constant:
0:211              1 (const int)
0:211        subgroupPartitionedInclusiveAndNV ( global highp 2-component vector of uint)
0:211          vector swizzle ( temp highp 2-component vector of uint)
0:211            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:211              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:211                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:211                Constant:
0:211                  1 (const int)
0:211              Constant:
0:211                2 (const int)
0:211            Sequence
0:211              Constant:
0:211                0 (const int)
0:211              Constant:
0:211                1 (const int)
0:211          'ballot' ( temp highp 4-component vector of uint)
0:212      move second child to first child ( temp highp 3-component vector of uint)
0:212        vector swizzle ( temp highp 3-component vector of uint)
0:212          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:212            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:212              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:212              Constant:
0:212                2 (const int)
0:212            Constant:
0:212              2 (const int)
0:212          Sequence
0:212            Constant:
0:212              0 (const int)
0:212            Constant:
0:212              1 (const int)
0:212            Constant:
0:212              2 (const int)
0:212        subgroupPartitionedInclusiveAndNV ( global highp 3-component vector of uint)
0:212          vector swizzle ( temp highp 3-component vector of uint)
0:212            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:212              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:212                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:212                Constant:
0:212                  2 (const int)
0:212              Constant:
0:212                2 (const int)
0:212            Sequence
0:212              Constant:
0:212                0 (const int)
0:212              Constant:
0:212                1 (const int)
0:212              Constant:
0:212                2 (const int)
0:212          'ballot' ( temp highp 4-component vector of uint)
0:213      move second child to first child ( temp highp 4-component vector of uint)
0:213        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:213          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:213            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:213            Constant:
0:213              2 (const int)
0:213          Constant:
0:213            2 (const int)
0:213        subgroupPartitionedInclusiveAndNV ( global highp 4-component vector of uint)
0:213          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:213            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:213              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:213              Constant:
0:213                3 (const int)
0:213            Constant:
0:213              2 (const int)
0:213          'ballot' ( temp highp 4-component vector of uint)
0:215      move second child to first child ( temp highp int)
0:215        direct index ( temp highp int)
0:215          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:215            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:215              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:215              Constant:
0:215                2 (const int)
0:215            Constant:
0:215              1 (const int)
0:215          Constant:
0:215            0 (const int)
0:215        Convert bool to int ( temp highp int)
0:215          subgroupPartitionedInclusiveAndNV ( global bool, operation at highp)
0:215            Compare Less Than ( temp bool)
0:215              direct index ( temp highp int)
0:215                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:215                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:215                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:215                    Constant:
0:215                      0 (const int)
0:215                  Constant:
0:215                    1 (const int)
0:215                Constant:
0:215                  0 (const int)
0:215              Constant:
0:215                0 (const int)
0:215            'ballot' ( temp highp 4-component vector of uint)
0:216      move second child to first child ( temp highp 2-component vector of int)
0:216        vector swizzle ( temp highp 2-component vector of int)
0:216          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:216            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:216              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:216              Constant:
0:216                2 (const int)
0:216            Constant:
0:216              1 (const int)
0:216          Sequence
0:216            Constant:
0:216              0 (const int)
0:216            Constant:
0:216              1 (const int)
0:216        Convert bool to int ( temp highp 2-component vector of int)
0:216          subgroupPartitionedInclusiveAndNV ( global 2-component vector of bool, operation at highp)
0:216            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:216              vector swizzle ( temp highp 2-component vector of int)
0:216                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:216                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:216                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:216                    Constant:
0:216                      1 (const int)
0:216                  Constant:
0:216                    1 (const int)
0:216                Sequence
0:216                  Constant:
0:216                    0 (const int)
0:216                  Constant:
0:216                    1 (const int)
0:216              Constant:
0:216                0 (const int)
0:216                0 (const int)
0:216            'ballot' ( temp highp 4-component vector of uint)
0:217      move second child to first child ( temp highp 3-component vector of int)
0:217        vector swizzle ( temp highp 3-component vector of int)
0:217          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:217            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:217              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:217              Constant:
0:217                2 (const int)
0:217            Constant:
0:217              1 (const int)
0:217          Sequence
0:217            Constant:
0:217              0 (const int)
0:217            Constant:
0:217              1 (const int)
0:217            Constant:
0:217              2 (const int)
0:217        Convert bool to int ( temp highp 3-component vector of int)
0:217          subgroupPartitionedInclusiveAndNV ( global 3-component vector of bool, operation at highp)
0:217            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:217              vector swizzle ( temp highp 3-component vector of int)
0:217                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:217                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:217                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:217                    Constant:
0:217                      1 (const int)
0:217                  Constant:
0:217                    1 (const int)
0:217                Sequence
0:217                  Constant:
0:217                    0 (const int)
0:217                  Constant:
0:217                    1 (const int)
0:217                  Constant:
0:217                    2 (const int)
0:217              Constant:
0:217                0 (const int)
0:217                0 (const int)
0:217                0 (const int)
0:217            'ballot' ( temp highp 4-component vector of uint)
0:218      move second child to first child ( temp highp 4-component vector of int)
0:218        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:218          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:218            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:218            Constant:
0:218              2 (const int)
0:218          Constant:
0:218            1 (const int)
0:218        Convert bool to int ( temp highp 4-component vector of int)
0:218          subgroupPartitionedInclusiveAndNV ( global 4-component vector of bool, operation at highp)
0:218            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:218              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:218                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:218                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:218                  Constant:
0:218                    1 (const int)
0:218                Constant:
0:218                  1 (const int)
0:218              Constant:
0:218                0 (const int)
0:218                0 (const int)
0:218                0 (const int)
0:218                0 (const int)
0:218            'ballot' ( temp highp 4-component vector of uint)
0:220      move second child to first child ( temp highp int)
0:220        direct index ( temp highp int)
0:220          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:220            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:220              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:220              Constant:
0:220                2 (const int)
0:220            Constant:
0:220              1 (const int)
0:220          Constant:
0:220            0 (const int)
0:220        subgroupPartitionedInclusiveOrNV ( global highp int)
0:220          direct index ( temp highp int)
0:220            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:220              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:220                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:220                Constant:
0:220                  0 (const int)
0:220              Constant:
0:220                1 (const int)
0:220            Constant:
0:220              0 (const int)
0:220          'ballot' ( temp highp 4-component vector of uint)
0:221      move second child to first child ( temp highp 2-component vector of int)
0:221        vector swizzle ( temp highp 2-component vector of int)
0:221          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:221            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:221              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:221              Constant:
0:221                2 (const int)
0:221            Constant:
0:221              1 (const int)
0:221          Sequence
0:221            Constant:
0:221              0 (const int)
0:221            Constant:
0:221              1 (const int)
0:221        subgroupPartitionedInclusiveOrNV ( global highp 2-component vector of int)
0:221          vector swizzle ( temp highp 2-component vector of int)
0:221            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:221              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:221                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:221                Constant:
0:221                  1 (const int)
0:221              Constant:
0:221                1 (const int)
0:221            Sequence
0:221              Constant:
0:221                0 (const int)
0:221              Constant:
0:221                1 (const int)
0:221          'ballot' ( temp highp 4-component vector of uint)
0:222      move second child to first child ( temp highp 3-component vector of int)
0:222        vector swizzle ( temp highp 3-component vector of int)
0:222          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:222            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:222              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:222              Constant:
0:222                2 (const int)
0:222            Constant:
0:222              1 (const int)
0:222          Sequence
0:222            Constant:
0:222              0 (const int)
0:222            Constant:
0:222              1 (const int)
0:222            Constant:
0:222              2 (const int)
0:222        subgroupPartitionedInclusiveOrNV ( global highp 3-component vector of int)
0:222          vector swizzle ( temp highp 3-component vector of int)
0:222            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:222              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:222                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:222                Constant:
0:222                  2 (const int)
0:222              Constant:
0:222                1 (const int)
0:222            Sequence
0:222              Constant:
0:222                0 (const int)
0:222              Constant:
0:222                1 (const int)
0:222              Constant:
0:222                2 (const int)
0:222          'ballot' ( temp highp 4-component vector of uint)
0:223      move second child to first child ( temp highp 4-component vector of int)
0:223        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:223          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:223            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:223            Constant:
0:223              2 (const int)
0:223          Constant:
0:223            1 (const int)
0:223        subgroupPartitionedInclusiveOrNV ( global highp 4-component vector of int)
0:223          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:223            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:223              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:223              Constant:
0:223                3 (const int)
0:223            Constant:
0:223              1 (const int)
0:223          'ballot' ( temp highp 4-component vector of uint)
0:225      move second child to first child ( temp highp uint)
0:225        direct index ( temp highp uint)
0:225          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:225            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:225              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:225              Constant:
0:225                2 (const int)
0:225            Constant:
0:225              2 (const int)
0:225          Constant:
0:225            0 (const int)
0:225        subgroupPartitionedInclusiveOrNV ( global highp uint)
0:225          direct index ( temp highp uint)
0:225            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:225              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:225                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:225                Constant:
0:225                  0 (const int)
0:225              Constant:
0:225                2 (const int)
0:225            Constant:
0:225              0 (const int)
0:225          'ballot' ( temp highp 4-component vector of uint)
0:226      move second child to first child ( temp highp 2-component vector of uint)
0:226        vector swizzle ( temp highp 2-component vector of uint)
0:226          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:226            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:226              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:226              Constant:
0:226                2 (const int)
0:226            Constant:
0:226              2 (const int)
0:226          Sequence
0:226            Constant:
0:226              0 (const int)
0:226            Constant:
0:226              1 (const int)
0:226        subgroupPartitionedInclusiveOrNV ( global highp 2-component vector of uint)
0:226          vector swizzle ( temp highp 2-component vector of uint)
0:226            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:226              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:226                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:226                Constant:
0:226                  1 (const int)
0:226              Constant:
0:226                2 (const int)
0:226            Sequence
0:226              Constant:
0:226                0 (const int)
0:226              Constant:
0:226                1 (const int)
0:226          'ballot' ( temp highp 4-component vector of uint)
0:227      move second child to first child ( temp highp 3-component vector of uint)
0:227        vector swizzle ( temp highp 3-component vector of uint)
0:227          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:227            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:227              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:227              Constant:
0:227                2 (const int)
0:227            Constant:
0:227              2 (const int)
0:227          Sequence
0:227            Constant:
0:227              0 (const int)
0:227            Constant:
0:227              1 (const int)
0:227            Constant:
0:227              2 (const int)
0:227        subgroupPartitionedInclusiveOrNV ( global highp 3-component vector of uint)
0:227          vector swizzle ( temp highp 3-component vector of uint)
0:227            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:227              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:227                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:227                Constant:
0:227                  2 (const int)
0:227              Constant:
0:227                2 (const int)
0:227            Sequence
0:227              Constant:
0:227                0 (const int)
0:227              Constant:
0:227                1 (const int)
0:227              Constant:
0:227                2 (const int)
0:227          'ballot' ( temp highp 4-component vector of uint)
0:228      move second child to first child ( temp highp 4-component vector of uint)
0:228        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:228          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:228            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:228            Constant:
0:228              2 (const int)
0:228          Constant:
0:228            2 (const int)
0:228        subgroupPartitionedInclusiveOrNV ( global highp 4-component vector of uint)
0:228          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:228            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:228              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:228              Constant:
0:228                3 (const int)
0:228            Constant:
0:228              2 (const int)
0:228          'ballot' ( temp highp 4-component vector of uint)
0:230      move second child to first child ( temp highp int)
0:230        direct index ( temp highp int)
0:230          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:230            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:230              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:230              Constant:
0:230                3 (const int)
0:230            Constant:
0:230              1 (const int)
0:230          Constant:
0:230            0 (const int)
0:230        Convert bool to int ( temp highp int)
0:230          subgroupPartitionedInclusiveOrNV ( global bool, operation at highp)
0:230            Compare Less Than ( temp bool)
0:230              direct index ( temp highp int)
0:230                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:230                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:230                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:230                    Constant:
0:230                      0 (const int)
0:230                  Constant:
0:230                    1 (const int)
0:230                Constant:
0:230                  0 (const int)
0:230              Constant:
0:230                0 (const int)
0:230            'ballot' ( temp highp 4-component vector of uint)
0:231      move second child to first child ( temp highp 2-component vector of int)
0:231        vector swizzle ( temp highp 2-component vector of int)
0:231          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:231            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:231              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:231              Constant:
0:231                3 (const int)
0:231            Constant:
0:231              1 (const int)
0:231          Sequence
0:231            Constant:
0:231              0 (const int)
0:231            Constant:
0:231              1 (const int)
0:231        Convert bool to int ( temp highp 2-component vector of int)
0:231          subgroupPartitionedInclusiveOrNV ( global 2-component vector of bool, operation at highp)
0:231            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:231              vector swizzle ( temp highp 2-component vector of int)
0:231                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:231                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:231                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:231                    Constant:
0:231                      1 (const int)
0:231                  Constant:
0:231                    1 (const int)
0:231                Sequence
0:231                  Constant:
0:231                    0 (const int)
0:231                  Constant:
0:231                    1 (const int)
0:231              Constant:
0:231                0 (const int)
0:231                0 (const int)
0:231            'ballot' ( temp highp 4-component vector of uint)
0:232      move second child to first child ( temp highp 3-component vector of int)
0:232        vector swizzle ( temp highp 3-component vector of int)
0:232          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:232            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:232              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:232              Constant:
0:232                3 (const int)
0:232            Constant:
0:232              1 (const int)
0:232          Sequence
0:232            Constant:
0:232              0 (const int)
0:232            Constant:
0:232              1 (const int)
0:232            Constant:
0:232              2 (const int)
0:232        Convert bool to int ( temp highp 3-component vector of int)
0:232          subgroupPartitionedInclusiveOrNV ( global 3-component vector of bool, operation at highp)
0:232            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:232              vector swizzle ( temp highp 3-component vector of int)
0:232                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:232                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:232                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:232                    Constant:
0:232                      1 (const int)
0:232                  Constant:
0:232                    1 (const int)
0:232                Sequence
0:232                  Constant:
0:232                    0 (const int)
0:232                  Constant:
0:232                    1 (const int)
0:232                  Constant:
0:232                    2 (const int)
0:232              Constant:
0:232                0 (const int)
0:232                0 (const int)
0:232                0 (const int)
0:232            'ballot' ( temp highp 4-component vector of uint)
0:233      move second child to first child ( temp highp 4-component vector of int)
0:233        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:233          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:233            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:233            Constant:
0:233              3 (const int)
0:233          Constant:
0:233            1 (const int)
0:233        Convert bool to int ( temp highp 4-component vector of int)
0:233          subgroupPartitionedInclusiveOrNV ( global 4-component vector of bool, operation at highp)
0:233            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:233              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:233                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:233                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:233                  Constant:
0:233                    1 (const int)
0:233                Constant:
0:233                  1 (const int)
0:233              Constant:
0:233                0 (const int)
0:233                0 (const int)
0:233                0 (const int)
0:233                0 (const int)
0:233            'ballot' ( temp highp 4-component vector of uint)
0:235      move second child to first child ( temp highp int)
0:235        direct index ( temp highp int)
0:235          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:235            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:235              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:235              Constant:
0:235                3 (const int)
0:235            Constant:
0:235              1 (const int)
0:235          Constant:
0:235            0 (const int)
0:235        subgroupPartitionedInclusiveXorNV ( global highp int)
0:235          direct index ( temp highp int)
0:235            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:235              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:235                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:235                Constant:
0:235                  0 (const int)
0:235              Constant:
0:235                1 (const int)
0:235            Constant:
0:235              0 (const int)
0:235          'ballot' ( temp highp 4-component vector of uint)
0:236      move second child to first child ( temp highp 2-component vector of int)
0:236        vector swizzle ( temp highp 2-component vector of int)
0:236          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:236            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:236              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:236              Constant:
0:236                3 (const int)
0:236            Constant:
0:236              1 (const int)
0:236          Sequence
0:236            Constant:
0:236              0 (const int)
0:236            Constant:
0:236              1 (const int)
0:236        subgroupPartitionedInclusiveXorNV ( global highp 2-component vector of int)
0:236          vector swizzle ( temp highp 2-component vector of int)
0:236            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:236              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:236                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:236                Constant:
0:236                  1 (const int)
0:236              Constant:
0:236                1 (const int)
0:236            Sequence
0:236              Constant:
0:236                0 (const int)
0:236              Constant:
0:236                1 (const int)
0:236          'ballot' ( temp highp 4-component vector of uint)
0:237      move second child to first child ( temp highp 3-component vector of int)
0:237        vector swizzle ( temp highp 3-component vector of int)
0:237          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:237            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:237              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:237              Constant:
0:237                3 (const int)
0:237            Constant:
0:237              1 (const int)
0:237          Sequence
0:237            Constant:
0:237              0 (const int)
0:237            Constant:
0:237              1 (const int)
0:237            Constant:
0:237              2 (const int)
0:237        subgroupPartitionedInclusiveXorNV ( global highp 3-component vector of int)
0:237          vector swizzle ( temp highp 3-component vector of int)
0:237            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:237              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:237                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:237                Constant:
0:237                  2 (const int)
0:237              Constant:
0:237                1 (const int)
0:237            Sequence
0:237              Constant:
0:237                0 (const int)
0:237              Constant:
0:237                1 (const int)
0:237              Constant:
0:237                2 (const int)
0:237          'ballot' ( temp highp 4-component vector of uint)
0:238      move second child to first child ( temp highp 4-component vector of int)
0:238        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:238          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:238            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:238            Constant:
0:238              3 (const int)
0:238          Constant:
0:238            1 (const int)
0:238        subgroupPartitionedInclusiveXorNV ( global highp 4-component vector of int)
0:238          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:238            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:238              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:238              Constant:
0:238                3 (const int)
0:238            Constant:
0:238              1 (const int)
0:238          'ballot' ( temp highp 4-component vector of uint)
0:240      move second child to first child ( temp highp uint)
0:240        direct index ( temp highp uint)
0:240          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:240            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:240              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:240              Constant:
0:240                3 (const int)
0:240            Constant:
0:240              2 (const int)
0:240          Constant:
0:240            0 (const int)
0:240        subgroupPartitionedInclusiveXorNV ( global highp uint)
0:240          direct index ( temp highp uint)
0:240            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:240              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:240                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:240                Constant:
0:240                  0 (const int)
0:240              Constant:
0:240                2 (const int)
0:240            Constant:
0:240              0 (const int)
0:240          'ballot' ( temp highp 4-component vector of uint)
0:241      move second child to first child ( temp highp 2-component vector of uint)
0:241        vector swizzle ( temp highp 2-component vector of uint)
0:241          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:241            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:241              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:241              Constant:
0:241                3 (const int)
0:241            Constant:
0:241              2 (const int)
0:241          Sequence
0:241            Constant:
0:241              0 (const int)
0:241            Constant:
0:241              1 (const int)
0:241        subgroupPartitionedInclusiveXorNV ( global highp 2-component vector of uint)
0:241          vector swizzle ( temp highp 2-component vector of uint)
0:241            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:241              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:241                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:241                Constant:
0:241                  1 (const int)
0:241              Constant:
0:241                2 (const int)
0:241            Sequence
0:241              Constant:
0:241                0 (const int)
0:241              Constant:
0:241                1 (const int)
0:241          'ballot' ( temp highp 4-component vector of uint)
0:242      move second child to first child ( temp highp 3-component vector of uint)
0:242        vector swizzle ( temp highp 3-component vector of uint)
0:242          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:242            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:242              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:242              Constant:
0:242                3 (const int)
0:242            Constant:
0:242              2 (const int)
0:242          Sequence
0:242            Constant:
0:242              0 (const int)
0:242            Constant:
0:242              1 (const int)
0:242            Constant:
0:242              2 (const int)
0:242        subgroupPartitionedInclusiveXorNV ( global highp 3-component vector of uint)
0:242          vector swizzle ( temp highp 3-component vector of uint)
0:242            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:242              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:242                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:242                Constant:
0:242                  2 (const int)
0:242              Constant:
0:242                2 (const int)
0:242            Sequence
0:242              Constant:
0:242                0 (const int)
0:242              Constant:
0:242                1 (const int)
0:242              Constant:
0:242                2 (const int)
0:242          'ballot' ( temp highp 4-component vector of uint)
0:243      move second child to first child ( temp highp 4-component vector of uint)
0:243        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:243          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:243            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:243            Constant:
0:243              3 (const int)
0:243          Constant:
0:243            2 (const int)
0:243        subgroupPartitionedInclusiveXorNV ( global highp 4-component vector of uint)
0:243          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:243            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:243              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:243              Constant:
0:243                3 (const int)
0:243            Constant:
0:243              2 (const int)
0:243          'ballot' ( temp highp 4-component vector of uint)
0:245      move second child to first child ( temp highp int)
0:245        direct index ( temp highp int)
0:245          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:245            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:245              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:245              Constant:
0:245                3 (const int)
0:245            Constant:
0:245              1 (const int)
0:245          Constant:
0:245            0 (const int)
0:245        Convert bool to int ( temp highp int)
0:245          subgroupPartitionedInclusiveXorNV ( global bool, operation at highp)
0:245            Compare Less Than ( temp bool)
0:245              direct index ( temp highp int)
0:245                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:245                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:245                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:245                    Constant:
0:245                      0 (const int)
0:245                  Constant:
0:245                    1 (const int)
0:245                Constant:
0:245                  0 (const int)
0:245              Constant:
0:245                0 (const int)
0:245            'ballot' ( temp highp 4-component vector of uint)
0:246      move second child to first child ( temp highp 2-component vector of int)
0:246        vector swizzle ( temp highp 2-component vector of int)
0:246          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:246            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:246              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:246              Constant:
0:246                3 (const int)
0:246            Constant:
0:246              1 (const int)
0:246          Sequence
0:246            Constant:
0:246              0 (const int)
0:246            Constant:
0:246              1 (const int)
0:246        Convert bool to int ( temp highp 2-component vector of int)
0:246          subgroupPartitionedInclusiveXorNV ( global 2-component vector of bool, operation at highp)
0:246            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:246              vector swizzle ( temp highp 2-component vector of int)
0:246                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:246                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:246                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:246                    Constant:
0:246                      1 (const int)
0:246                  Constant:
0:246                    1 (const int)
0:246                Sequence
0:246                  Constant:
0:246                    0 (const int)
0:246                  Constant:
0:246                    1 (const int)
0:246              Constant:
0:246                0 (const int)
0:246                0 (const int)
0:246            'ballot' ( temp highp 4-component vector of uint)
0:247      move second child to first child ( temp highp 3-component vector of int)
0:247        vector swizzle ( temp highp 3-component vector of int)
0:247          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:247            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:247              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:247              Constant:
0:247                3 (const int)
0:247            Constant:
0:247              1 (const int)
0:247          Sequence
0:247            Constant:
0:247              0 (const int)
0:247            Constant:
0:247              1 (const int)
0:247            Constant:
0:247              2 (const int)
0:247        Convert bool to int ( temp highp 3-component vector of int)
0:247          subgroupPartitionedInclusiveXorNV ( global 3-component vector of bool, operation at highp)
0:247            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:247              vector swizzle ( temp highp 3-component vector of int)
0:247                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:247                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:247                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:247                    Constant:
0:247                      1 (const int)
0:247                  Constant:
0:247                    1 (const int)
0:247                Sequence
0:247                  Constant:
0:247                    0 (const int)
0:247                  Constant:
0:247                    1 (const int)
0:247                  Constant:
0:247                    2 (const int)
0:247              Constant:
0:247                0 (const int)
0:247                0 (const int)
0:247                0 (const int)
0:247            'ballot' ( temp highp 4-component vector of uint)
0:248      move second child to first child ( temp highp 4-component vector of int)
0:248        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:248          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:248            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:248            Constant:
0:248              3 (const int)
0:248          Constant:
0:248            1 (const int)
0:248        Convert bool to int ( temp highp 4-component vector of int)
0:248          subgroupPartitionedInclusiveXorNV ( global 4-component vector of bool, operation at highp)
0:248            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:248              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:248                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:248                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:248                  Constant:
0:248                    1 (const int)
0:248                Constant:
0:248                  1 (const int)
0:248              Constant:
0:248                0 (const int)
0:248                0 (const int)
0:248                0 (const int)
0:248                0 (const int)
0:248            'ballot' ( temp highp 4-component vector of uint)
0:250      move second child to first child ( temp highp float)
0:250        direct index ( temp highp float)
0:250          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:250            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:250              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:250              Constant:
0:250                0 (const int)
0:250            Constant:
0:250              0 (const int)
0:250          Constant:
0:250            0 (const int)
0:250        subgroupPartitionedExclusiveAddNV ( global highp float)
0:250          direct index ( temp highp float)
0:250            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:250              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:250                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:250                Constant:
0:250                  0 (const int)
0:250              Constant:
0:250                0 (const int)
0:250            Constant:
0:250              0 (const int)
0:250          'ballot' ( temp highp 4-component vector of uint)
0:251      move second child to first child ( temp highp 2-component vector of float)
0:251        vector swizzle ( temp highp 2-component vector of float)
0:251          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:251            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:251              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:251              Constant:
0:251                0 (const int)
0:251            Constant:
0:251              0 (const int)
0:251          Sequence
0:251            Constant:
0:251              0 (const int)
0:251            Constant:
0:251              1 (const int)
0:251        subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of float)
0:251          vector swizzle ( temp highp 2-component vector of float)
0:251            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:251              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:251                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:251                Constant:
0:251                  1 (const int)
0:251              Constant:
0:251                0 (const int)
0:251            Sequence
0:251              Constant:
0:251                0 (const int)
0:251              Constant:
0:251                1 (const int)
0:251          'ballot' ( temp highp 4-component vector of uint)
0:252      move second child to first child ( temp highp 3-component vector of float)
0:252        vector swizzle ( temp highp 3-component vector of float)
0:252          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:252            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:252              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:252              Constant:
0:252                0 (const int)
0:252            Constant:
0:252              0 (const int)
0:252          Sequence
0:252            Constant:
0:252              0 (const int)
0:252            Constant:
0:252              1 (const int)
0:252            Constant:
0:252              2 (const int)
0:252        subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of float)
0:252          vector swizzle ( temp highp 3-component vector of float)
0:252            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:252              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:252                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:252                Constant:
0:252                  2 (const int)
0:252              Constant:
0:252                0 (const int)
0:252            Sequence
0:252              Constant:
0:252                0 (const int)
0:252              Constant:
0:252                1 (const int)
0:252              Constant:
0:252                2 (const int)
0:252          'ballot' ( temp highp 4-component vector of uint)
0:253      move second child to first child ( temp highp 4-component vector of float)
0:253        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:253          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:253            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:253            Constant:
0:253              0 (const int)
0:253          Constant:
0:253            0 (const int)
0:253        subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of float)
0:253          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:253            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:253              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:253              Constant:
0:253                3 (const int)
0:253            Constant:
0:253              0 (const int)
0:253          'ballot' ( temp highp 4-component vector of uint)
0:255      move second child to first child ( temp highp int)
0:255        direct index ( temp highp int)
0:255          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:255            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:255              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:255              Constant:
0:255                0 (const int)
0:255            Constant:
0:255              1 (const int)
0:255          Constant:
0:255            0 (const int)
0:255        subgroupPartitionedExclusiveAddNV ( global highp int)
0:255          direct index ( temp highp int)
0:255            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:255              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:255                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:255                Constant:
0:255                  0 (const int)
0:255              Constant:
0:255                1 (const int)
0:255            Constant:
0:255              0 (const int)
0:255          'ballot' ( temp highp 4-component vector of uint)
0:256      move second child to first child ( temp highp 2-component vector of int)
0:256        vector swizzle ( temp highp 2-component vector of int)
0:256          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:256            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:256              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:256              Constant:
0:256                0 (const int)
0:256            Constant:
0:256              1 (const int)
0:256          Sequence
0:256            Constant:
0:256              0 (const int)
0:256            Constant:
0:256              1 (const int)
0:256        subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of int)
0:256          vector swizzle ( temp highp 2-component vector of int)
0:256            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:256              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:256                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:256                Constant:
0:256                  1 (const int)
0:256              Constant:
0:256                1 (const int)
0:256            Sequence
0:256              Constant:
0:256                0 (const int)
0:256              Constant:
0:256                1 (const int)
0:256          'ballot' ( temp highp 4-component vector of uint)
0:257      move second child to first child ( temp highp 3-component vector of int)
0:257        vector swizzle ( temp highp 3-component vector of int)
0:257          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:257            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:257              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:257              Constant:
0:257                0 (const int)
0:257            Constant:
0:257              1 (const int)
0:257          Sequence
0:257            Constant:
0:257              0 (const int)
0:257            Constant:
0:257              1 (const int)
0:257            Constant:
0:257              2 (const int)
0:257        subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of int)
0:257          vector swizzle ( temp highp 3-component vector of int)
0:257            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:257              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:257                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:257                Constant:
0:257                  2 (const int)
0:257              Constant:
0:257                1 (const int)
0:257            Sequence
0:257              Constant:
0:257                0 (const int)
0:257              Constant:
0:257                1 (const int)
0:257              Constant:
0:257                2 (const int)
0:257          'ballot' ( temp highp 4-component vector of uint)
0:258      move second child to first child ( temp highp 4-component vector of int)
0:258        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:258          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:258            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:258            Constant:
0:258              0 (const int)
0:258          Constant:
0:258            1 (const int)
0:258        subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of int)
0:258          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:258            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:258              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:258              Constant:
0:258                3 (const int)
0:258            Constant:
0:258              1 (const int)
0:258          'ballot' ( temp highp 4-component vector of uint)
0:260      move second child to first child ( temp highp uint)
0:260        direct index ( temp highp uint)
0:260          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:260            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:260              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:260              Constant:
0:260                0 (const int)
0:260            Constant:
0:260              2 (const int)
0:260          Constant:
0:260            0 (const int)
0:260        subgroupPartitionedExclusiveAddNV ( global highp uint)
0:260          direct index ( temp highp uint)
0:260            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:260              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:260                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:260                Constant:
0:260                  0 (const int)
0:260              Constant:
0:260                2 (const int)
0:260            Constant:
0:260              0 (const int)
0:260          'ballot' ( temp highp 4-component vector of uint)
0:261      move second child to first child ( temp highp 2-component vector of uint)
0:261        vector swizzle ( temp highp 2-component vector of uint)
0:261          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:261            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:261              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:261              Constant:
0:261                0 (const int)
0:261            Constant:
0:261              2 (const int)
0:261          Sequence
0:261            Constant:
0:261              0 (const int)
0:261            Constant:
0:261              1 (const int)
0:261        subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of uint)
0:261          vector swizzle ( temp highp 2-component vector of uint)
0:261            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:261              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:261                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:261                Constant:
0:261                  1 (const int)
0:261              Constant:
0:261                2 (const int)
0:261            Sequence
0:261              Constant:
0:261                0 (const int)
0:261              Constant:
0:261                1 (const int)
0:261          'ballot' ( temp highp 4-component vector of uint)
0:262      move second child to first child ( temp highp 3-component vector of uint)
0:262        vector swizzle ( temp highp 3-component vector of uint)
0:262          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:262            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:262              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:262              Constant:
0:262                0 (const int)
0:262            Constant:
0:262              2 (const int)
0:262          Sequence
0:262            Constant:
0:262              0 (const int)
0:262            Constant:
0:262              1 (const int)
0:262            Constant:
0:262              2 (const int)
0:262        subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of uint)
0:262          vector swizzle ( temp highp 3-component vector of uint)
0:262            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:262              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:262                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:262                Constant:
0:262                  2 (const int)
0:262              Constant:
0:262                2 (const int)
0:262            Sequence
0:262              Constant:
0:262                0 (const int)
0:262              Constant:
0:262                1 (const int)
0:262              Constant:
0:262                2 (const int)
0:262          'ballot' ( temp highp 4-component vector of uint)
0:263      move second child to first child ( temp highp 4-component vector of uint)
0:263        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:263          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:263            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:263            Constant:
0:263              0 (const int)
0:263          Constant:
0:263            2 (const int)
0:263        subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of uint)
0:263          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:263            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:263              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:263              Constant:
0:263                3 (const int)
0:263            Constant:
0:263              2 (const int)
0:263          'ballot' ( temp highp 4-component vector of uint)
0:265      move second child to first child ( temp highp float)
0:265        direct index ( temp highp float)
0:265          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:265            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:265              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:265              Constant:
0:265                0 (const int)
0:265            Constant:
0:265              0 (const int)
0:265          Constant:
0:265            0 (const int)
0:265        subgroupPartitionedExclusiveMulNV ( global highp float)
0:265          direct index ( temp highp float)
0:265            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:265              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:265                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:265                Constant:
0:265                  0 (const int)
0:265              Constant:
0:265                0 (const int)
0:265            Constant:
0:265              0 (const int)
0:265          'ballot' ( temp highp 4-component vector of uint)
0:266      move second child to first child ( temp highp 2-component vector of float)
0:266        vector swizzle ( temp highp 2-component vector of float)
0:266          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:266            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:266              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:266              Constant:
0:266                0 (const int)
0:266            Constant:
0:266              0 (const int)
0:266          Sequence
0:266            Constant:
0:266              0 (const int)
0:266            Constant:
0:266              1 (const int)
0:266        subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of float)
0:266          vector swizzle ( temp highp 2-component vector of float)
0:266            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:266              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:266                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:266                Constant:
0:266                  1 (const int)
0:266              Constant:
0:266                0 (const int)
0:266            Sequence
0:266              Constant:
0:266                0 (const int)
0:266              Constant:
0:266                1 (const int)
0:266          'ballot' ( temp highp 4-component vector of uint)
0:267      move second child to first child ( temp highp 3-component vector of float)
0:267        vector swizzle ( temp highp 3-component vector of float)
0:267          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:267            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:267              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:267              Constant:
0:267                0 (const int)
0:267            Constant:
0:267              0 (const int)
0:267          Sequence
0:267            Constant:
0:267              0 (const int)
0:267            Constant:
0:267              1 (const int)
0:267            Constant:
0:267              2 (const int)
0:267        subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of float)
0:267          vector swizzle ( temp highp 3-component vector of float)
0:267            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:267              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:267                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:267                Constant:
0:267                  2 (const int)
0:267              Constant:
0:267                0 (const int)
0:267            Sequence
0:267              Constant:
0:267                0 (const int)
0:267              Constant:
0:267                1 (const int)
0:267              Constant:
0:267                2 (const int)
0:267          'ballot' ( temp highp 4-component vector of uint)
0:268      move second child to first child ( temp highp 4-component vector of float)
0:268        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:268          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:268            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:268            Constant:
0:268              0 (const int)
0:268          Constant:
0:268            0 (const int)
0:268        subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of float)
0:268          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:268            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:268              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:268              Constant:
0:268                3 (const int)
0:268            Constant:
0:268              0 (const int)
0:268          'ballot' ( temp highp 4-component vector of uint)
0:270      move second child to first child ( temp highp int)
0:270        direct index ( temp highp int)
0:270          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:270            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:270              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:270              Constant:
0:270                1 (const int)
0:270            Constant:
0:270              1 (const int)
0:270          Constant:
0:270            0 (const int)
0:270        subgroupPartitionedExclusiveMulNV ( global highp int)
0:270          direct index ( temp highp int)
0:270            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:270              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:270                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:270                Constant:
0:270                  0 (const int)
0:270              Constant:
0:270                1 (const int)
0:270            Constant:
0:270              0 (const int)
0:270          'ballot' ( temp highp 4-component vector of uint)
0:271      move second child to first child ( temp highp 2-component vector of int)
0:271        vector swizzle ( temp highp 2-component vector of int)
0:271          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:271            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:271              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:271              Constant:
0:271                1 (const int)
0:271            Constant:
0:271              1 (const int)
0:271          Sequence
0:271            Constant:
0:271              0 (const int)
0:271            Constant:
0:271              1 (const int)
0:271        subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of int)
0:271          vector swizzle ( temp highp 2-component vector of int)
0:271            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:271              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:271                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:271                Constant:
0:271                  1 (const int)
0:271              Constant:
0:271                1 (const int)
0:271            Sequence
0:271              Constant:
0:271                0 (const int)
0:271              Constant:
0:271                1 (const int)
0:271          'ballot' ( temp highp 4-component vector of uint)
0:272      move second child to first child ( temp highp 3-component vector of int)
0:272        vector swizzle ( temp highp 3-component vector of int)
0:272          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:272            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:272              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:272              Constant:
0:272                1 (const int)
0:272            Constant:
0:272              1 (const int)
0:272          Sequence
0:272            Constant:
0:272              0 (const int)
0:272            Constant:
0:272              1 (const int)
0:272            Constant:
0:272              2 (const int)
0:272        subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of int)
0:272          vector swizzle ( temp highp 3-component vector of int)
0:272            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:272              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:272                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:272                Constant:
0:272                  2 (const int)
0:272              Constant:
0:272                1 (const int)
0:272            Sequence
0:272              Constant:
0:272                0 (const int)
0:272              Constant:
0:272                1 (const int)
0:272              Constant:
0:272                2 (const int)
0:272          'ballot' ( temp highp 4-component vector of uint)
0:273      move second child to first child ( temp highp 4-component vector of int)
0:273        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:273          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:273            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:273            Constant:
0:273              1 (const int)
0:273          Constant:
0:273            1 (const int)
0:273        subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of int)
0:273          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:273            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:273              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:273              Constant:
0:273                3 (const int)
0:273            Constant:
0:273              1 (const int)
0:273          'ballot' ( temp highp 4-component vector of uint)
0:275      move second child to first child ( temp highp uint)
0:275        direct index ( temp highp uint)
0:275          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:275            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:275              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:275              Constant:
0:275                1 (const int)
0:275            Constant:
0:275              2 (const int)
0:275          Constant:
0:275            0 (const int)
0:275        subgroupPartitionedExclusiveMulNV ( global highp uint)
0:275          direct index ( temp highp uint)
0:275            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:275              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:275                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:275                Constant:
0:275                  0 (const int)
0:275              Constant:
0:275                2 (const int)
0:275            Constant:
0:275              0 (const int)
0:275          'ballot' ( temp highp 4-component vector of uint)
0:276      move second child to first child ( temp highp 2-component vector of uint)
0:276        vector swizzle ( temp highp 2-component vector of uint)
0:276          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:276            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:276              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:276              Constant:
0:276                1 (const int)
0:276            Constant:
0:276              2 (const int)
0:276          Sequence
0:276            Constant:
0:276              0 (const int)
0:276            Constant:
0:276              1 (const int)
0:276        subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of uint)
0:276          vector swizzle ( temp highp 2-component vector of uint)
0:276            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:276              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:276                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:276                Constant:
0:276                  1 (const int)
0:276              Constant:
0:276                2 (const int)
0:276            Sequence
0:276              Constant:
0:276                0 (const int)
0:276              Constant:
0:276                1 (const int)
0:276          'ballot' ( temp highp 4-component vector of uint)
0:277      move second child to first child ( temp highp 3-component vector of uint)
0:277        vector swizzle ( temp highp 3-component vector of uint)
0:277          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:277            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:277              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:277              Constant:
0:277                1 (const int)
0:277            Constant:
0:277              2 (const int)
0:277          Sequence
0:277            Constant:
0:277              0 (const int)
0:277            Constant:
0:277              1 (const int)
0:277            Constant:
0:277              2 (const int)
0:277        subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of uint)
0:277          vector swizzle ( temp highp 3-component vector of uint)
0:277            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:277              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:277                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:277                Constant:
0:277                  2 (const int)
0:277              Constant:
0:277                2 (const int)
0:277            Sequence
0:277              Constant:
0:277                0 (const int)
0:277              Constant:
0:277                1 (const int)
0:277              Constant:
0:277                2 (const int)
0:277          'ballot' ( temp highp 4-component vector of uint)
0:278      move second child to first child ( temp highp 4-component vector of uint)
0:278        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:278          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:278            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:278            Constant:
0:278              1 (const int)
0:278          Constant:
0:278            2 (const int)
0:278        subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of uint)
0:278          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:278            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:278              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:278              Constant:
0:278                3 (const int)
0:278            Constant:
0:278              2 (const int)
0:278          'ballot' ( temp highp 4-component vector of uint)
0:280      move second child to first child ( temp highp float)
0:280        direct index ( temp highp float)
0:280          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:280            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:280              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:280              Constant:
0:280                1 (const int)
0:280            Constant:
0:280              0 (const int)
0:280          Constant:
0:280            0 (const int)
0:280        subgroupPartitionedExclusiveMinNV ( global highp float)
0:280          direct index ( temp highp float)
0:280            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:280              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:280                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:280                Constant:
0:280                  0 (const int)
0:280              Constant:
0:280                0 (const int)
0:280            Constant:
0:280              0 (const int)
0:280          'ballot' ( temp highp 4-component vector of uint)
0:281      move second child to first child ( temp highp 2-component vector of float)
0:281        vector swizzle ( temp highp 2-component vector of float)
0:281          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:281            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:281              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:281              Constant:
0:281                1 (const int)
0:281            Constant:
0:281              0 (const int)
0:281          Sequence
0:281            Constant:
0:281              0 (const int)
0:281            Constant:
0:281              1 (const int)
0:281        subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of float)
0:281          vector swizzle ( temp highp 2-component vector of float)
0:281            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:281              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:281                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:281                Constant:
0:281                  1 (const int)
0:281              Constant:
0:281                0 (const int)
0:281            Sequence
0:281              Constant:
0:281                0 (const int)
0:281              Constant:
0:281                1 (const int)
0:281          'ballot' ( temp highp 4-component vector of uint)
0:282      move second child to first child ( temp highp 3-component vector of float)
0:282        vector swizzle ( temp highp 3-component vector of float)
0:282          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:282            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:282              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:282              Constant:
0:282                1 (const int)
0:282            Constant:
0:282              0 (const int)
0:282          Sequence
0:282            Constant:
0:282              0 (const int)
0:282            Constant:
0:282              1 (const int)
0:282            Constant:
0:282              2 (const int)
0:282        subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of float)
0:282          vector swizzle ( temp highp 3-component vector of float)
0:282            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:282              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:282                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:282                Constant:
0:282                  2 (const int)
0:282              Constant:
0:282                0 (const int)
0:282            Sequence
0:282              Constant:
0:282                0 (const int)
0:282              Constant:
0:282                1 (const int)
0:282              Constant:
0:282                2 (const int)
0:282          'ballot' ( temp highp 4-component vector of uint)
0:283      move second child to first child ( temp highp 4-component vector of float)
0:283        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:283          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:283            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:283            Constant:
0:283              1 (const int)
0:283          Constant:
0:283            0 (const int)
0:283        subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of float)
0:283          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:283            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:283              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:283              Constant:
0:283                3 (const int)
0:283            Constant:
0:283              0 (const int)
0:283          'ballot' ( temp highp 4-component vector of uint)
0:285      move second child to first child ( temp highp int)
0:285        direct index ( temp highp int)
0:285          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:285            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:285              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:285              Constant:
0:285                1 (const int)
0:285            Constant:
0:285              1 (const int)
0:285          Constant:
0:285            0 (const int)
0:285        subgroupPartitionedExclusiveMinNV ( global highp int)
0:285          direct index ( temp highp int)
0:285            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:285              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:285                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:285                Constant:
0:285                  0 (const int)
0:285              Constant:
0:285                1 (const int)
0:285            Constant:
0:285              0 (const int)
0:285          'ballot' ( temp highp 4-component vector of uint)
0:286      move second child to first child ( temp highp 2-component vector of int)
0:286        vector swizzle ( temp highp 2-component vector of int)
0:286          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:286            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:286              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:286              Constant:
0:286                1 (const int)
0:286            Constant:
0:286              1 (const int)
0:286          Sequence
0:286            Constant:
0:286              0 (const int)
0:286            Constant:
0:286              1 (const int)
0:286        subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of int)
0:286          vector swizzle ( temp highp 2-component vector of int)
0:286            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:286              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:286                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:286                Constant:
0:286                  1 (const int)
0:286              Constant:
0:286                1 (const int)
0:286            Sequence
0:286              Constant:
0:286                0 (const int)
0:286              Constant:
0:286                1 (const int)
0:286          'ballot' ( temp highp 4-component vector of uint)
0:287      move second child to first child ( temp highp 3-component vector of int)
0:287        vector swizzle ( temp highp 3-component vector of int)
0:287          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:287            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:287              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:287              Constant:
0:287                1 (const int)
0:287            Constant:
0:287              1 (const int)
0:287          Sequence
0:287            Constant:
0:287              0 (const int)
0:287            Constant:
0:287              1 (const int)
0:287            Constant:
0:287              2 (const int)
0:287        subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of int)
0:287          vector swizzle ( temp highp 3-component vector of int)
0:287            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:287              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:287                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:287                Constant:
0:287                  2 (const int)
0:287              Constant:
0:287                1 (const int)
0:287            Sequence
0:287              Constant:
0:287                0 (const int)
0:287              Constant:
0:287                1 (const int)
0:287              Constant:
0:287                2 (const int)
0:287          'ballot' ( temp highp 4-component vector of uint)
0:288      move second child to first child ( temp highp 4-component vector of int)
0:288        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:288          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:288            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:288            Constant:
0:288              1 (const int)
0:288          Constant:
0:288            1 (const int)
0:288        subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of int)
0:288          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:288            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:288              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:288              Constant:
0:288                3 (const int)
0:288            Constant:
0:288              1 (const int)
0:288          'ballot' ( temp highp 4-component vector of uint)
0:290      move second child to first child ( temp highp uint)
0:290        direct index ( temp highp uint)
0:290          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:290            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:290              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:290              Constant:
0:290                2 (const int)
0:290            Constant:
0:290              2 (const int)
0:290          Constant:
0:290            0 (const int)
0:290        subgroupPartitionedExclusiveMinNV ( global highp uint)
0:290          direct index ( temp highp uint)
0:290            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:290              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:290                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:290                Constant:
0:290                  0 (const int)
0:290              Constant:
0:290                2 (const int)
0:290            Constant:
0:290              0 (const int)
0:290          'ballot' ( temp highp 4-component vector of uint)
0:291      move second child to first child ( temp highp 2-component vector of uint)
0:291        vector swizzle ( temp highp 2-component vector of uint)
0:291          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:291            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:291              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:291              Constant:
0:291                2 (const int)
0:291            Constant:
0:291              2 (const int)
0:291          Sequence
0:291            Constant:
0:291              0 (const int)
0:291            Constant:
0:291              1 (const int)
0:291        subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of uint)
0:291          vector swizzle ( temp highp 2-component vector of uint)
0:291            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:291              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:291                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:291                Constant:
0:291                  1 (const int)
0:291              Constant:
0:291                2 (const int)
0:291            Sequence
0:291              Constant:
0:291                0 (const int)
0:291              Constant:
0:291                1 (const int)
0:291          'ballot' ( temp highp 4-component vector of uint)
0:292      move second child to first child ( temp highp 3-component vector of uint)
0:292        vector swizzle ( temp highp 3-component vector of uint)
0:292          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:292            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:292              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:292              Constant:
0:292                2 (const int)
0:292            Constant:
0:292              2 (const int)
0:292          Sequence
0:292            Constant:
0:292              0 (const int)
0:292            Constant:
0:292              1 (const int)
0:292            Constant:
0:292              2 (const int)
0:292        subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of uint)
0:292          vector swizzle ( temp highp 3-component vector of uint)
0:292            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:292              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:292                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:292                Constant:
0:292                  2 (const int)
0:292              Constant:
0:292                2 (const int)
0:292            Sequence
0:292              Constant:
0:292                0 (const int)
0:292              Constant:
0:292                1 (const int)
0:292              Constant:
0:292                2 (const int)
0:292          'ballot' ( temp highp 4-component vector of uint)
0:293      move second child to first child ( temp highp 4-component vector of uint)
0:293        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:293          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:293            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:293            Constant:
0:293              2 (const int)
0:293          Constant:
0:293            2 (const int)
0:293        subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of uint)
0:293          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:293            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:293              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:293              Constant:
0:293                3 (const int)
0:293            Constant:
0:293              2 (const int)
0:293          'ballot' ( temp highp 4-component vector of uint)
0:295      move second child to first child ( temp highp float)
0:295        direct index ( temp highp float)
0:295          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:295            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:295              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:295              Constant:
0:295                2 (const int)
0:295            Constant:
0:295              0 (const int)
0:295          Constant:
0:295            0 (const int)
0:295        subgroupPartitionedExclusiveMaxNV ( global highp float)
0:295          direct index ( temp highp float)
0:295            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:295              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:295                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:295                Constant:
0:295                  0 (const int)
0:295              Constant:
0:295                0 (const int)
0:295            Constant:
0:295              0 (const int)
0:295          'ballot' ( temp highp 4-component vector of uint)
0:296      move second child to first child ( temp highp 2-component vector of float)
0:296        vector swizzle ( temp highp 2-component vector of float)
0:296          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:296            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:296              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:296              Constant:
0:296                2 (const int)
0:296            Constant:
0:296              0 (const int)
0:296          Sequence
0:296            Constant:
0:296              0 (const int)
0:296            Constant:
0:296              1 (const int)
0:296        subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of float)
0:296          vector swizzle ( temp highp 2-component vector of float)
0:296            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:296              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:296                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:296                Constant:
0:296                  1 (const int)
0:296              Constant:
0:296                0 (const int)
0:296            Sequence
0:296              Constant:
0:296                0 (const int)
0:296              Constant:
0:296                1 (const int)
0:296          'ballot' ( temp highp 4-component vector of uint)
0:297      move second child to first child ( temp highp 3-component vector of float)
0:297        vector swizzle ( temp highp 3-component vector of float)
0:297          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:297            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:297              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:297              Constant:
0:297                2 (const int)
0:297            Constant:
0:297              0 (const int)
0:297          Sequence
0:297            Constant:
0:297              0 (const int)
0:297            Constant:
0:297              1 (const int)
0:297            Constant:
0:297              2 (const int)
0:297        subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of float)
0:297          vector swizzle ( temp highp 3-component vector of float)
0:297            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:297              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:297                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:297                Constant:
0:297                  2 (const int)
0:297              Constant:
0:297                0 (const int)
0:297            Sequence
0:297              Constant:
0:297                0 (const int)
0:297              Constant:
0:297                1 (const int)
0:297              Constant:
0:297                2 (const int)
0:297          'ballot' ( temp highp 4-component vector of uint)
0:298      move second child to first child ( temp highp 4-component vector of float)
0:298        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:298          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:298            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:298            Constant:
0:298              2 (const int)
0:298          Constant:
0:298            0 (const int)
0:298        subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of float)
0:298          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:298            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:298              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:298              Constant:
0:298                3 (const int)
0:298            Constant:
0:298              0 (const int)
0:298          'ballot' ( temp highp 4-component vector of uint)
0:300      move second child to first child ( temp highp int)
0:300        direct index ( temp highp int)
0:300          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:300            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:300              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:300              Constant:
0:300                2 (const int)
0:300            Constant:
0:300              1 (const int)
0:300          Constant:
0:300            0 (const int)
0:300        subgroupPartitionedExclusiveMaxNV ( global highp int)
0:300          direct index ( temp highp int)
0:300            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:300              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:300                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:300                Constant:
0:300                  0 (const int)
0:300              Constant:
0:300                1 (const int)
0:300            Constant:
0:300              0 (const int)
0:300          'ballot' ( temp highp 4-component vector of uint)
0:301      move second child to first child ( temp highp 2-component vector of int)
0:301        vector swizzle ( temp highp 2-component vector of int)
0:301          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:301            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:301              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:301              Constant:
0:301                2 (const int)
0:301            Constant:
0:301              1 (const int)
0:301          Sequence
0:301            Constant:
0:301              0 (const int)
0:301            Constant:
0:301              1 (const int)
0:301        subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of int)
0:301          vector swizzle ( temp highp 2-component vector of int)
0:301            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:301              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:301                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:301                Constant:
0:301                  1 (const int)
0:301              Constant:
0:301                1 (const int)
0:301            Sequence
0:301              Constant:
0:301                0 (const int)
0:301              Constant:
0:301                1 (const int)
0:301          'ballot' ( temp highp 4-component vector of uint)
0:302      move second child to first child ( temp highp 3-component vector of int)
0:302        vector swizzle ( temp highp 3-component vector of int)
0:302          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:302            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:302              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:302              Constant:
0:302                2 (const int)
0:302            Constant:
0:302              1 (const int)
0:302          Sequence
0:302            Constant:
0:302              0 (const int)
0:302            Constant:
0:302              1 (const int)
0:302            Constant:
0:302              2 (const int)
0:302        subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of int)
0:302          vector swizzle ( temp highp 3-component vector of int)
0:302            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:302              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:302                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:302                Constant:
0:302                  2 (const int)
0:302              Constant:
0:302                1 (const int)
0:302            Sequence
0:302              Constant:
0:302                0 (const int)
0:302              Constant:
0:302                1 (const int)
0:302              Constant:
0:302                2 (const int)
0:302          'ballot' ( temp highp 4-component vector of uint)
0:303      move second child to first child ( temp highp 4-component vector of int)
0:303        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:303          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:303            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:303            Constant:
0:303              2 (const int)
0:303          Constant:
0:303            1 (const int)
0:303        subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of int)
0:303          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:303            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:303              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:303              Constant:
0:303                3 (const int)
0:303            Constant:
0:303              1 (const int)
0:303          'ballot' ( temp highp 4-component vector of uint)
0:305      move second child to first child ( temp highp uint)
0:305        direct index ( temp highp uint)
0:305          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:305            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:305              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:305              Constant:
0:305                2 (const int)
0:305            Constant:
0:305              2 (const int)
0:305          Constant:
0:305            0 (const int)
0:305        subgroupPartitionedExclusiveMaxNV ( global highp uint)
0:305          direct index ( temp highp uint)
0:305            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:305              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:305                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:305                Constant:
0:305                  0 (const int)
0:305              Constant:
0:305                2 (const int)
0:305            Constant:
0:305              0 (const int)
0:305          'ballot' ( temp highp 4-component vector of uint)
0:306      move second child to first child ( temp highp 2-component vector of uint)
0:306        vector swizzle ( temp highp 2-component vector of uint)
0:306          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:306            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:306              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:306              Constant:
0:306                2 (const int)
0:306            Constant:
0:306              2 (const int)
0:306          Sequence
0:306            Constant:
0:306              0 (const int)
0:306            Constant:
0:306              1 (const int)
0:306        subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of uint)
0:306          vector swizzle ( temp highp 2-component vector of uint)
0:306            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:306              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:306                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:306                Constant:
0:306                  1 (const int)
0:306              Constant:
0:306                2 (const int)
0:306            Sequence
0:306              Constant:
0:306                0 (const int)
0:306              Constant:
0:306                1 (const int)
0:306          'ballot' ( temp highp 4-component vector of uint)
0:307      move second child to first child ( temp highp 3-component vector of uint)
0:307        vector swizzle ( temp highp 3-component vector of uint)
0:307          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:307            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:307              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:307              Constant:
0:307                2 (const int)
0:307            Constant:
0:307              2 (const int)
0:307          Sequence
0:307            Constant:
0:307              0 (const int)
0:307            Constant:
0:307              1 (const int)
0:307            Constant:
0:307              2 (const int)
0:307        subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of uint)
0:307          vector swizzle ( temp highp 3-component vector of uint)
0:307            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:307              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:307                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:307                Constant:
0:307                  2 (const int)
0:307              Constant:
0:307                2 (const int)
0:307            Sequence
0:307              Constant:
0:307                0 (const int)
0:307              Constant:
0:307                1 (const int)
0:307              Constant:
0:307                2 (const int)
0:307          'ballot' ( temp highp 4-component vector of uint)
0:308      move second child to first child ( temp highp 4-component vector of uint)
0:308        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:308          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:308            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:308            Constant:
0:308              2 (const int)
0:308          Constant:
0:308            2 (const int)
0:308        subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of uint)
0:308          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:308            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:308              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:308              Constant:
0:308                3 (const int)
0:308            Constant:
0:308              2 (const int)
0:308          'ballot' ( temp highp 4-component vector of uint)
0:310      move second child to first child ( temp highp int)
0:310        direct index ( temp highp int)
0:310          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:310            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:310              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:310              Constant:
0:310                2 (const int)
0:310            Constant:
0:310              1 (const int)
0:310          Constant:
0:310            0 (const int)
0:310        subgroupPartitionedExclusiveAndNV ( global highp int)
0:310          direct index ( temp highp int)
0:310            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:310              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:310                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:310                Constant:
0:310                  0 (const int)
0:310              Constant:
0:310                1 (const int)
0:310            Constant:
0:310              0 (const int)
0:310          'ballot' ( temp highp 4-component vector of uint)
0:311      move second child to first child ( temp highp 2-component vector of int)
0:311        vector swizzle ( temp highp 2-component vector of int)
0:311          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:311            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:311              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:311              Constant:
0:311                2 (const int)
0:311            Constant:
0:311              1 (const int)
0:311          Sequence
0:311            Constant:
0:311              0 (const int)
0:311            Constant:
0:311              1 (const int)
0:311        subgroupPartitionedExclusiveAndNV ( global highp 2-component vector of int)
0:311          vector swizzle ( temp highp 2-component vector of int)
0:311            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:311              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:311                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:311                Constant:
0:311                  1 (const int)
0:311              Constant:
0:311                1 (const int)
0:311            Sequence
0:311              Constant:
0:311                0 (const int)
0:311              Constant:
0:311                1 (const int)
0:311          'ballot' ( temp highp 4-component vector of uint)
0:312      move second child to first child ( temp highp 3-component vector of int)
0:312        vector swizzle ( temp highp 3-component vector of int)
0:312          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:312            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:312              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:312              Constant:
0:312                2 (const int)
0:312            Constant:
0:312              1 (const int)
0:312          Sequence
0:312            Constant:
0:312              0 (const int)
0:312            Constant:
0:312              1 (const int)
0:312            Constant:
0:312              2 (const int)
0:312        subgroupPartitionedExclusiveAndNV ( global highp 3-component vector of int)
0:312          vector swizzle ( temp highp 3-component vector of int)
0:312            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:312              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:312                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:312                Constant:
0:312                  2 (const int)
0:312              Constant:
0:312                1 (const int)
0:312            Sequence
0:312              Constant:
0:312                0 (const int)
0:312              Constant:
0:312                1 (const int)
0:312              Constant:
0:312                2 (const int)
0:312          'ballot' ( temp highp 4-component vector of uint)
0:313      move second child to first child ( temp highp 4-component vector of int)
0:313        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:313          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:313            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:313            Constant:
0:313              2 (const int)
0:313          Constant:
0:313            1 (const int)
0:313        subgroupPartitionedExclusiveAndNV ( global highp 4-component vector of int)
0:313          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:313            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:313              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:313              Constant:
0:313                3 (const int)
0:313            Constant:
0:313              1 (const int)
0:313          'ballot' ( temp highp 4-component vector of uint)
0:315      move second child to first child ( temp highp uint)
0:315        direct index ( temp highp uint)
0:315          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:315            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:315              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:315              Constant:
0:315                2 (const int)
0:315            Constant:
0:315              2 (const int)
0:315          Constant:
0:315            0 (const int)
0:315        subgroupPartitionedExclusiveAndNV ( global highp uint)
0:315          direct index ( temp highp uint)
0:315            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:315              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:315                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:315                Constant:
0:315                  0 (const int)
0:315              Constant:
0:315                2 (const int)
0:315            Constant:
0:315              0 (const int)
0:315          'ballot' ( temp highp 4-component vector of uint)
0:316      move second child to first child ( temp highp 2-component vector of uint)
0:316        vector swizzle ( temp highp 2-component vector of uint)
0:316          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:316            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:316              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:316              Constant:
0:316                2 (const int)
0:316            Constant:
0:316              2 (const int)
0:316          Sequence
0:316            Constant:
0:316              0 (const int)
0:316            Constant:
0:316              1 (const int)
0:316        subgroupPartitionedExclusiveAndNV ( global highp 2-component vector of uint)
0:316          vector swizzle ( temp highp 2-component vector of uint)
0:316            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:316              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:316                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:316                Constant:
0:316                  1 (const int)
0:316              Constant:
0:316                2 (const int)
0:316            Sequence
0:316              Constant:
0:316                0 (const int)
0:316              Constant:
0:316                1 (const int)
0:316          'ballot' ( temp highp 4-component vector of uint)
0:317      move second child to first child ( temp highp 3-component vector of uint)
0:317        vector swizzle ( temp highp 3-component vector of uint)
0:317          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:317            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:317              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:317              Constant:
0:317                2 (const int)
0:317            Constant:
0:317              2 (const int)
0:317          Sequence
0:317            Constant:
0:317              0 (const int)
0:317            Constant:
0:317              1 (const int)
0:317            Constant:
0:317              2 (const int)
0:317        subgroupPartitionedExclusiveAndNV ( global highp 3-component vector of uint)
0:317          vector swizzle ( temp highp 3-component vector of uint)
0:317            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:317              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:317                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:317                Constant:
0:317                  2 (const int)
0:317              Constant:
0:317                2 (const int)
0:317            Sequence
0:317              Constant:
0:317                0 (const int)
0:317              Constant:
0:317                1 (const int)
0:317              Constant:
0:317                2 (const int)
0:317          'ballot' ( temp highp 4-component vector of uint)
0:318      move second child to first child ( temp highp 4-component vector of uint)
0:318        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:318          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:318            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:318            Constant:
0:318              2 (const int)
0:318          Constant:
0:318            2 (const int)
0:318        subgroupPartitionedExclusiveAndNV ( global highp 4-component vector of uint)
0:318          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:318            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:318              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:318              Constant:
0:318                3 (const int)
0:318            Constant:
0:318              2 (const int)
0:318          'ballot' ( temp highp 4-component vector of uint)
0:320      move second child to first child ( temp highp int)
0:320        direct index ( temp highp int)
0:320          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:320            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:320              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:320              Constant:
0:320                3 (const int)
0:320            Constant:
0:320              1 (const int)
0:320          Constant:
0:320            0 (const int)
0:320        Convert bool to int ( temp highp int)
0:320          subgroupPartitionedExclusiveAndNV ( global bool, operation at highp)
0:320            Compare Less Than ( temp bool)
0:320              direct index ( temp highp int)
0:320                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:320                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:320                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:320                    Constant:
0:320                      0 (const int)
0:320                  Constant:
0:320                    1 (const int)
0:320                Constant:
0:320                  0 (const int)
0:320              Constant:
0:320                0 (const int)
0:320            'ballot' ( temp highp 4-component vector of uint)
0:321      move second child to first child ( temp highp 2-component vector of int)
0:321        vector swizzle ( temp highp 2-component vector of int)
0:321          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:321            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:321              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:321              Constant:
0:321                3 (const int)
0:321            Constant:
0:321              1 (const int)
0:321          Sequence
0:321            Constant:
0:321              0 (const int)
0:321            Constant:
0:321              1 (const int)
0:321        Convert bool to int ( temp highp 2-component vector of int)
0:321          subgroupPartitionedExclusiveAndNV ( global 2-component vector of bool, operation at highp)
0:321            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:321              vector swizzle ( temp highp 2-component vector of int)
0:321                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:321                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:321                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:321                    Constant:
0:321                      1 (const int)
0:321                  Constant:
0:321                    1 (const int)
0:321                Sequence
0:321                  Constant:
0:321                    0 (const int)
0:321                  Constant:
0:321                    1 (const int)
0:321              Constant:
0:321                0 (const int)
0:321                0 (const int)
0:321            'ballot' ( temp highp 4-component vector of uint)
0:322      move second child to first child ( temp highp 3-component vector of int)
0:322        vector swizzle ( temp highp 3-component vector of int)
0:322          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:322            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:322              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:322              Constant:
0:322                3 (const int)
0:322            Constant:
0:322              1 (const int)
0:322          Sequence
0:322            Constant:
0:322              0 (const int)
0:322            Constant:
0:322              1 (const int)
0:322            Constant:
0:322              2 (const int)
0:322        Convert bool to int ( temp highp 3-component vector of int)
0:322          subgroupPartitionedExclusiveAndNV ( global 3-component vector of bool, operation at highp)
0:322            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:322              vector swizzle ( temp highp 3-component vector of int)
0:322                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:322                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:322                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:322                    Constant:
0:322                      1 (const int)
0:322                  Constant:
0:322                    1 (const int)
0:322                Sequence
0:322                  Constant:
0:322                    0 (const int)
0:322                  Constant:
0:322                    1 (const int)
0:322                  Constant:
0:322                    2 (const int)
0:322              Constant:
0:322                0 (const int)
0:322                0 (const int)
0:322                0 (const int)
0:322            'ballot' ( temp highp 4-component vector of uint)
0:323      move second child to first child ( temp highp 4-component vector of int)
0:323        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:323          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:323            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:323            Constant:
0:323              3 (const int)
0:323          Constant:
0:323            1 (const int)
0:323        Convert bool to int ( temp highp 4-component vector of int)
0:323          subgroupPartitionedExclusiveAndNV ( global 4-component vector of bool, operation at highp)
0:323            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:323              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:323                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:323                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:323                  Constant:
0:323                    1 (const int)
0:323                Constant:
0:323                  1 (const int)
0:323              Constant:
0:323                0 (const int)
0:323                0 (const int)
0:323                0 (const int)
0:323                0 (const int)
0:323            'ballot' ( temp highp 4-component vector of uint)
0:325      move second child to first child ( temp highp int)
0:325        direct index ( temp highp int)
0:325          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:325            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:325              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:325              Constant:
0:325                3 (const int)
0:325            Constant:
0:325              1 (const int)
0:325          Constant:
0:325            0 (const int)
0:325        subgroupPartitionedExclusiveOrNV ( global highp int)
0:325          direct index ( temp highp int)
0:325            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:325              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:325                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:325                Constant:
0:325                  0 (const int)
0:325              Constant:
0:325                1 (const int)
0:325            Constant:
0:325              0 (const int)
0:325          'ballot' ( temp highp 4-component vector of uint)
0:326      move second child to first child ( temp highp 2-component vector of int)
0:326        vector swizzle ( temp highp 2-component vector of int)
0:326          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:326            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:326              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:326              Constant:
0:326                3 (const int)
0:326            Constant:
0:326              1 (const int)
0:326          Sequence
0:326            Constant:
0:326              0 (const int)
0:326            Constant:
0:326              1 (const int)
0:326        subgroupPartitionedExclusiveOrNV ( global highp 2-component vector of int)
0:326          vector swizzle ( temp highp 2-component vector of int)
0:326            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:326              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:326                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:326                Constant:
0:326                  1 (const int)
0:326              Constant:
0:326                1 (const int)
0:326            Sequence
0:326              Constant:
0:326                0 (const int)
0:326              Constant:
0:326                1 (const int)
0:326          'ballot' ( temp highp 4-component vector of uint)
0:327      move second child to first child ( temp highp 3-component vector of int)
0:327        vector swizzle ( temp highp 3-component vector of int)
0:327          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:327            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:327              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:327              Constant:
0:327                3 (const int)
0:327            Constant:
0:327              1 (const int)
0:327          Sequence
0:327            Constant:
0:327              0 (const int)
0:327            Constant:
0:327              1 (const int)
0:327            Constant:
0:327              2 (const int)
0:327        subgroupPartitionedExclusiveOrNV ( global highp 3-component vector of int)
0:327          vector swizzle ( temp highp 3-component vector of int)
0:327            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:327              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:327                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:327                Constant:
0:327                  2 (const int)
0:327              Constant:
0:327                1 (const int)
0:327            Sequence
0:327              Constant:
0:327                0 (const int)
0:327              Constant:
0:327                1 (const int)
0:327              Constant:
0:327                2 (const int)
0:327          'ballot' ( temp highp 4-component vector of uint)
0:328      move second child to first child ( temp highp 4-component vector of int)
0:328        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:328          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:328            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:328            Constant:
0:328              3 (const int)
0:328          Constant:
0:328            1 (const int)
0:328        subgroupPartitionedExclusiveOrNV ( global highp 4-component vector of int)
0:328          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:328            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:328              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:328              Constant:
0:328                3 (const int)
0:328            Constant:
0:328              1 (const int)
0:328          'ballot' ( temp highp 4-component vector of uint)
0:330      move second child to first child ( temp highp uint)
0:330        direct index ( temp highp uint)
0:330          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:330            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:330              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:330              Constant:
0:330                3 (const int)
0:330            Constant:
0:330              2 (const int)
0:330          Constant:
0:330            0 (const int)
0:330        subgroupPartitionedExclusiveOrNV ( global highp uint)
0:330          direct index ( temp highp uint)
0:330            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:330              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:330                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:330                Constant:
0:330                  0 (const int)
0:330              Constant:
0:330                2 (const int)
0:330            Constant:
0:330              0 (const int)
0:330          'ballot' ( temp highp 4-component vector of uint)
0:331      move second child to first child ( temp highp 2-component vector of uint)
0:331        vector swizzle ( temp highp 2-component vector of uint)
0:331          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:331            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:331              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:331              Constant:
0:331                3 (const int)
0:331            Constant:
0:331              2 (const int)
0:331          Sequence
0:331            Constant:
0:331              0 (const int)
0:331            Constant:
0:331              1 (const int)
0:331        subgroupPartitionedExclusiveOrNV ( global highp 2-component vector of uint)
0:331          vector swizzle ( temp highp 2-component vector of uint)
0:331            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:331              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:331                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:331                Constant:
0:331                  1 (const int)
0:331              Constant:
0:331                2 (const int)
0:331            Sequence
0:331              Constant:
0:331                0 (const int)
0:331              Constant:
0:331                1 (const int)
0:331          'ballot' ( temp highp 4-component vector of uint)
0:332      move second child to first child ( temp highp 3-component vector of uint)
0:332        vector swizzle ( temp highp 3-component vector of uint)
0:332          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:332            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:332              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:332              Constant:
0:332                3 (const int)
0:332            Constant:
0:332              2 (const int)
0:332          Sequence
0:332            Constant:
0:332              0 (const int)
0:332            Constant:
0:332              1 (const int)
0:332            Constant:
0:332              2 (const int)
0:332        subgroupPartitionedExclusiveOrNV ( global highp 3-component vector of uint)
0:332          vector swizzle ( temp highp 3-component vector of uint)
0:332            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:332              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:332                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:332                Constant:
0:332                  2 (const int)
0:332              Constant:
0:332                2 (const int)
0:332            Sequence
0:332              Constant:
0:332                0 (const int)
0:332              Constant:
0:332                1 (const int)
0:332              Constant:
0:332                2 (const int)
0:332          'ballot' ( temp highp 4-component vector of uint)
0:333      move second child to first child ( temp highp 4-component vector of uint)
0:333        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:333          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:333            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:333            Constant:
0:333              3 (const int)
0:333          Constant:
0:333            2 (const int)
0:333        subgroupPartitionedExclusiveOrNV ( global highp 4-component vector of uint)
0:333          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:333            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:333              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:333              Constant:
0:333                3 (const int)
0:333            Constant:
0:333              2 (const int)
0:333          'ballot' ( temp highp 4-component vector of uint)
0:335      move second child to first child ( temp highp int)
0:335        direct index ( temp highp int)
0:335          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:335            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:335              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:335              Constant:
0:335                3 (const int)
0:335            Constant:
0:335              1 (const int)
0:335          Constant:
0:335            0 (const int)
0:335        Convert bool to int ( temp highp int)
0:335          subgroupPartitionedExclusiveOrNV ( global bool, operation at highp)
0:335            Compare Less Than ( temp bool)
0:335              direct index ( temp highp int)
0:335                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:335                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:335                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:335                    Constant:
0:335                      0 (const int)
0:335                  Constant:
0:335                    1 (const int)
0:335                Constant:
0:335                  0 (const int)
0:335              Constant:
0:335                0 (const int)
0:335            'ballot' ( temp highp 4-component vector of uint)
0:336      move second child to first child ( temp highp 2-component vector of int)
0:336        vector swizzle ( temp highp 2-component vector of int)
0:336          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:336            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:336              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:336              Constant:
0:336                3 (const int)
0:336            Constant:
0:336              1 (const int)
0:336          Sequence
0:336            Constant:
0:336              0 (const int)
0:336            Constant:
0:336              1 (const int)
0:336        Convert bool to int ( temp highp 2-component vector of int)
0:336          subgroupPartitionedExclusiveOrNV ( global 2-component vector of bool, operation at highp)
0:336            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:336              vector swizzle ( temp highp 2-component vector of int)
0:336                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:336                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:336                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:336                    Constant:
0:336                      1 (const int)
0:336                  Constant:
0:336                    1 (const int)
0:336                Sequence
0:336                  Constant:
0:336                    0 (const int)
0:336                  Constant:
0:336                    1 (const int)
0:336              Constant:
0:336                0 (const int)
0:336                0 (const int)
0:336            'ballot' ( temp highp 4-component vector of uint)
0:337      move second child to first child ( temp highp 3-component vector of int)
0:337        vector swizzle ( temp highp 3-component vector of int)
0:337          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:337            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:337              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:337              Constant:
0:337                3 (const int)
0:337            Constant:
0:337              1 (const int)
0:337          Sequence
0:337            Constant:
0:337              0 (const int)
0:337            Constant:
0:337              1 (const int)
0:337            Constant:
0:337              2 (const int)
0:337        Convert bool to int ( temp highp 3-component vector of int)
0:337          subgroupPartitionedExclusiveOrNV ( global 3-component vector of bool, operation at highp)
0:337            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:337              vector swizzle ( temp highp 3-component vector of int)
0:337                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:337                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:337                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:337                    Constant:
0:337                      1 (const int)
0:337                  Constant:
0:337                    1 (const int)
0:337                Sequence
0:337                  Constant:
0:337                    0 (const int)
0:337                  Constant:
0:337                    1 (const int)
0:337                  Constant:
0:337                    2 (const int)
0:337              Constant:
0:337                0 (const int)
0:337                0 (const int)
0:337                0 (const int)
0:337            'ballot' ( temp highp 4-component vector of uint)
0:338      move second child to first child ( temp highp 4-component vector of int)
0:338        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:338          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:338            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:338            Constant:
0:338              3 (const int)
0:338          Constant:
0:338            1 (const int)
0:338        Convert bool to int ( temp highp 4-component vector of int)
0:338          subgroupPartitionedExclusiveOrNV ( global 4-component vector of bool, operation at highp)
0:338            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:338              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:338                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:338                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:338                  Constant:
0:338                    1 (const int)
0:338                Constant:
0:338                  1 (const int)
0:338              Constant:
0:338                0 (const int)
0:338                0 (const int)
0:338                0 (const int)
0:338                0 (const int)
0:338            'ballot' ( temp highp 4-component vector of uint)
0:340      move second child to first child ( temp highp int)
0:340        direct index ( temp highp int)
0:340          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:340            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:340              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:340              Constant:
0:340                3 (const int)
0:340            Constant:
0:340              1 (const int)
0:340          Constant:
0:340            0 (const int)
0:340        subgroupPartitionedExclusiveXorNV ( global highp int)
0:340          direct index ( temp highp int)
0:340            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:340              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:340                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:340                Constant:
0:340                  0 (const int)
0:340              Constant:
0:340                1 (const int)
0:340            Constant:
0:340              0 (const int)
0:340          'ballot' ( temp highp 4-component vector of uint)
0:341      move second child to first child ( temp highp 2-component vector of int)
0:341        vector swizzle ( temp highp 2-component vector of int)
0:341          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:341            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:341              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:341              Constant:
0:341                3 (const int)
0:341            Constant:
0:341              1 (const int)
0:341          Sequence
0:341            Constant:
0:341              0 (const int)
0:341            Constant:
0:341              1 (const int)
0:341        subgroupPartitionedExclusiveXorNV ( global highp 2-component vector of int)
0:341          vector swizzle ( temp highp 2-component vector of int)
0:341            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:341              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:341                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:341                Constant:
0:341                  1 (const int)
0:341              Constant:
0:341                1 (const int)
0:341            Sequence
0:341              Constant:
0:341                0 (const int)
0:341              Constant:
0:341                1 (const int)
0:341          'ballot' ( temp highp 4-component vector of uint)
0:342      move second child to first child ( temp highp 3-component vector of int)
0:342        vector swizzle ( temp highp 3-component vector of int)
0:342          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:342            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:342              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:342              Constant:
0:342                3 (const int)
0:342            Constant:
0:342              1 (const int)
0:342          Sequence
0:342            Constant:
0:342              0 (const int)
0:342            Constant:
0:342              1 (const int)
0:342            Constant:
0:342              2 (const int)
0:342        subgroupPartitionedExclusiveXorNV ( global highp 3-component vector of int)
0:342          vector swizzle ( temp highp 3-component vector of int)
0:342            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:342              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:342                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:342                Constant:
0:342                  2 (const int)
0:342              Constant:
0:342                1 (const int)
0:342            Sequence
0:342              Constant:
0:342                0 (const int)
0:342              Constant:
0:342                1 (const int)
0:342              Constant:
0:342                2 (const int)
0:342          'ballot' ( temp highp 4-component vector of uint)
0:343      move second child to first child ( temp highp 4-component vector of int)
0:343        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:343          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:343            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:343            Constant:
0:343              3 (const int)
0:343          Constant:
0:343            1 (const int)
0:343        subgroupPartitionedExclusiveXorNV ( global highp 4-component vector of int)
0:343          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:343            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:343              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:343              Constant:
0:343                3 (const int)
0:343            Constant:
0:343              1 (const int)
0:343          'ballot' ( temp highp 4-component vector of uint)
0:345      move second child to first child ( temp highp uint)
0:345        direct index ( temp highp uint)
0:345          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:345            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:345              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:345              Constant:
0:345                0 (const int)
0:345            Constant:
0:345              2 (const int)
0:345          Constant:
0:345            0 (const int)
0:345        subgroupPartitionedExclusiveXorNV ( global highp uint)
0:345          direct index ( temp highp uint)
0:345            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:345              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:345                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:345                Constant:
0:345                  0 (const int)
0:345              Constant:
0:345                2 (const int)
0:345            Constant:
0:345              0 (const int)
0:345          'ballot' ( temp highp 4-component vector of uint)
0:346      move second child to first child ( temp highp 2-component vector of uint)
0:346        vector swizzle ( temp highp 2-component vector of uint)
0:346          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:346            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:346              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:346              Constant:
0:346                0 (const int)
0:346            Constant:
0:346              2 (const int)
0:346          Sequence
0:346            Constant:
0:346              0 (const int)
0:346            Constant:
0:346              1 (const int)
0:346        subgroupPartitionedExclusiveXorNV ( global highp 2-component vector of uint)
0:346          vector swizzle ( temp highp 2-component vector of uint)
0:346            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:346              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:346                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:346                Constant:
0:346                  1 (const int)
0:346              Constant:
0:346                2 (const int)
0:346            Sequence
0:346              Constant:
0:346                0 (const int)
0:346              Constant:
0:346                1 (const int)
0:346          'ballot' ( temp highp 4-component vector of uint)
0:347      move second child to first child ( temp highp 3-component vector of uint)
0:347        vector swizzle ( temp highp 3-component vector of uint)
0:347          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:347            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:347              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:347              Constant:
0:347                0 (const int)
0:347            Constant:
0:347              2 (const int)
0:347          Sequence
0:347            Constant:
0:347              0 (const int)
0:347            Constant:
0:347              1 (const int)
0:347            Constant:
0:347              2 (const int)
0:347        subgroupPartitionedExclusiveXorNV ( global highp 3-component vector of uint)
0:347          vector swizzle ( temp highp 3-component vector of uint)
0:347            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:347              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:347                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:347                Constant:
0:347                  2 (const int)
0:347              Constant:
0:347                2 (const int)
0:347            Sequence
0:347              Constant:
0:347                0 (const int)
0:347              Constant:
0:347                1 (const int)
0:347              Constant:
0:347                2 (const int)
0:347          'ballot' ( temp highp 4-component vector of uint)
0:348      move second child to first child ( temp highp 4-component vector of uint)
0:348        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:348          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:348            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:348            Constant:
0:348              0 (const int)
0:348          Constant:
0:348            2 (const int)
0:348        subgroupPartitionedExclusiveXorNV ( global highp 4-component vector of uint)
0:348          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:348            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:348              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:348              Constant:
0:348                3 (const int)
0:348            Constant:
0:348              2 (const int)
0:348          'ballot' ( temp highp 4-component vector of uint)
0:350      move second child to first child ( temp highp int)
0:350        direct index ( temp highp int)
0:350          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:350            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:350              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:350              Constant:
0:350                0 (const int)
0:350            Constant:
0:350              1 (const int)
0:350          Constant:
0:350            0 (const int)
0:350        Convert bool to int ( temp highp int)
0:350          subgroupPartitionedExclusiveXorNV ( global bool, operation at highp)
0:350            Compare Less Than ( temp bool)
0:350              direct index ( temp highp int)
0:350                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:350                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:350                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:350                    Constant:
0:350                      0 (const int)
0:350                  Constant:
0:350                    1 (const int)
0:350                Constant:
0:350                  0 (const int)
0:350              Constant:
0:350                0 (const int)
0:350            'ballot' ( temp highp 4-component vector of uint)
0:351      move second child to first child ( temp highp 2-component vector of int)
0:351        vector swizzle ( temp highp 2-component vector of int)
0:351          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:351            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:351              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:351              Constant:
0:351                0 (const int)
0:351            Constant:
0:351              1 (const int)
0:351          Sequence
0:351            Constant:
0:351              0 (const int)
0:351            Constant:
0:351              1 (const int)
0:351        Convert bool to int ( temp highp 2-component vector of int)
0:351          subgroupPartitionedExclusiveXorNV ( global 2-component vector of bool, operation at highp)
0:351            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:351              vector swizzle ( temp highp 2-component vector of int)
0:351                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:351                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:351                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:351                    Constant:
0:351                      1 (const int)
0:351                  Constant:
0:351                    1 (const int)
0:351                Sequence
0:351                  Constant:
0:351                    0 (const int)
0:351                  Constant:
0:351                    1 (const int)
0:351              Constant:
0:351                0 (const int)
0:351                0 (const int)
0:351            'ballot' ( temp highp 4-component vector of uint)
0:352      move second child to first child ( temp highp 3-component vector of int)
0:352        vector swizzle ( temp highp 3-component vector of int)
0:352          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:352            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:352              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:352              Constant:
0:352                0 (const int)
0:352            Constant:
0:352              1 (const int)
0:352          Sequence
0:352            Constant:
0:352              0 (const int)
0:352            Constant:
0:352              1 (const int)
0:352            Constant:
0:352              2 (const int)
0:352        Convert bool to int ( temp highp 3-component vector of int)
0:352          subgroupPartitionedExclusiveXorNV ( global 3-component vector of bool, operation at highp)
0:352            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:352              vector swizzle ( temp highp 3-component vector of int)
0:352                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:352                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:352                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:352                    Constant:
0:352                      1 (const int)
0:352                  Constant:
0:352                    1 (const int)
0:352                Sequence
0:352                  Constant:
0:352                    0 (const int)
0:352                  Constant:
0:352                    1 (const int)
0:352                  Constant:
0:352                    2 (const int)
0:352              Constant:
0:352                0 (const int)
0:352                0 (const int)
0:352                0 (const int)
0:352            'ballot' ( temp highp 4-component vector of uint)
0:353      move second child to first child ( temp highp 4-component vector of int)
0:353        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:353          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:353            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:353            Constant:
0:353              0 (const int)
0:353          Constant:
0:353            1 (const int)
0:353        Convert bool to int ( temp highp 4-component vector of int)
0:353          subgroupPartitionedExclusiveXorNV ( global 4-component vector of bool, operation at highp)
0:353            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:353              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:353                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:353                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:353                  Constant:
0:353                    1 (const int)
0:353                Constant:
0:353                  1 (const int)
0:353              Constant:
0:353                0 (const int)
0:353                0 (const int)
0:353                0 (const int)
0:353                0 (const int)
0:353            'ballot' ( temp highp 4-component vector of uint)
0:?   Linker Objects
0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
0:?       8 (const uint)
0:?       1 (const uint)
0:?       1 (const uint)
0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})


Linked compute stage:


Shader version: 320
Requested GL_KHR_shader_subgroup_basic
Requested GL_NV_shader_subgroup_partitioned
local_size = (8, 1, 1)
0:? Sequence
0:14  Function Definition: main( ( global void)
0:14    Function Parameters: 
0:16    Sequence
0:16      Sequence
0:16        move second child to first child ( temp highp uint)
0:16          'invocation' ( temp highp uint)
0:16          mod ( temp mediump uint)
0:16            add ( temp mediump uint)
0:16              'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:16              'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:16            Constant:
0:16              4 (const uint)
0:18      Sequence
0:18        move second child to first child ( temp highp 4-component vector of uint)
0:18          'ballot' ( temp highp 4-component vector of uint)
0:18          subgroupPartitionNV ( global highp 4-component vector of uint)
0:18            'invocation' ( temp highp uint)
0:20      move second child to first child ( temp highp 4-component vector of uint)
0:20        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:20          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:20            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:20            Constant:
0:20              0 (const int)
0:20          Constant:
0:20            2 (const int)
0:20        subgroupPartitionNV ( global highp 4-component vector of uint)
0:20          direct index ( temp highp float)
0:20            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:20              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:20                Constant:
0:20                  0 (const int)
0:20              Constant:
0:20                0 (const int)
0:20            Constant:
0:20              0 (const int)
0:21      move second child to first child ( temp highp 4-component vector of uint)
0:21        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:21          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:21            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:21            Constant:
0:21              0 (const int)
0:21          Constant:
0:21            2 (const int)
0:21        subgroupPartitionNV ( global highp 4-component vector of uint)
0:21          vector swizzle ( temp highp 2-component vector of float)
0:21            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:21              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:21                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:21                Constant:
0:21                  0 (const int)
0:21              Constant:
0:21                0 (const int)
0:21            Sequence
0:21              Constant:
0:21                0 (const int)
0:21              Constant:
0:21                1 (const int)
0:22      move second child to first child ( temp highp 4-component vector of uint)
0:22        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:22          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:22            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:22            Constant:
0:22              0 (const int)
0:22          Constant:
0:22            2 (const int)
0:22        subgroupPartitionNV ( global highp 4-component vector of uint)
0:22          vector swizzle ( temp highp 3-component vector of float)
0:22            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:22              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:22                Constant:
0:22                  0 (const int)
0:22              Constant:
0:22                0 (const int)
0:22            Sequence
0:22              Constant:
0:22                0 (const int)
0:22              Constant:
0:22                1 (const int)
0:22              Constant:
0:22                2 (const int)
0:23      move second child to first child ( temp highp 4-component vector of uint)
0:23        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:23          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:23            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:23            Constant:
0:23              0 (const int)
0:23          Constant:
0:23            2 (const int)
0:23        subgroupPartitionNV ( global highp 4-component vector of uint)
0:23          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:23            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:23              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:23              Constant:
0:23                0 (const int)
0:23            Constant:
0:23              0 (const int)
0:25      move second child to first child ( temp highp 4-component vector of uint)
0:25        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:25          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:25            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:25            Constant:
0:25              0 (const int)
0:25          Constant:
0:25            2 (const int)
0:25        subgroupPartitionNV ( global highp 4-component vector of uint)
0:25          direct index ( temp highp int)
0:25            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:25                Constant:
0:25                  0 (const int)
0:25              Constant:
0:25                1 (const int)
0:25            Constant:
0:25              0 (const int)
0:26      move second child to first child ( temp highp 4-component vector of uint)
0:26        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:26          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:26            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:26            Constant:
0:26              0 (const int)
0:26          Constant:
0:26            2 (const int)
0:26        subgroupPartitionNV ( global highp 4-component vector of uint)
0:26          vector swizzle ( temp highp 2-component vector of int)
0:26            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:26                Constant:
0:26                  0 (const int)
0:26              Constant:
0:26                1 (const int)
0:26            Sequence
0:26              Constant:
0:26                0 (const int)
0:26              Constant:
0:26                1 (const int)
0:27      move second child to first child ( temp highp 4-component vector of uint)
0:27        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:27          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:27            Constant:
0:27              0 (const int)
0:27          Constant:
0:27            2 (const int)
0:27        subgroupPartitionNV ( global highp 4-component vector of uint)
0:27          vector swizzle ( temp highp 3-component vector of int)
0:27            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:27              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:27                Constant:
0:27                  0 (const int)
0:27              Constant:
0:27                1 (const int)
0:27            Sequence
0:27              Constant:
0:27                0 (const int)
0:27              Constant:
0:27                1 (const int)
0:27              Constant:
0:27                2 (const int)
0:28      move second child to first child ( temp highp 4-component vector of uint)
0:28        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:28          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:28            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:28            Constant:
0:28              0 (const int)
0:28          Constant:
0:28            2 (const int)
0:28        subgroupPartitionNV ( global highp 4-component vector of uint)
0:28          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:28            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:28              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:28              Constant:
0:28                0 (const int)
0:28            Constant:
0:28              1 (const int)
0:30      move second child to first child ( temp highp 4-component vector of uint)
0:30        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:30          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:30            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:30            Constant:
0:30              0 (const int)
0:30          Constant:
0:30            2 (const int)
0:30        subgroupPartitionNV ( global highp 4-component vector of uint)
0:30          direct index ( temp highp uint)
0:30            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:30                Constant:
0:30                  0 (const int)
0:30              Constant:
0:30                2 (const int)
0:30            Constant:
0:30              0 (const int)
0:31      move second child to first child ( temp highp 4-component vector of uint)
0:31        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:31          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:31            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:31            Constant:
0:31              0 (const int)
0:31          Constant:
0:31            2 (const int)
0:31        subgroupPartitionNV ( global highp 4-component vector of uint)
0:31          vector swizzle ( temp highp 2-component vector of uint)
0:31            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:31                Constant:
0:31                  0 (const int)
0:31              Constant:
0:31                2 (const int)
0:31            Sequence
0:31              Constant:
0:31                0 (const int)
0:31              Constant:
0:31                1 (const int)
0:32      move second child to first child ( temp highp 4-component vector of uint)
0:32        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:32          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:32            Constant:
0:32              0 (const int)
0:32          Constant:
0:32            2 (const int)
0:32        subgroupPartitionNV ( global highp 4-component vector of uint)
0:32          vector swizzle ( temp highp 3-component vector of uint)
0:32            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:32              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:32                Constant:
0:32                  0 (const int)
0:32              Constant:
0:32                2 (const int)
0:32            Sequence
0:32              Constant:
0:32                0 (const int)
0:32              Constant:
0:32                1 (const int)
0:32              Constant:
0:32                2 (const int)
0:33      move second child to first child ( temp highp 4-component vector of uint)
0:33        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:33          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:33            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:33            Constant:
0:33              0 (const int)
0:33          Constant:
0:33            2 (const int)
0:33        subgroupPartitionNV ( global highp 4-component vector of uint)
0:33          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:33            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:33              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:33              Constant:
0:33                0 (const int)
0:33            Constant:
0:33              2 (const int)
0:35      move second child to first child ( temp highp 4-component vector of uint)
0:35        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:35          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:35            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:35            Constant:
0:35              1 (const int)
0:35          Constant:
0:35            2 (const int)
0:35        subgroupPartitionNV ( global highp 4-component vector of uint)
0:35          Convert int to bool ( temp bool)
0:35            direct index ( temp highp int)
0:35              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:35                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:35                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:35                  Constant:
0:35                    0 (const int)
0:35                Constant:
0:35                  1 (const int)
0:35              Constant:
0:35                0 (const int)
0:36      move second child to first child ( temp highp 4-component vector of uint)
0:36        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:36          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:36            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:36            Constant:
0:36              1 (const int)
0:36          Constant:
0:36            2 (const int)
0:36        subgroupPartitionNV ( global highp 4-component vector of uint)
0:36          Convert int to bool ( temp 2-component vector of bool)
0:36            vector swizzle ( temp highp 2-component vector of int)
0:36              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:36                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:36                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:36                  Constant:
0:36                    0 (const int)
0:36                Constant:
0:36                  1 (const int)
0:36              Sequence
0:36                Constant:
0:36                  0 (const int)
0:36                Constant:
0:36                  1 (const int)
0:37      move second child to first child ( temp highp 4-component vector of uint)
0:37        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:37          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:37            Constant:
0:37              1 (const int)
0:37          Constant:
0:37            2 (const int)
0:37        subgroupPartitionNV ( global highp 4-component vector of uint)
0:37          Convert int to bool ( temp 3-component vector of bool)
0:37            vector swizzle ( temp highp 3-component vector of int)
0:37              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:37                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:37                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:37                  Constant:
0:37                    0 (const int)
0:37                Constant:
0:37                  1 (const int)
0:37              Sequence
0:37                Constant:
0:37                  0 (const int)
0:37                Constant:
0:37                  1 (const int)
0:37                Constant:
0:37                  2 (const int)
0:38      move second child to first child ( temp highp 4-component vector of uint)
0:38        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:38          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:38            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:38            Constant:
0:38              1 (const int)
0:38          Constant:
0:38            2 (const int)
0:38        subgroupPartitionNV ( global highp 4-component vector of uint)
0:38          Convert int to bool ( temp 4-component vector of bool)
0:38            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:38              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:38                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:38                Constant:
0:38                  0 (const int)
0:38              Constant:
0:38                1 (const int)
0:40      move second child to first child ( temp highp float)
0:40        direct index ( temp highp float)
0:40          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:40            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:40              Constant:
0:40                1 (const int)
0:40            Constant:
0:40              0 (const int)
0:40          Constant:
0:40            0 (const int)
0:40        subgroupPartitionedAddNV ( global highp float)
0:40          direct index ( temp highp float)
0:40            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:40                Constant:
0:40                  0 (const int)
0:40              Constant:
0:40                0 (const int)
0:40            Constant:
0:40              0 (const int)
0:40          'ballot' ( temp highp 4-component vector of uint)
0:41      move second child to first child ( temp highp 2-component vector of float)
0:41        vector swizzle ( temp highp 2-component vector of float)
0:41          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:41            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:41              Constant:
0:41                1 (const int)
0:41            Constant:
0:41              0 (const int)
0:41          Sequence
0:41            Constant:
0:41              0 (const int)
0:41            Constant:
0:41              1 (const int)
0:41        subgroupPartitionedAddNV ( global highp 2-component vector of float)
0:41          vector swizzle ( temp highp 2-component vector of float)
0:41            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:41                Constant:
0:41                  1 (const int)
0:41              Constant:
0:41                0 (const int)
0:41            Sequence
0:41              Constant:
0:41                0 (const int)
0:41              Constant:
0:41                1 (const int)
0:41          'ballot' ( temp highp 4-component vector of uint)
0:42      move second child to first child ( temp highp 3-component vector of float)
0:42        vector swizzle ( temp highp 3-component vector of float)
0:42          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:42            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:42              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:42              Constant:
0:42                1 (const int)
0:42            Constant:
0:42              0 (const int)
0:42          Sequence
0:42            Constant:
0:42              0 (const int)
0:42            Constant:
0:42              1 (const int)
0:42            Constant:
0:42              2 (const int)
0:42        subgroupPartitionedAddNV ( global highp 3-component vector of float)
0:42          vector swizzle ( temp highp 3-component vector of float)
0:42            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:42              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:42                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:42                Constant:
0:42                  2 (const int)
0:42              Constant:
0:42                0 (const int)
0:42            Sequence
0:42              Constant:
0:42                0 (const int)
0:42              Constant:
0:42                1 (const int)
0:42              Constant:
0:42                2 (const int)
0:42          'ballot' ( temp highp 4-component vector of uint)
0:43      move second child to first child ( temp highp 4-component vector of float)
0:43        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:43          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:43            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:43            Constant:
0:43              1 (const int)
0:43          Constant:
0:43            0 (const int)
0:43        subgroupPartitionedAddNV ( global highp 4-component vector of float)
0:43          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:43            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:43              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:43              Constant:
0:43                3 (const int)
0:43            Constant:
0:43              0 (const int)
0:43          'ballot' ( temp highp 4-component vector of uint)
0:45      move second child to first child ( temp highp int)
0:45        direct index ( temp highp int)
0:45          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:45            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:45              Constant:
0:45                1 (const int)
0:45            Constant:
0:45              1 (const int)
0:45          Constant:
0:45            0 (const int)
0:45        subgroupPartitionedAddNV ( global highp int)
0:45          direct index ( temp highp int)
0:45            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:45              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:45                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:45                Constant:
0:45                  0 (const int)
0:45              Constant:
0:45                1 (const int)
0:45            Constant:
0:45              0 (const int)
0:45          'ballot' ( temp highp 4-component vector of uint)
0:46      move second child to first child ( temp highp 2-component vector of int)
0:46        vector swizzle ( temp highp 2-component vector of int)
0:46          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:46            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:46              Constant:
0:46                1 (const int)
0:46            Constant:
0:46              1 (const int)
0:46          Sequence
0:46            Constant:
0:46              0 (const int)
0:46            Constant:
0:46              1 (const int)
0:46        subgroupPartitionedAddNV ( global highp 2-component vector of int)
0:46          vector swizzle ( temp highp 2-component vector of int)
0:46            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:46              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:46                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:46                Constant:
0:46                  1 (const int)
0:46              Constant:
0:46                1 (const int)
0:46            Sequence
0:46              Constant:
0:46                0 (const int)
0:46              Constant:
0:46                1 (const int)
0:46          'ballot' ( temp highp 4-component vector of uint)
0:47      move second child to first child ( temp highp 3-component vector of int)
0:47        vector swizzle ( temp highp 3-component vector of int)
0:47          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:47            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:47              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:47              Constant:
0:47                1 (const int)
0:47            Constant:
0:47              1 (const int)
0:47          Sequence
0:47            Constant:
0:47              0 (const int)
0:47            Constant:
0:47              1 (const int)
0:47            Constant:
0:47              2 (const int)
0:47        subgroupPartitionedAddNV ( global highp 3-component vector of int)
0:47          vector swizzle ( temp highp 3-component vector of int)
0:47            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:47              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:47                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:47                Constant:
0:47                  2 (const int)
0:47              Constant:
0:47                1 (const int)
0:47            Sequence
0:47              Constant:
0:47                0 (const int)
0:47              Constant:
0:47                1 (const int)
0:47              Constant:
0:47                2 (const int)
0:47          'ballot' ( temp highp 4-component vector of uint)
0:48      move second child to first child ( temp highp 4-component vector of int)
0:48        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:48          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:48            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:48            Constant:
0:48              1 (const int)
0:48          Constant:
0:48            1 (const int)
0:48        subgroupPartitionedAddNV ( global highp 4-component vector of int)
0:48          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:48            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:48              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:48              Constant:
0:48                3 (const int)
0:48            Constant:
0:48              1 (const int)
0:48          'ballot' ( temp highp 4-component vector of uint)
0:50      move second child to first child ( temp highp uint)
0:50        direct index ( temp highp uint)
0:50          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:50            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:50              Constant:
0:50                1 (const int)
0:50            Constant:
0:50              2 (const int)
0:50          Constant:
0:50            0 (const int)
0:50        subgroupPartitionedAddNV ( global highp uint)
0:50          direct index ( temp highp uint)
0:50            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:50                Constant:
0:50                  0 (const int)
0:50              Constant:
0:50                2 (const int)
0:50            Constant:
0:50              0 (const int)
0:50          'ballot' ( temp highp 4-component vector of uint)
0:51      move second child to first child ( temp highp 2-component vector of uint)
0:51        vector swizzle ( temp highp 2-component vector of uint)
0:51          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:51            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:51              Constant:
0:51                1 (const int)
0:51            Constant:
0:51              2 (const int)
0:51          Sequence
0:51            Constant:
0:51              0 (const int)
0:51            Constant:
0:51              1 (const int)
0:51        subgroupPartitionedAddNV ( global highp 2-component vector of uint)
0:51          vector swizzle ( temp highp 2-component vector of uint)
0:51            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:51                Constant:
0:51                  1 (const int)
0:51              Constant:
0:51                2 (const int)
0:51            Sequence
0:51              Constant:
0:51                0 (const int)
0:51              Constant:
0:51                1 (const int)
0:51          'ballot' ( temp highp 4-component vector of uint)
0:52      move second child to first child ( temp highp 3-component vector of uint)
0:52        vector swizzle ( temp highp 3-component vector of uint)
0:52          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:52              Constant:
0:52                1 (const int)
0:52            Constant:
0:52              2 (const int)
0:52          Sequence
0:52            Constant:
0:52              0 (const int)
0:52            Constant:
0:52              1 (const int)
0:52            Constant:
0:52              2 (const int)
0:52        subgroupPartitionedAddNV ( global highp 3-component vector of uint)
0:52          vector swizzle ( temp highp 3-component vector of uint)
0:52            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:52              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:52                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:52                Constant:
0:52                  2 (const int)
0:52              Constant:
0:52                2 (const int)
0:52            Sequence
0:52              Constant:
0:52                0 (const int)
0:52              Constant:
0:52                1 (const int)
0:52              Constant:
0:52                2 (const int)
0:52          'ballot' ( temp highp 4-component vector of uint)
0:53      move second child to first child ( temp highp 4-component vector of uint)
0:53        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:53          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:53            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:53            Constant:
0:53              1 (const int)
0:53          Constant:
0:53            2 (const int)
0:53        subgroupPartitionedAddNV ( global highp 4-component vector of uint)
0:53          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:53            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:53              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:53              Constant:
0:53                3 (const int)
0:53            Constant:
0:53              2 (const int)
0:53          'ballot' ( temp highp 4-component vector of uint)
0:55      move second child to first child ( temp highp float)
0:55        direct index ( temp highp float)
0:55          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:55            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:55              Constant:
0:55                2 (const int)
0:55            Constant:
0:55              0 (const int)
0:55          Constant:
0:55            0 (const int)
0:55        subgroupPartitionedMulNV ( global highp float)
0:55          direct index ( temp highp float)
0:55            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:55                Constant:
0:55                  0 (const int)
0:55              Constant:
0:55                0 (const int)
0:55            Constant:
0:55              0 (const int)
0:55          'ballot' ( temp highp 4-component vector of uint)
0:56      move second child to first child ( temp highp 2-component vector of float)
0:56        vector swizzle ( temp highp 2-component vector of float)
0:56          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:56            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:56              Constant:
0:56                2 (const int)
0:56            Constant:
0:56              0 (const int)
0:56          Sequence
0:56            Constant:
0:56              0 (const int)
0:56            Constant:
0:56              1 (const int)
0:56        subgroupPartitionedMulNV ( global highp 2-component vector of float)
0:56          vector swizzle ( temp highp 2-component vector of float)
0:56            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:56                Constant:
0:56                  1 (const int)
0:56              Constant:
0:56                0 (const int)
0:56            Sequence
0:56              Constant:
0:56                0 (const int)
0:56              Constant:
0:56                1 (const int)
0:56          'ballot' ( temp highp 4-component vector of uint)
0:57      move second child to first child ( temp highp 3-component vector of float)
0:57        vector swizzle ( temp highp 3-component vector of float)
0:57          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:57              Constant:
0:57                2 (const int)
0:57            Constant:
0:57              0 (const int)
0:57          Sequence
0:57            Constant:
0:57              0 (const int)
0:57            Constant:
0:57              1 (const int)
0:57            Constant:
0:57              2 (const int)
0:57        subgroupPartitionedMulNV ( global highp 3-component vector of float)
0:57          vector swizzle ( temp highp 3-component vector of float)
0:57            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:57              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:57                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:57                Constant:
0:57                  2 (const int)
0:57              Constant:
0:57                0 (const int)
0:57            Sequence
0:57              Constant:
0:57                0 (const int)
0:57              Constant:
0:57                1 (const int)
0:57              Constant:
0:57                2 (const int)
0:57          'ballot' ( temp highp 4-component vector of uint)
0:58      move second child to first child ( temp highp 4-component vector of float)
0:58        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:58          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:58            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:58            Constant:
0:58              2 (const int)
0:58          Constant:
0:58            0 (const int)
0:58        subgroupPartitionedMulNV ( global highp 4-component vector of float)
0:58          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:58            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:58              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:58              Constant:
0:58                3 (const int)
0:58            Constant:
0:58              0 (const int)
0:58          'ballot' ( temp highp 4-component vector of uint)
0:60      move second child to first child ( temp highp int)
0:60        direct index ( temp highp int)
0:60          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:60            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:60              Constant:
0:60                2 (const int)
0:60            Constant:
0:60              1 (const int)
0:60          Constant:
0:60            0 (const int)
0:60        subgroupPartitionedMulNV ( global highp int)
0:60          direct index ( temp highp int)
0:60            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:60                Constant:
0:60                  0 (const int)
0:60              Constant:
0:60                1 (const int)
0:60            Constant:
0:60              0 (const int)
0:60          'ballot' ( temp highp 4-component vector of uint)
0:61      move second child to first child ( temp highp 2-component vector of int)
0:61        vector swizzle ( temp highp 2-component vector of int)
0:61          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:61            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:61              Constant:
0:61                2 (const int)
0:61            Constant:
0:61              1 (const int)
0:61          Sequence
0:61            Constant:
0:61              0 (const int)
0:61            Constant:
0:61              1 (const int)
0:61        subgroupPartitionedMulNV ( global highp 2-component vector of int)
0:61          vector swizzle ( temp highp 2-component vector of int)
0:61            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:61                Constant:
0:61                  1 (const int)
0:61              Constant:
0:61                1 (const int)
0:61            Sequence
0:61              Constant:
0:61                0 (const int)
0:61              Constant:
0:61                1 (const int)
0:61          'ballot' ( temp highp 4-component vector of uint)
0:62      move second child to first child ( temp highp 3-component vector of int)
0:62        vector swizzle ( temp highp 3-component vector of int)
0:62          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:62              Constant:
0:62                2 (const int)
0:62            Constant:
0:62              1 (const int)
0:62          Sequence
0:62            Constant:
0:62              0 (const int)
0:62            Constant:
0:62              1 (const int)
0:62            Constant:
0:62              2 (const int)
0:62        subgroupPartitionedMulNV ( global highp 3-component vector of int)
0:62          vector swizzle ( temp highp 3-component vector of int)
0:62            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:62              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:62                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:62                Constant:
0:62                  2 (const int)
0:62              Constant:
0:62                1 (const int)
0:62            Sequence
0:62              Constant:
0:62                0 (const int)
0:62              Constant:
0:62                1 (const int)
0:62              Constant:
0:62                2 (const int)
0:62          'ballot' ( temp highp 4-component vector of uint)
0:63      move second child to first child ( temp highp 4-component vector of int)
0:63        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:63          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:63            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:63            Constant:
0:63              2 (const int)
0:63          Constant:
0:63            1 (const int)
0:63        subgroupPartitionedMulNV ( global highp 4-component vector of int)
0:63          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:63            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:63              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:63              Constant:
0:63                3 (const int)
0:63            Constant:
0:63              1 (const int)
0:63          'ballot' ( temp highp 4-component vector of uint)
0:65      move second child to first child ( temp highp uint)
0:65        direct index ( temp highp uint)
0:65          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:65            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:65              Constant:
0:65                2 (const int)
0:65            Constant:
0:65              2 (const int)
0:65          Constant:
0:65            0 (const int)
0:65        subgroupPartitionedMulNV ( global highp uint)
0:65          direct index ( temp highp uint)
0:65            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:65                Constant:
0:65                  0 (const int)
0:65              Constant:
0:65                2 (const int)
0:65            Constant:
0:65              0 (const int)
0:65          'ballot' ( temp highp 4-component vector of uint)
0:66      move second child to first child ( temp highp 2-component vector of uint)
0:66        vector swizzle ( temp highp 2-component vector of uint)
0:66          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:66            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:66              Constant:
0:66                2 (const int)
0:66            Constant:
0:66              2 (const int)
0:66          Sequence
0:66            Constant:
0:66              0 (const int)
0:66            Constant:
0:66              1 (const int)
0:66        subgroupPartitionedMulNV ( global highp 2-component vector of uint)
0:66          vector swizzle ( temp highp 2-component vector of uint)
0:66            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:66                Constant:
0:66                  1 (const int)
0:66              Constant:
0:66                2 (const int)
0:66            Sequence
0:66              Constant:
0:66                0 (const int)
0:66              Constant:
0:66                1 (const int)
0:66          'ballot' ( temp highp 4-component vector of uint)
0:67      move second child to first child ( temp highp 3-component vector of uint)
0:67        vector swizzle ( temp highp 3-component vector of uint)
0:67          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:67            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:67              Constant:
0:67                2 (const int)
0:67            Constant:
0:67              2 (const int)
0:67          Sequence
0:67            Constant:
0:67              0 (const int)
0:67            Constant:
0:67              1 (const int)
0:67            Constant:
0:67              2 (const int)
0:67        subgroupPartitionedMulNV ( global highp 3-component vector of uint)
0:67          vector swizzle ( temp highp 3-component vector of uint)
0:67            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:67              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:67                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:67                Constant:
0:67                  2 (const int)
0:67              Constant:
0:67                2 (const int)
0:67            Sequence
0:67              Constant:
0:67                0 (const int)
0:67              Constant:
0:67                1 (const int)
0:67              Constant:
0:67                2 (const int)
0:67          'ballot' ( temp highp 4-component vector of uint)
0:68      move second child to first child ( temp highp 4-component vector of uint)
0:68        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:68          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:68            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:68            Constant:
0:68              2 (const int)
0:68          Constant:
0:68            2 (const int)
0:68        subgroupPartitionedMulNV ( global highp 4-component vector of uint)
0:68          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:68            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:68              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:68              Constant:
0:68                3 (const int)
0:68            Constant:
0:68              2 (const int)
0:68          'ballot' ( temp highp 4-component vector of uint)
0:70      move second child to first child ( temp highp float)
0:70        direct index ( temp highp float)
0:70          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:70            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:70              Constant:
0:70                2 (const int)
0:70            Constant:
0:70              0 (const int)
0:70          Constant:
0:70            0 (const int)
0:70        subgroupPartitionedMinNV ( global highp float)
0:70          direct index ( temp highp float)
0:70            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:70              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:70                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:70                Constant:
0:70                  0 (const int)
0:70              Constant:
0:70                0 (const int)
0:70            Constant:
0:70              0 (const int)
0:70          'ballot' ( temp highp 4-component vector of uint)
0:71      move second child to first child ( temp highp 2-component vector of float)
0:71        vector swizzle ( temp highp 2-component vector of float)
0:71          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:71            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:71              Constant:
0:71                2 (const int)
0:71            Constant:
0:71              0 (const int)
0:71          Sequence
0:71            Constant:
0:71              0 (const int)
0:71            Constant:
0:71              1 (const int)
0:71        subgroupPartitionedMinNV ( global highp 2-component vector of float)
0:71          vector swizzle ( temp highp 2-component vector of float)
0:71            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:71              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:71                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:71                Constant:
0:71                  1 (const int)
0:71              Constant:
0:71                0 (const int)
0:71            Sequence
0:71              Constant:
0:71                0 (const int)
0:71              Constant:
0:71                1 (const int)
0:71          'ballot' ( temp highp 4-component vector of uint)
0:72      move second child to first child ( temp highp 3-component vector of float)
0:72        vector swizzle ( temp highp 3-component vector of float)
0:72          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:72            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:72              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:72              Constant:
0:72                2 (const int)
0:72            Constant:
0:72              0 (const int)
0:72          Sequence
0:72            Constant:
0:72              0 (const int)
0:72            Constant:
0:72              1 (const int)
0:72            Constant:
0:72              2 (const int)
0:72        subgroupPartitionedMinNV ( global highp 3-component vector of float)
0:72          vector swizzle ( temp highp 3-component vector of float)
0:72            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:72              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:72                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:72                Constant:
0:72                  2 (const int)
0:72              Constant:
0:72                0 (const int)
0:72            Sequence
0:72              Constant:
0:72                0 (const int)
0:72              Constant:
0:72                1 (const int)
0:72              Constant:
0:72                2 (const int)
0:72          'ballot' ( temp highp 4-component vector of uint)
0:73      move second child to first child ( temp highp 4-component vector of float)
0:73        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:73          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:73            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:73            Constant:
0:73              2 (const int)
0:73          Constant:
0:73            0 (const int)
0:73        subgroupPartitionedMinNV ( global highp 4-component vector of float)
0:73          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:73            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:73              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:73              Constant:
0:73                3 (const int)
0:73            Constant:
0:73              0 (const int)
0:73          'ballot' ( temp highp 4-component vector of uint)
0:75      move second child to first child ( temp highp int)
0:75        direct index ( temp highp int)
0:75          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:75            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:75              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:75              Constant:
0:75                3 (const int)
0:75            Constant:
0:75              1 (const int)
0:75          Constant:
0:75            0 (const int)
0:75        subgroupPartitionedMinNV ( global highp int)
0:75          direct index ( temp highp int)
0:75            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:75              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:75                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:75                Constant:
0:75                  0 (const int)
0:75              Constant:
0:75                1 (const int)
0:75            Constant:
0:75              0 (const int)
0:75          'ballot' ( temp highp 4-component vector of uint)
0:76      move second child to first child ( temp highp 2-component vector of int)
0:76        vector swizzle ( temp highp 2-component vector of int)
0:76          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:76            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:76              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:76              Constant:
0:76                3 (const int)
0:76            Constant:
0:76              1 (const int)
0:76          Sequence
0:76            Constant:
0:76              0 (const int)
0:76            Constant:
0:76              1 (const int)
0:76        subgroupPartitionedMinNV ( global highp 2-component vector of int)
0:76          vector swizzle ( temp highp 2-component vector of int)
0:76            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:76              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:76                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:76                Constant:
0:76                  1 (const int)
0:76              Constant:
0:76                1 (const int)
0:76            Sequence
0:76              Constant:
0:76                0 (const int)
0:76              Constant:
0:76                1 (const int)
0:76          'ballot' ( temp highp 4-component vector of uint)
0:77      move second child to first child ( temp highp 3-component vector of int)
0:77        vector swizzle ( temp highp 3-component vector of int)
0:77          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:77            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:77              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:77              Constant:
0:77                3 (const int)
0:77            Constant:
0:77              1 (const int)
0:77          Sequence
0:77            Constant:
0:77              0 (const int)
0:77            Constant:
0:77              1 (const int)
0:77            Constant:
0:77              2 (const int)
0:77        subgroupPartitionedMinNV ( global highp 3-component vector of int)
0:77          vector swizzle ( temp highp 3-component vector of int)
0:77            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:77              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:77                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:77                Constant:
0:77                  2 (const int)
0:77              Constant:
0:77                1 (const int)
0:77            Sequence
0:77              Constant:
0:77                0 (const int)
0:77              Constant:
0:77                1 (const int)
0:77              Constant:
0:77                2 (const int)
0:77          'ballot' ( temp highp 4-component vector of uint)
0:78      move second child to first child ( temp highp 4-component vector of int)
0:78        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:78          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:78            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:78            Constant:
0:78              3 (const int)
0:78          Constant:
0:78            1 (const int)
0:78        subgroupPartitionedMinNV ( global highp 4-component vector of int)
0:78          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:78            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:78              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:78              Constant:
0:78                3 (const int)
0:78            Constant:
0:78              1 (const int)
0:78          'ballot' ( temp highp 4-component vector of uint)
0:80      move second child to first child ( temp highp uint)
0:80        direct index ( temp highp uint)
0:80          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:80            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:80              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:80              Constant:
0:80                3 (const int)
0:80            Constant:
0:80              2 (const int)
0:80          Constant:
0:80            0 (const int)
0:80        subgroupPartitionedMinNV ( global highp uint)
0:80          direct index ( temp highp uint)
0:80            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:80              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:80                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:80                Constant:
0:80                  0 (const int)
0:80              Constant:
0:80                2 (const int)
0:80            Constant:
0:80              0 (const int)
0:80          'ballot' ( temp highp 4-component vector of uint)
0:81      move second child to first child ( temp highp 2-component vector of uint)
0:81        vector swizzle ( temp highp 2-component vector of uint)
0:81          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:81            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:81              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:81              Constant:
0:81                3 (const int)
0:81            Constant:
0:81              2 (const int)
0:81          Sequence
0:81            Constant:
0:81              0 (const int)
0:81            Constant:
0:81              1 (const int)
0:81        subgroupPartitionedMinNV ( global highp 2-component vector of uint)
0:81          vector swizzle ( temp highp 2-component vector of uint)
0:81            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:81              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:81                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:81                Constant:
0:81                  1 (const int)
0:81              Constant:
0:81                2 (const int)
0:81            Sequence
0:81              Constant:
0:81                0 (const int)
0:81              Constant:
0:81                1 (const int)
0:81          'ballot' ( temp highp 4-component vector of uint)
0:82      move second child to first child ( temp highp 3-component vector of uint)
0:82        vector swizzle ( temp highp 3-component vector of uint)
0:82          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:82            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:82              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:82              Constant:
0:82                3 (const int)
0:82            Constant:
0:82              2 (const int)
0:82          Sequence
0:82            Constant:
0:82              0 (const int)
0:82            Constant:
0:82              1 (const int)
0:82            Constant:
0:82              2 (const int)
0:82        subgroupPartitionedMinNV ( global highp 3-component vector of uint)
0:82          vector swizzle ( temp highp 3-component vector of uint)
0:82            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:82              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:82                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:82                Constant:
0:82                  2 (const int)
0:82              Constant:
0:82                2 (const int)
0:82            Sequence
0:82              Constant:
0:82                0 (const int)
0:82              Constant:
0:82                1 (const int)
0:82              Constant:
0:82                2 (const int)
0:82          'ballot' ( temp highp 4-component vector of uint)
0:83      move second child to first child ( temp highp 4-component vector of uint)
0:83        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:83          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:83            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:83            Constant:
0:83              3 (const int)
0:83          Constant:
0:83            2 (const int)
0:83        subgroupPartitionedMinNV ( global highp 4-component vector of uint)
0:83          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:83            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:83              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:83              Constant:
0:83                3 (const int)
0:83            Constant:
0:83              2 (const int)
0:83          'ballot' ( temp highp 4-component vector of uint)
0:85      move second child to first child ( temp highp float)
0:85        direct index ( temp highp float)
0:85          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:85            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:85              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:85              Constant:
0:85                3 (const int)
0:85            Constant:
0:85              0 (const int)
0:85          Constant:
0:85            0 (const int)
0:85        subgroupPartitionedMaxNV ( global highp float)
0:85          direct index ( temp highp float)
0:85            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:85              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:85                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:85                Constant:
0:85                  0 (const int)
0:85              Constant:
0:85                0 (const int)
0:85            Constant:
0:85              0 (const int)
0:85          'ballot' ( temp highp 4-component vector of uint)
0:86      move second child to first child ( temp highp 2-component vector of float)
0:86        vector swizzle ( temp highp 2-component vector of float)
0:86          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:86            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:86              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:86              Constant:
0:86                3 (const int)
0:86            Constant:
0:86              0 (const int)
0:86          Sequence
0:86            Constant:
0:86              0 (const int)
0:86            Constant:
0:86              1 (const int)
0:86        subgroupPartitionedMaxNV ( global highp 2-component vector of float)
0:86          vector swizzle ( temp highp 2-component vector of float)
0:86            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:86              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:86                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:86                Constant:
0:86                  1 (const int)
0:86              Constant:
0:86                0 (const int)
0:86            Sequence
0:86              Constant:
0:86                0 (const int)
0:86              Constant:
0:86                1 (const int)
0:86          'ballot' ( temp highp 4-component vector of uint)
0:87      move second child to first child ( temp highp 3-component vector of float)
0:87        vector swizzle ( temp highp 3-component vector of float)
0:87          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:87            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:87              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:87              Constant:
0:87                3 (const int)
0:87            Constant:
0:87              0 (const int)
0:87          Sequence
0:87            Constant:
0:87              0 (const int)
0:87            Constant:
0:87              1 (const int)
0:87            Constant:
0:87              2 (const int)
0:87        subgroupPartitionedMaxNV ( global highp 3-component vector of float)
0:87          vector swizzle ( temp highp 3-component vector of float)
0:87            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:87              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:87                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:87                Constant:
0:87                  2 (const int)
0:87              Constant:
0:87                0 (const int)
0:87            Sequence
0:87              Constant:
0:87                0 (const int)
0:87              Constant:
0:87                1 (const int)
0:87              Constant:
0:87                2 (const int)
0:87          'ballot' ( temp highp 4-component vector of uint)
0:88      move second child to first child ( temp highp 4-component vector of float)
0:88        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:88          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:88            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:88            Constant:
0:88              3 (const int)
0:88          Constant:
0:88            0 (const int)
0:88        subgroupPartitionedMaxNV ( global highp 4-component vector of float)
0:88          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:88            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:88              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:88              Constant:
0:88                3 (const int)
0:88            Constant:
0:88              0 (const int)
0:88          'ballot' ( temp highp 4-component vector of uint)
0:90      move second child to first child ( temp highp int)
0:90        direct index ( temp highp int)
0:90          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:90            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:90              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:90              Constant:
0:90                0 (const int)
0:90            Constant:
0:90              1 (const int)
0:90          Constant:
0:90            0 (const int)
0:90        subgroupPartitionedMaxNV ( global highp int)
0:90          direct index ( temp highp int)
0:90            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:90              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:90                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:90                Constant:
0:90                  0 (const int)
0:90              Constant:
0:90                1 (const int)
0:90            Constant:
0:90              0 (const int)
0:90          'ballot' ( temp highp 4-component vector of uint)
0:91      move second child to first child ( temp highp 2-component vector of int)
0:91        vector swizzle ( temp highp 2-component vector of int)
0:91          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:91            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:91              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:91              Constant:
0:91                0 (const int)
0:91            Constant:
0:91              1 (const int)
0:91          Sequence
0:91            Constant:
0:91              0 (const int)
0:91            Constant:
0:91              1 (const int)
0:91        subgroupPartitionedMaxNV ( global highp 2-component vector of int)
0:91          vector swizzle ( temp highp 2-component vector of int)
0:91            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:91              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:91                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:91                Constant:
0:91                  1 (const int)
0:91              Constant:
0:91                1 (const int)
0:91            Sequence
0:91              Constant:
0:91                0 (const int)
0:91              Constant:
0:91                1 (const int)
0:91          'ballot' ( temp highp 4-component vector of uint)
0:92      move second child to first child ( temp highp 3-component vector of int)
0:92        vector swizzle ( temp highp 3-component vector of int)
0:92          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:92            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:92              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:92              Constant:
0:92                0 (const int)
0:92            Constant:
0:92              1 (const int)
0:92          Sequence
0:92            Constant:
0:92              0 (const int)
0:92            Constant:
0:92              1 (const int)
0:92            Constant:
0:92              2 (const int)
0:92        subgroupPartitionedMaxNV ( global highp 3-component vector of int)
0:92          vector swizzle ( temp highp 3-component vector of int)
0:92            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:92              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:92                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:92                Constant:
0:92                  2 (const int)
0:92              Constant:
0:92                1 (const int)
0:92            Sequence
0:92              Constant:
0:92                0 (const int)
0:92              Constant:
0:92                1 (const int)
0:92              Constant:
0:92                2 (const int)
0:92          'ballot' ( temp highp 4-component vector of uint)
0:93      move second child to first child ( temp highp 4-component vector of int)
0:93        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:93          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:93            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:93            Constant:
0:93              0 (const int)
0:93          Constant:
0:93            1 (const int)
0:93        subgroupPartitionedMaxNV ( global highp 4-component vector of int)
0:93          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:93            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:93              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:93              Constant:
0:93                3 (const int)
0:93            Constant:
0:93              1 (const int)
0:93          'ballot' ( temp highp 4-component vector of uint)
0:95      move second child to first child ( temp highp uint)
0:95        direct index ( temp highp uint)
0:95          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:95            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:95              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:95              Constant:
0:95                0 (const int)
0:95            Constant:
0:95              2 (const int)
0:95          Constant:
0:95            0 (const int)
0:95        subgroupPartitionedMaxNV ( global highp uint)
0:95          direct index ( temp highp uint)
0:95            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:95              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:95                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:95                Constant:
0:95                  0 (const int)
0:95              Constant:
0:95                2 (const int)
0:95            Constant:
0:95              0 (const int)
0:95          'ballot' ( temp highp 4-component vector of uint)
0:96      move second child to first child ( temp highp 2-component vector of uint)
0:96        vector swizzle ( temp highp 2-component vector of uint)
0:96          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:96            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:96              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:96              Constant:
0:96                0 (const int)
0:96            Constant:
0:96              2 (const int)
0:96          Sequence
0:96            Constant:
0:96              0 (const int)
0:96            Constant:
0:96              1 (const int)
0:96        subgroupPartitionedMaxNV ( global highp 2-component vector of uint)
0:96          vector swizzle ( temp highp 2-component vector of uint)
0:96            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:96              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:96                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:96                Constant:
0:96                  1 (const int)
0:96              Constant:
0:96                2 (const int)
0:96            Sequence
0:96              Constant:
0:96                0 (const int)
0:96              Constant:
0:96                1 (const int)
0:96          'ballot' ( temp highp 4-component vector of uint)
0:97      move second child to first child ( temp highp 3-component vector of uint)
0:97        vector swizzle ( temp highp 3-component vector of uint)
0:97          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:97            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:97              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:97              Constant:
0:97                0 (const int)
0:97            Constant:
0:97              2 (const int)
0:97          Sequence
0:97            Constant:
0:97              0 (const int)
0:97            Constant:
0:97              1 (const int)
0:97            Constant:
0:97              2 (const int)
0:97        subgroupPartitionedMaxNV ( global highp 3-component vector of uint)
0:97          vector swizzle ( temp highp 3-component vector of uint)
0:97            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:97              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:97                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:97                Constant:
0:97                  2 (const int)
0:97              Constant:
0:97                2 (const int)
0:97            Sequence
0:97              Constant:
0:97                0 (const int)
0:97              Constant:
0:97                1 (const int)
0:97              Constant:
0:97                2 (const int)
0:97          'ballot' ( temp highp 4-component vector of uint)
0:98      move second child to first child ( temp highp 4-component vector of uint)
0:98        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:98          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:98            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:98            Constant:
0:98              0 (const int)
0:98          Constant:
0:98            2 (const int)
0:98        subgroupPartitionedMaxNV ( global highp 4-component vector of uint)
0:98          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:98            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:98              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:98              Constant:
0:98                3 (const int)
0:98            Constant:
0:98              2 (const int)
0:98          'ballot' ( temp highp 4-component vector of uint)
0:100      move second child to first child ( temp highp int)
0:100        direct index ( temp highp int)
0:100          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:100            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:100              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:100              Constant:
0:100                0 (const int)
0:100            Constant:
0:100              1 (const int)
0:100          Constant:
0:100            0 (const int)
0:100        subgroupPartitionedAndNV ( global highp int)
0:100          direct index ( temp highp int)
0:100            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:100              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:100                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:100                Constant:
0:100                  0 (const int)
0:100              Constant:
0:100                1 (const int)
0:100            Constant:
0:100              0 (const int)
0:100          'ballot' ( temp highp 4-component vector of uint)
0:101      move second child to first child ( temp highp 2-component vector of int)
0:101        vector swizzle ( temp highp 2-component vector of int)
0:101          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:101            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:101              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:101              Constant:
0:101                0 (const int)
0:101            Constant:
0:101              1 (const int)
0:101          Sequence
0:101            Constant:
0:101              0 (const int)
0:101            Constant:
0:101              1 (const int)
0:101        subgroupPartitionedAndNV ( global highp 2-component vector of int)
0:101          vector swizzle ( temp highp 2-component vector of int)
0:101            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:101              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:101                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:101                Constant:
0:101                  1 (const int)
0:101              Constant:
0:101                1 (const int)
0:101            Sequence
0:101              Constant:
0:101                0 (const int)
0:101              Constant:
0:101                1 (const int)
0:101          'ballot' ( temp highp 4-component vector of uint)
0:102      move second child to first child ( temp highp 3-component vector of int)
0:102        vector swizzle ( temp highp 3-component vector of int)
0:102          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:102            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:102              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:102              Constant:
0:102                0 (const int)
0:102            Constant:
0:102              1 (const int)
0:102          Sequence
0:102            Constant:
0:102              0 (const int)
0:102            Constant:
0:102              1 (const int)
0:102            Constant:
0:102              2 (const int)
0:102        subgroupPartitionedAndNV ( global highp 3-component vector of int)
0:102          vector swizzle ( temp highp 3-component vector of int)
0:102            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:102              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:102                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:102                Constant:
0:102                  2 (const int)
0:102              Constant:
0:102                1 (const int)
0:102            Sequence
0:102              Constant:
0:102                0 (const int)
0:102              Constant:
0:102                1 (const int)
0:102              Constant:
0:102                2 (const int)
0:102          'ballot' ( temp highp 4-component vector of uint)
0:103      move second child to first child ( temp highp 4-component vector of int)
0:103        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:103          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:103            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:103            Constant:
0:103              0 (const int)
0:103          Constant:
0:103            1 (const int)
0:103        subgroupPartitionedAndNV ( global highp 4-component vector of int)
0:103          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:103            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:103              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:103              Constant:
0:103                3 (const int)
0:103            Constant:
0:103              1 (const int)
0:103          'ballot' ( temp highp 4-component vector of uint)
0:105      move second child to first child ( temp highp uint)
0:105        direct index ( temp highp uint)
0:105          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:105            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:105              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:105              Constant:
0:105                1 (const int)
0:105            Constant:
0:105              2 (const int)
0:105          Constant:
0:105            0 (const int)
0:105        subgroupPartitionedAndNV ( global highp uint)
0:105          direct index ( temp highp uint)
0:105            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:105              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:105                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:105                Constant:
0:105                  0 (const int)
0:105              Constant:
0:105                2 (const int)
0:105            Constant:
0:105              0 (const int)
0:105          'ballot' ( temp highp 4-component vector of uint)
0:106      move second child to first child ( temp highp 2-component vector of uint)
0:106        vector swizzle ( temp highp 2-component vector of uint)
0:106          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:106            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:106              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:106              Constant:
0:106                1 (const int)
0:106            Constant:
0:106              2 (const int)
0:106          Sequence
0:106            Constant:
0:106              0 (const int)
0:106            Constant:
0:106              1 (const int)
0:106        subgroupPartitionedAndNV ( global highp 2-component vector of uint)
0:106          vector swizzle ( temp highp 2-component vector of uint)
0:106            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:106              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:106                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:106                Constant:
0:106                  1 (const int)
0:106              Constant:
0:106                2 (const int)
0:106            Sequence
0:106              Constant:
0:106                0 (const int)
0:106              Constant:
0:106                1 (const int)
0:106          'ballot' ( temp highp 4-component vector of uint)
0:107      move second child to first child ( temp highp 3-component vector of uint)
0:107        vector swizzle ( temp highp 3-component vector of uint)
0:107          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:107            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:107              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:107              Constant:
0:107                1 (const int)
0:107            Constant:
0:107              2 (const int)
0:107          Sequence
0:107            Constant:
0:107              0 (const int)
0:107            Constant:
0:107              1 (const int)
0:107            Constant:
0:107              2 (const int)
0:107        subgroupPartitionedAndNV ( global highp 3-component vector of uint)
0:107          vector swizzle ( temp highp 3-component vector of uint)
0:107            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:107              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:107                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:107                Constant:
0:107                  2 (const int)
0:107              Constant:
0:107                2 (const int)
0:107            Sequence
0:107              Constant:
0:107                0 (const int)
0:107              Constant:
0:107                1 (const int)
0:107              Constant:
0:107                2 (const int)
0:107          'ballot' ( temp highp 4-component vector of uint)
0:108      move second child to first child ( temp highp 4-component vector of uint)
0:108        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:108          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:108            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:108            Constant:
0:108              1 (const int)
0:108          Constant:
0:108            2 (const int)
0:108        subgroupPartitionedAndNV ( global highp 4-component vector of uint)
0:108          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:108            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:108              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:108              Constant:
0:108                3 (const int)
0:108            Constant:
0:108              2 (const int)
0:108          'ballot' ( temp highp 4-component vector of uint)
0:110      move second child to first child ( temp highp int)
0:110        direct index ( temp highp int)
0:110          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:110            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:110              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:110              Constant:
0:110                1 (const int)
0:110            Constant:
0:110              1 (const int)
0:110          Constant:
0:110            0 (const int)
0:110        Convert bool to int ( temp highp int)
0:110          subgroupPartitionedAndNV ( global bool, operation at highp)
0:110            Compare Less Than ( temp bool)
0:110              direct index ( temp highp int)
0:110                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:110                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:110                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:110                    Constant:
0:110                      0 (const int)
0:110                  Constant:
0:110                    1 (const int)
0:110                Constant:
0:110                  0 (const int)
0:110              Constant:
0:110                0 (const int)
0:110            'ballot' ( temp highp 4-component vector of uint)
0:111      move second child to first child ( temp highp 2-component vector of int)
0:111        vector swizzle ( temp highp 2-component vector of int)
0:111          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:111            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:111              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:111              Constant:
0:111                1 (const int)
0:111            Constant:
0:111              1 (const int)
0:111          Sequence
0:111            Constant:
0:111              0 (const int)
0:111            Constant:
0:111              1 (const int)
0:111        Convert bool to int ( temp highp 2-component vector of int)
0:111          subgroupPartitionedAndNV ( global 2-component vector of bool, operation at highp)
0:111            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:111              vector swizzle ( temp highp 2-component vector of int)
0:111                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:111                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:111                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:111                    Constant:
0:111                      1 (const int)
0:111                  Constant:
0:111                    1 (const int)
0:111                Sequence
0:111                  Constant:
0:111                    0 (const int)
0:111                  Constant:
0:111                    1 (const int)
0:111              Constant:
0:111                0 (const int)
0:111                0 (const int)
0:111            'ballot' ( temp highp 4-component vector of uint)
0:112      move second child to first child ( temp highp 3-component vector of int)
0:112        vector swizzle ( temp highp 3-component vector of int)
0:112          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:112            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:112              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:112              Constant:
0:112                1 (const int)
0:112            Constant:
0:112              1 (const int)
0:112          Sequence
0:112            Constant:
0:112              0 (const int)
0:112            Constant:
0:112              1 (const int)
0:112            Constant:
0:112              2 (const int)
0:112        Convert bool to int ( temp highp 3-component vector of int)
0:112          subgroupPartitionedAndNV ( global 3-component vector of bool, operation at highp)
0:112            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:112              vector swizzle ( temp highp 3-component vector of int)
0:112                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:112                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:112                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:112                    Constant:
0:112                      1 (const int)
0:112                  Constant:
0:112                    1 (const int)
0:112                Sequence
0:112                  Constant:
0:112                    0 (const int)
0:112                  Constant:
0:112                    1 (const int)
0:112                  Constant:
0:112                    2 (const int)
0:112              Constant:
0:112                0 (const int)
0:112                0 (const int)
0:112                0 (const int)
0:112            'ballot' ( temp highp 4-component vector of uint)
0:113      move second child to first child ( temp highp 4-component vector of int)
0:113        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:113          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:113            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:113            Constant:
0:113              1 (const int)
0:113          Constant:
0:113            1 (const int)
0:113        Convert bool to int ( temp highp 4-component vector of int)
0:113          subgroupPartitionedAndNV ( global 4-component vector of bool, operation at highp)
0:113            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:113              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:113                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:113                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:113                  Constant:
0:113                    1 (const int)
0:113                Constant:
0:113                  1 (const int)
0:113              Constant:
0:113                0 (const int)
0:113                0 (const int)
0:113                0 (const int)
0:113                0 (const int)
0:113            'ballot' ( temp highp 4-component vector of uint)
0:115      move second child to first child ( temp highp int)
0:115        direct index ( temp highp int)
0:115          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:115            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:115              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:115              Constant:
0:115                1 (const int)
0:115            Constant:
0:115              1 (const int)
0:115          Constant:
0:115            0 (const int)
0:115        subgroupPartitionedOrNV ( global highp int)
0:115          direct index ( temp highp int)
0:115            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:115              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:115                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:115                Constant:
0:115                  0 (const int)
0:115              Constant:
0:115                1 (const int)
0:115            Constant:
0:115              0 (const int)
0:115          'ballot' ( temp highp 4-component vector of uint)
0:116      move second child to first child ( temp highp 2-component vector of int)
0:116        vector swizzle ( temp highp 2-component vector of int)
0:116          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:116            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:116              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:116              Constant:
0:116                1 (const int)
0:116            Constant:
0:116              1 (const int)
0:116          Sequence
0:116            Constant:
0:116              0 (const int)
0:116            Constant:
0:116              1 (const int)
0:116        subgroupPartitionedOrNV ( global highp 2-component vector of int)
0:116          vector swizzle ( temp highp 2-component vector of int)
0:116            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:116              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:116                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:116                Constant:
0:116                  1 (const int)
0:116              Constant:
0:116                1 (const int)
0:116            Sequence
0:116              Constant:
0:116                0 (const int)
0:116              Constant:
0:116                1 (const int)
0:116          'ballot' ( temp highp 4-component vector of uint)
0:117      move second child to first child ( temp highp 3-component vector of int)
0:117        vector swizzle ( temp highp 3-component vector of int)
0:117          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:117            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:117              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:117              Constant:
0:117                1 (const int)
0:117            Constant:
0:117              1 (const int)
0:117          Sequence
0:117            Constant:
0:117              0 (const int)
0:117            Constant:
0:117              1 (const int)
0:117            Constant:
0:117              2 (const int)
0:117        subgroupPartitionedOrNV ( global highp 3-component vector of int)
0:117          vector swizzle ( temp highp 3-component vector of int)
0:117            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:117              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:117                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:117                Constant:
0:117                  2 (const int)
0:117              Constant:
0:117                1 (const int)
0:117            Sequence
0:117              Constant:
0:117                0 (const int)
0:117              Constant:
0:117                1 (const int)
0:117              Constant:
0:117                2 (const int)
0:117          'ballot' ( temp highp 4-component vector of uint)
0:118      move second child to first child ( temp highp 4-component vector of int)
0:118        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:118          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:118            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:118            Constant:
0:118              1 (const int)
0:118          Constant:
0:118            1 (const int)
0:118        subgroupPartitionedOrNV ( global highp 4-component vector of int)
0:118          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:118            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:118              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:118              Constant:
0:118                3 (const int)
0:118            Constant:
0:118              1 (const int)
0:118          'ballot' ( temp highp 4-component vector of uint)
0:120      move second child to first child ( temp highp uint)
0:120        direct index ( temp highp uint)
0:120          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:120            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:120              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:120              Constant:
0:120                2 (const int)
0:120            Constant:
0:120              2 (const int)
0:120          Constant:
0:120            0 (const int)
0:120        subgroupPartitionedOrNV ( global highp uint)
0:120          direct index ( temp highp uint)
0:120            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:120              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:120                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:120                Constant:
0:120                  0 (const int)
0:120              Constant:
0:120                2 (const int)
0:120            Constant:
0:120              0 (const int)
0:120          'ballot' ( temp highp 4-component vector of uint)
0:121      move second child to first child ( temp highp 2-component vector of uint)
0:121        vector swizzle ( temp highp 2-component vector of uint)
0:121          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:121            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:121              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:121              Constant:
0:121                2 (const int)
0:121            Constant:
0:121              2 (const int)
0:121          Sequence
0:121            Constant:
0:121              0 (const int)
0:121            Constant:
0:121              1 (const int)
0:121        subgroupPartitionedOrNV ( global highp 2-component vector of uint)
0:121          vector swizzle ( temp highp 2-component vector of uint)
0:121            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:121              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:121                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:121                Constant:
0:121                  1 (const int)
0:121              Constant:
0:121                2 (const int)
0:121            Sequence
0:121              Constant:
0:121                0 (const int)
0:121              Constant:
0:121                1 (const int)
0:121          'ballot' ( temp highp 4-component vector of uint)
0:122      move second child to first child ( temp highp 3-component vector of uint)
0:122        vector swizzle ( temp highp 3-component vector of uint)
0:122          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:122            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:122              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:122              Constant:
0:122                2 (const int)
0:122            Constant:
0:122              2 (const int)
0:122          Sequence
0:122            Constant:
0:122              0 (const int)
0:122            Constant:
0:122              1 (const int)
0:122            Constant:
0:122              2 (const int)
0:122        subgroupPartitionedOrNV ( global highp 3-component vector of uint)
0:122          vector swizzle ( temp highp 3-component vector of uint)
0:122            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:122              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:122                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:122                Constant:
0:122                  2 (const int)
0:122              Constant:
0:122                2 (const int)
0:122            Sequence
0:122              Constant:
0:122                0 (const int)
0:122              Constant:
0:122                1 (const int)
0:122              Constant:
0:122                2 (const int)
0:122          'ballot' ( temp highp 4-component vector of uint)
0:123      move second child to first child ( temp highp 4-component vector of uint)
0:123        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:123          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:123            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:123            Constant:
0:123              2 (const int)
0:123          Constant:
0:123            2 (const int)
0:123        subgroupPartitionedOrNV ( global highp 4-component vector of uint)
0:123          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:123            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:123              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:123              Constant:
0:123                3 (const int)
0:123            Constant:
0:123              2 (const int)
0:123          'ballot' ( temp highp 4-component vector of uint)
0:125      move second child to first child ( temp highp int)
0:125        direct index ( temp highp int)
0:125          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:125            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:125              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:125              Constant:
0:125                2 (const int)
0:125            Constant:
0:125              1 (const int)
0:125          Constant:
0:125            0 (const int)
0:125        Convert bool to int ( temp highp int)
0:125          subgroupPartitionedOrNV ( global bool, operation at highp)
0:125            Compare Less Than ( temp bool)
0:125              direct index ( temp highp int)
0:125                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:125                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:125                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:125                    Constant:
0:125                      0 (const int)
0:125                  Constant:
0:125                    1 (const int)
0:125                Constant:
0:125                  0 (const int)
0:125              Constant:
0:125                0 (const int)
0:125            'ballot' ( temp highp 4-component vector of uint)
0:126      move second child to first child ( temp highp 2-component vector of int)
0:126        vector swizzle ( temp highp 2-component vector of int)
0:126          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:126            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:126              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:126              Constant:
0:126                2 (const int)
0:126            Constant:
0:126              1 (const int)
0:126          Sequence
0:126            Constant:
0:126              0 (const int)
0:126            Constant:
0:126              1 (const int)
0:126        Convert bool to int ( temp highp 2-component vector of int)
0:126          subgroupPartitionedOrNV ( global 2-component vector of bool, operation at highp)
0:126            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:126              vector swizzle ( temp highp 2-component vector of int)
0:126                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:126                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:126                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:126                    Constant:
0:126                      1 (const int)
0:126                  Constant:
0:126                    1 (const int)
0:126                Sequence
0:126                  Constant:
0:126                    0 (const int)
0:126                  Constant:
0:126                    1 (const int)
0:126              Constant:
0:126                0 (const int)
0:126                0 (const int)
0:126            'ballot' ( temp highp 4-component vector of uint)
0:127      move second child to first child ( temp highp 3-component vector of int)
0:127        vector swizzle ( temp highp 3-component vector of int)
0:127          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:127            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:127              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:127              Constant:
0:127                2 (const int)
0:127            Constant:
0:127              1 (const int)
0:127          Sequence
0:127            Constant:
0:127              0 (const int)
0:127            Constant:
0:127              1 (const int)
0:127            Constant:
0:127              2 (const int)
0:127        Convert bool to int ( temp highp 3-component vector of int)
0:127          subgroupPartitionedOrNV ( global 3-component vector of bool, operation at highp)
0:127            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:127              vector swizzle ( temp highp 3-component vector of int)
0:127                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:127                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:127                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:127                    Constant:
0:127                      1 (const int)
0:127                  Constant:
0:127                    1 (const int)
0:127                Sequence
0:127                  Constant:
0:127                    0 (const int)
0:127                  Constant:
0:127                    1 (const int)
0:127                  Constant:
0:127                    2 (const int)
0:127              Constant:
0:127                0 (const int)
0:127                0 (const int)
0:127                0 (const int)
0:127            'ballot' ( temp highp 4-component vector of uint)
0:128      move second child to first child ( temp highp 4-component vector of int)
0:128        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:128          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:128            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:128            Constant:
0:128              2 (const int)
0:128          Constant:
0:128            1 (const int)
0:128        Convert bool to int ( temp highp 4-component vector of int)
0:128          subgroupPartitionedOrNV ( global 4-component vector of bool, operation at highp)
0:128            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:128              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:128                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:128                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:128                  Constant:
0:128                    1 (const int)
0:128                Constant:
0:128                  1 (const int)
0:128              Constant:
0:128                0 (const int)
0:128                0 (const int)
0:128                0 (const int)
0:128                0 (const int)
0:128            'ballot' ( temp highp 4-component vector of uint)
0:130      move second child to first child ( temp highp int)
0:130        direct index ( temp highp int)
0:130          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:130            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:130              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:130              Constant:
0:130                2 (const int)
0:130            Constant:
0:130              1 (const int)
0:130          Constant:
0:130            0 (const int)
0:130        subgroupPartitionedXorNV ( global highp int)
0:130          direct index ( temp highp int)
0:130            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:130              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:130                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:130                Constant:
0:130                  0 (const int)
0:130              Constant:
0:130                1 (const int)
0:130            Constant:
0:130              0 (const int)
0:130          'ballot' ( temp highp 4-component vector of uint)
0:131      move second child to first child ( temp highp 2-component vector of int)
0:131        vector swizzle ( temp highp 2-component vector of int)
0:131          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:131            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:131              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:131              Constant:
0:131                2 (const int)
0:131            Constant:
0:131              1 (const int)
0:131          Sequence
0:131            Constant:
0:131              0 (const int)
0:131            Constant:
0:131              1 (const int)
0:131        subgroupPartitionedXorNV ( global highp 2-component vector of int)
0:131          vector swizzle ( temp highp 2-component vector of int)
0:131            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:131              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:131                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:131                Constant:
0:131                  1 (const int)
0:131              Constant:
0:131                1 (const int)
0:131            Sequence
0:131              Constant:
0:131                0 (const int)
0:131              Constant:
0:131                1 (const int)
0:131          'ballot' ( temp highp 4-component vector of uint)
0:132      move second child to first child ( temp highp 3-component vector of int)
0:132        vector swizzle ( temp highp 3-component vector of int)
0:132          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:132            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:132              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:132              Constant:
0:132                2 (const int)
0:132            Constant:
0:132              1 (const int)
0:132          Sequence
0:132            Constant:
0:132              0 (const int)
0:132            Constant:
0:132              1 (const int)
0:132            Constant:
0:132              2 (const int)
0:132        subgroupPartitionedXorNV ( global highp 3-component vector of int)
0:132          vector swizzle ( temp highp 3-component vector of int)
0:132            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:132              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:132                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:132                Constant:
0:132                  2 (const int)
0:132              Constant:
0:132                1 (const int)
0:132            Sequence
0:132              Constant:
0:132                0 (const int)
0:132              Constant:
0:132                1 (const int)
0:132              Constant:
0:132                2 (const int)
0:132          'ballot' ( temp highp 4-component vector of uint)
0:133      move second child to first child ( temp highp 4-component vector of int)
0:133        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:133          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:133            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:133            Constant:
0:133              2 (const int)
0:133          Constant:
0:133            1 (const int)
0:133        subgroupPartitionedXorNV ( global highp 4-component vector of int)
0:133          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:133            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:133              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:133              Constant:
0:133                3 (const int)
0:133            Constant:
0:133              1 (const int)
0:133          'ballot' ( temp highp 4-component vector of uint)
0:135      move second child to first child ( temp highp uint)
0:135        direct index ( temp highp uint)
0:135          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:135            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:135              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:135              Constant:
0:135                2 (const int)
0:135            Constant:
0:135              2 (const int)
0:135          Constant:
0:135            0 (const int)
0:135        subgroupPartitionedXorNV ( global highp uint)
0:135          direct index ( temp highp uint)
0:135            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:135              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:135                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:135                Constant:
0:135                  0 (const int)
0:135              Constant:
0:135                2 (const int)
0:135            Constant:
0:135              0 (const int)
0:135          'ballot' ( temp highp 4-component vector of uint)
0:136      move second child to first child ( temp highp 2-component vector of uint)
0:136        vector swizzle ( temp highp 2-component vector of uint)
0:136          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:136            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:136              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:136              Constant:
0:136                2 (const int)
0:136            Constant:
0:136              2 (const int)
0:136          Sequence
0:136            Constant:
0:136              0 (const int)
0:136            Constant:
0:136              1 (const int)
0:136        subgroupPartitionedXorNV ( global highp 2-component vector of uint)
0:136          vector swizzle ( temp highp 2-component vector of uint)
0:136            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:136              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:136                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:136                Constant:
0:136                  1 (const int)
0:136              Constant:
0:136                2 (const int)
0:136            Sequence
0:136              Constant:
0:136                0 (const int)
0:136              Constant:
0:136                1 (const int)
0:136          'ballot' ( temp highp 4-component vector of uint)
0:137      move second child to first child ( temp highp 3-component vector of uint)
0:137        vector swizzle ( temp highp 3-component vector of uint)
0:137          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:137            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:137              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:137              Constant:
0:137                2 (const int)
0:137            Constant:
0:137              2 (const int)
0:137          Sequence
0:137            Constant:
0:137              0 (const int)
0:137            Constant:
0:137              1 (const int)
0:137            Constant:
0:137              2 (const int)
0:137        subgroupPartitionedXorNV ( global highp 3-component vector of uint)
0:137          vector swizzle ( temp highp 3-component vector of uint)
0:137            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:137              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:137                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:137                Constant:
0:137                  2 (const int)
0:137              Constant:
0:137                2 (const int)
0:137            Sequence
0:137              Constant:
0:137                0 (const int)
0:137              Constant:
0:137                1 (const int)
0:137              Constant:
0:137                2 (const int)
0:137          'ballot' ( temp highp 4-component vector of uint)
0:138      move second child to first child ( temp highp 4-component vector of uint)
0:138        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:138          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:138            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:138            Constant:
0:138              2 (const int)
0:138          Constant:
0:138            2 (const int)
0:138        subgroupPartitionedXorNV ( global highp 4-component vector of uint)
0:138          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:138            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:138              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:138              Constant:
0:138                3 (const int)
0:138            Constant:
0:138              2 (const int)
0:138          'ballot' ( temp highp 4-component vector of uint)
0:140      move second child to first child ( temp highp int)
0:140        direct index ( temp highp int)
0:140          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:140            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:140              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:140              Constant:
0:140                3 (const int)
0:140            Constant:
0:140              1 (const int)
0:140          Constant:
0:140            0 (const int)
0:140        Convert bool to int ( temp highp int)
0:140          subgroupPartitionedXorNV ( global bool, operation at highp)
0:140            Compare Less Than ( temp bool)
0:140              direct index ( temp highp int)
0:140                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:140                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:140                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:140                    Constant:
0:140                      0 (const int)
0:140                  Constant:
0:140                    1 (const int)
0:140                Constant:
0:140                  0 (const int)
0:140              Constant:
0:140                0 (const int)
0:140            'ballot' ( temp highp 4-component vector of uint)
0:141      move second child to first child ( temp highp 2-component vector of int)
0:141        vector swizzle ( temp highp 2-component vector of int)
0:141          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:141            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:141              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:141              Constant:
0:141                3 (const int)
0:141            Constant:
0:141              1 (const int)
0:141          Sequence
0:141            Constant:
0:141              0 (const int)
0:141            Constant:
0:141              1 (const int)
0:141        Convert bool to int ( temp highp 2-component vector of int)
0:141          subgroupPartitionedXorNV ( global 2-component vector of bool, operation at highp)
0:141            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:141              vector swizzle ( temp highp 2-component vector of int)
0:141                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:141                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:141                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:141                    Constant:
0:141                      1 (const int)
0:141                  Constant:
0:141                    1 (const int)
0:141                Sequence
0:141                  Constant:
0:141                    0 (const int)
0:141                  Constant:
0:141                    1 (const int)
0:141              Constant:
0:141                0 (const int)
0:141                0 (const int)
0:141            'ballot' ( temp highp 4-component vector of uint)
0:142      move second child to first child ( temp highp 3-component vector of int)
0:142        vector swizzle ( temp highp 3-component vector of int)
0:142          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:142            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:142              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:142              Constant:
0:142                3 (const int)
0:142            Constant:
0:142              1 (const int)
0:142          Sequence
0:142            Constant:
0:142              0 (const int)
0:142            Constant:
0:142              1 (const int)
0:142            Constant:
0:142              2 (const int)
0:142        Convert bool to int ( temp highp 3-component vector of int)
0:142          subgroupPartitionedXorNV ( global 3-component vector of bool, operation at highp)
0:142            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:142              vector swizzle ( temp highp 3-component vector of int)
0:142                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:142                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:142                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:142                    Constant:
0:142                      1 (const int)
0:142                  Constant:
0:142                    1 (const int)
0:142                Sequence
0:142                  Constant:
0:142                    0 (const int)
0:142                  Constant:
0:142                    1 (const int)
0:142                  Constant:
0:142                    2 (const int)
0:142              Constant:
0:142                0 (const int)
0:142                0 (const int)
0:142                0 (const int)
0:142            'ballot' ( temp highp 4-component vector of uint)
0:143      move second child to first child ( temp highp 4-component vector of int)
0:143        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:143          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:143            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:143            Constant:
0:143              3 (const int)
0:143          Constant:
0:143            1 (const int)
0:143        Convert bool to int ( temp highp 4-component vector of int)
0:143          subgroupPartitionedXorNV ( global 4-component vector of bool, operation at highp)
0:143            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:143              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:143                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:143                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:143                  Constant:
0:143                    1 (const int)
0:143                Constant:
0:143                  1 (const int)
0:143              Constant:
0:143                0 (const int)
0:143                0 (const int)
0:143                0 (const int)
0:143                0 (const int)
0:143            'ballot' ( temp highp 4-component vector of uint)
0:145      move second child to first child ( temp highp float)
0:145        direct index ( temp highp float)
0:145          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:145            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:145              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:145              Constant:
0:145                3 (const int)
0:145            Constant:
0:145              0 (const int)
0:145          Constant:
0:145            0 (const int)
0:145        subgroupPartitionedInclusiveAddNV ( global highp float)
0:145          direct index ( temp highp float)
0:145            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:145              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:145                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:145                Constant:
0:145                  0 (const int)
0:145              Constant:
0:145                0 (const int)
0:145            Constant:
0:145              0 (const int)
0:145          'ballot' ( temp highp 4-component vector of uint)
0:146      move second child to first child ( temp highp 2-component vector of float)
0:146        vector swizzle ( temp highp 2-component vector of float)
0:146          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:146            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:146              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:146              Constant:
0:146                3 (const int)
0:146            Constant:
0:146              0 (const int)
0:146          Sequence
0:146            Constant:
0:146              0 (const int)
0:146            Constant:
0:146              1 (const int)
0:146        subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of float)
0:146          vector swizzle ( temp highp 2-component vector of float)
0:146            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:146              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:146                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:146                Constant:
0:146                  1 (const int)
0:146              Constant:
0:146                0 (const int)
0:146            Sequence
0:146              Constant:
0:146                0 (const int)
0:146              Constant:
0:146                1 (const int)
0:146          'ballot' ( temp highp 4-component vector of uint)
0:147      move second child to first child ( temp highp 3-component vector of float)
0:147        vector swizzle ( temp highp 3-component vector of float)
0:147          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:147            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:147              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:147              Constant:
0:147                3 (const int)
0:147            Constant:
0:147              0 (const int)
0:147          Sequence
0:147            Constant:
0:147              0 (const int)
0:147            Constant:
0:147              1 (const int)
0:147            Constant:
0:147              2 (const int)
0:147        subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of float)
0:147          vector swizzle ( temp highp 3-component vector of float)
0:147            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:147              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:147                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:147                Constant:
0:147                  2 (const int)
0:147              Constant:
0:147                0 (const int)
0:147            Sequence
0:147              Constant:
0:147                0 (const int)
0:147              Constant:
0:147                1 (const int)
0:147              Constant:
0:147                2 (const int)
0:147          'ballot' ( temp highp 4-component vector of uint)
0:148      move second child to first child ( temp highp 4-component vector of float)
0:148        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:148          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:148            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:148            Constant:
0:148              3 (const int)
0:148          Constant:
0:148            0 (const int)
0:148        subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of float)
0:148          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:148            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:148              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:148              Constant:
0:148                3 (const int)
0:148            Constant:
0:148              0 (const int)
0:148          'ballot' ( temp highp 4-component vector of uint)
0:150      move second child to first child ( temp highp int)
0:150        direct index ( temp highp int)
0:150          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:150            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:150              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:150              Constant:
0:150                3 (const int)
0:150            Constant:
0:150              1 (const int)
0:150          Constant:
0:150            0 (const int)
0:150        subgroupPartitionedInclusiveAddNV ( global highp int)
0:150          direct index ( temp highp int)
0:150            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:150              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:150                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:150                Constant:
0:150                  0 (const int)
0:150              Constant:
0:150                1 (const int)
0:150            Constant:
0:150              0 (const int)
0:150          'ballot' ( temp highp 4-component vector of uint)
0:151      move second child to first child ( temp highp 2-component vector of int)
0:151        vector swizzle ( temp highp 2-component vector of int)
0:151          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:151            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:151              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:151              Constant:
0:151                3 (const int)
0:151            Constant:
0:151              1 (const int)
0:151          Sequence
0:151            Constant:
0:151              0 (const int)
0:151            Constant:
0:151              1 (const int)
0:151        subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of int)
0:151          vector swizzle ( temp highp 2-component vector of int)
0:151            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:151              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:151                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:151                Constant:
0:151                  1 (const int)
0:151              Constant:
0:151                1 (const int)
0:151            Sequence
0:151              Constant:
0:151                0 (const int)
0:151              Constant:
0:151                1 (const int)
0:151          'ballot' ( temp highp 4-component vector of uint)
0:152      move second child to first child ( temp highp 3-component vector of int)
0:152        vector swizzle ( temp highp 3-component vector of int)
0:152          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:152            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:152              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:152              Constant:
0:152                3 (const int)
0:152            Constant:
0:152              1 (const int)
0:152          Sequence
0:152            Constant:
0:152              0 (const int)
0:152            Constant:
0:152              1 (const int)
0:152            Constant:
0:152              2 (const int)
0:152        subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of int)
0:152          vector swizzle ( temp highp 3-component vector of int)
0:152            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:152              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:152                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:152                Constant:
0:152                  2 (const int)
0:152              Constant:
0:152                1 (const int)
0:152            Sequence
0:152              Constant:
0:152                0 (const int)
0:152              Constant:
0:152                1 (const int)
0:152              Constant:
0:152                2 (const int)
0:152          'ballot' ( temp highp 4-component vector of uint)
0:153      move second child to first child ( temp highp 4-component vector of int)
0:153        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:153          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:153            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:153            Constant:
0:153              3 (const int)
0:153          Constant:
0:153            1 (const int)
0:153        subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of int)
0:153          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:153            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:153              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:153              Constant:
0:153                3 (const int)
0:153            Constant:
0:153              1 (const int)
0:153          'ballot' ( temp highp 4-component vector of uint)
0:155      move second child to first child ( temp highp uint)
0:155        direct index ( temp highp uint)
0:155          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:155            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:155              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:155              Constant:
0:155                3 (const int)
0:155            Constant:
0:155              2 (const int)
0:155          Constant:
0:155            0 (const int)
0:155        subgroupPartitionedInclusiveAddNV ( global highp uint)
0:155          direct index ( temp highp uint)
0:155            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:155              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:155                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:155                Constant:
0:155                  0 (const int)
0:155              Constant:
0:155                2 (const int)
0:155            Constant:
0:155              0 (const int)
0:155          'ballot' ( temp highp 4-component vector of uint)
0:156      move second child to first child ( temp highp 2-component vector of uint)
0:156        vector swizzle ( temp highp 2-component vector of uint)
0:156          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:156            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:156              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:156              Constant:
0:156                3 (const int)
0:156            Constant:
0:156              2 (const int)
0:156          Sequence
0:156            Constant:
0:156              0 (const int)
0:156            Constant:
0:156              1 (const int)
0:156        subgroupPartitionedInclusiveAddNV ( global highp 2-component vector of uint)
0:156          vector swizzle ( temp highp 2-component vector of uint)
0:156            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:156              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:156                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:156                Constant:
0:156                  1 (const int)
0:156              Constant:
0:156                2 (const int)
0:156            Sequence
0:156              Constant:
0:156                0 (const int)
0:156              Constant:
0:156                1 (const int)
0:156          'ballot' ( temp highp 4-component vector of uint)
0:157      move second child to first child ( temp highp 3-component vector of uint)
0:157        vector swizzle ( temp highp 3-component vector of uint)
0:157          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:157            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:157              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:157              Constant:
0:157                3 (const int)
0:157            Constant:
0:157              2 (const int)
0:157          Sequence
0:157            Constant:
0:157              0 (const int)
0:157            Constant:
0:157              1 (const int)
0:157            Constant:
0:157              2 (const int)
0:157        subgroupPartitionedInclusiveAddNV ( global highp 3-component vector of uint)
0:157          vector swizzle ( temp highp 3-component vector of uint)
0:157            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:157              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:157                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:157                Constant:
0:157                  2 (const int)
0:157              Constant:
0:157                2 (const int)
0:157            Sequence
0:157              Constant:
0:157                0 (const int)
0:157              Constant:
0:157                1 (const int)
0:157              Constant:
0:157                2 (const int)
0:157          'ballot' ( temp highp 4-component vector of uint)
0:158      move second child to first child ( temp highp 4-component vector of uint)
0:158        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:158          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:158            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:158            Constant:
0:158              3 (const int)
0:158          Constant:
0:158            2 (const int)
0:158        subgroupPartitionedInclusiveAddNV ( global highp 4-component vector of uint)
0:158          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:158            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:158              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:158              Constant:
0:158                3 (const int)
0:158            Constant:
0:158              2 (const int)
0:158          'ballot' ( temp highp 4-component vector of uint)
0:160      move second child to first child ( temp highp float)
0:160        direct index ( temp highp float)
0:160          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:160            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:160              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:160              Constant:
0:160                3 (const int)
0:160            Constant:
0:160              0 (const int)
0:160          Constant:
0:160            0 (const int)
0:160        subgroupPartitionedInclusiveMulNV ( global highp float)
0:160          direct index ( temp highp float)
0:160            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:160              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:160                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:160                Constant:
0:160                  0 (const int)
0:160              Constant:
0:160                0 (const int)
0:160            Constant:
0:160              0 (const int)
0:160          'ballot' ( temp highp 4-component vector of uint)
0:161      move second child to first child ( temp highp 2-component vector of float)
0:161        vector swizzle ( temp highp 2-component vector of float)
0:161          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:161            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:161              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:161              Constant:
0:161                3 (const int)
0:161            Constant:
0:161              0 (const int)
0:161          Sequence
0:161            Constant:
0:161              0 (const int)
0:161            Constant:
0:161              1 (const int)
0:161        subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of float)
0:161          vector swizzle ( temp highp 2-component vector of float)
0:161            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:161              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:161                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:161                Constant:
0:161                  1 (const int)
0:161              Constant:
0:161                0 (const int)
0:161            Sequence
0:161              Constant:
0:161                0 (const int)
0:161              Constant:
0:161                1 (const int)
0:161          'ballot' ( temp highp 4-component vector of uint)
0:162      move second child to first child ( temp highp 3-component vector of float)
0:162        vector swizzle ( temp highp 3-component vector of float)
0:162          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:162            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:162              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:162              Constant:
0:162                3 (const int)
0:162            Constant:
0:162              0 (const int)
0:162          Sequence
0:162            Constant:
0:162              0 (const int)
0:162            Constant:
0:162              1 (const int)
0:162            Constant:
0:162              2 (const int)
0:162        subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of float)
0:162          vector swizzle ( temp highp 3-component vector of float)
0:162            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:162              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:162                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:162                Constant:
0:162                  2 (const int)
0:162              Constant:
0:162                0 (const int)
0:162            Sequence
0:162              Constant:
0:162                0 (const int)
0:162              Constant:
0:162                1 (const int)
0:162              Constant:
0:162                2 (const int)
0:162          'ballot' ( temp highp 4-component vector of uint)
0:163      move second child to first child ( temp highp 4-component vector of float)
0:163        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:163          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:163            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:163            Constant:
0:163              3 (const int)
0:163          Constant:
0:163            0 (const int)
0:163        subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of float)
0:163          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:163            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:163              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:163              Constant:
0:163                3 (const int)
0:163            Constant:
0:163              0 (const int)
0:163          'ballot' ( temp highp 4-component vector of uint)
0:165      move second child to first child ( temp highp int)
0:165        direct index ( temp highp int)
0:165          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:165            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:165              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:165              Constant:
0:165                3 (const int)
0:165            Constant:
0:165              1 (const int)
0:165          Constant:
0:165            0 (const int)
0:165        subgroupPartitionedInclusiveMulNV ( global highp int)
0:165          direct index ( temp highp int)
0:165            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:165              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:165                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:165                Constant:
0:165                  0 (const int)
0:165              Constant:
0:165                1 (const int)
0:165            Constant:
0:165              0 (const int)
0:165          'ballot' ( temp highp 4-component vector of uint)
0:166      move second child to first child ( temp highp 2-component vector of int)
0:166        vector swizzle ( temp highp 2-component vector of int)
0:166          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:166            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:166              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:166              Constant:
0:166                3 (const int)
0:166            Constant:
0:166              1 (const int)
0:166          Sequence
0:166            Constant:
0:166              0 (const int)
0:166            Constant:
0:166              1 (const int)
0:166        subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of int)
0:166          vector swizzle ( temp highp 2-component vector of int)
0:166            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:166              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:166                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:166                Constant:
0:166                  1 (const int)
0:166              Constant:
0:166                1 (const int)
0:166            Sequence
0:166              Constant:
0:166                0 (const int)
0:166              Constant:
0:166                1 (const int)
0:166          'ballot' ( temp highp 4-component vector of uint)
0:167      move second child to first child ( temp highp 3-component vector of int)
0:167        vector swizzle ( temp highp 3-component vector of int)
0:167          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:167            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:167              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:167              Constant:
0:167                3 (const int)
0:167            Constant:
0:167              1 (const int)
0:167          Sequence
0:167            Constant:
0:167              0 (const int)
0:167            Constant:
0:167              1 (const int)
0:167            Constant:
0:167              2 (const int)
0:167        subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of int)
0:167          vector swizzle ( temp highp 3-component vector of int)
0:167            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:167              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:167                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:167                Constant:
0:167                  2 (const int)
0:167              Constant:
0:167                1 (const int)
0:167            Sequence
0:167              Constant:
0:167                0 (const int)
0:167              Constant:
0:167                1 (const int)
0:167              Constant:
0:167                2 (const int)
0:167          'ballot' ( temp highp 4-component vector of uint)
0:168      move second child to first child ( temp highp 4-component vector of int)
0:168        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:168          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:168            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:168            Constant:
0:168              3 (const int)
0:168          Constant:
0:168            1 (const int)
0:168        subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of int)
0:168          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:168            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:168              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:168              Constant:
0:168                3 (const int)
0:168            Constant:
0:168              1 (const int)
0:168          'ballot' ( temp highp 4-component vector of uint)
0:170      move second child to first child ( temp highp uint)
0:170        direct index ( temp highp uint)
0:170          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:170            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:170              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:170              Constant:
0:170                0 (const int)
0:170            Constant:
0:170              2 (const int)
0:170          Constant:
0:170            0 (const int)
0:170        subgroupPartitionedInclusiveMulNV ( global highp uint)
0:170          direct index ( temp highp uint)
0:170            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:170              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:170                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:170                Constant:
0:170                  0 (const int)
0:170              Constant:
0:170                2 (const int)
0:170            Constant:
0:170              0 (const int)
0:170          'ballot' ( temp highp 4-component vector of uint)
0:171      move second child to first child ( temp highp 2-component vector of uint)
0:171        vector swizzle ( temp highp 2-component vector of uint)
0:171          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:171            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:171              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:171              Constant:
0:171                0 (const int)
0:171            Constant:
0:171              2 (const int)
0:171          Sequence
0:171            Constant:
0:171              0 (const int)
0:171            Constant:
0:171              1 (const int)
0:171        subgroupPartitionedInclusiveMulNV ( global highp 2-component vector of uint)
0:171          vector swizzle ( temp highp 2-component vector of uint)
0:171            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:171              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:171                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:171                Constant:
0:171                  1 (const int)
0:171              Constant:
0:171                2 (const int)
0:171            Sequence
0:171              Constant:
0:171                0 (const int)
0:171              Constant:
0:171                1 (const int)
0:171          'ballot' ( temp highp 4-component vector of uint)
0:172      move second child to first child ( temp highp 3-component vector of uint)
0:172        vector swizzle ( temp highp 3-component vector of uint)
0:172          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:172            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:172              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:172              Constant:
0:172                0 (const int)
0:172            Constant:
0:172              2 (const int)
0:172          Sequence
0:172            Constant:
0:172              0 (const int)
0:172            Constant:
0:172              1 (const int)
0:172            Constant:
0:172              2 (const int)
0:172        subgroupPartitionedInclusiveMulNV ( global highp 3-component vector of uint)
0:172          vector swizzle ( temp highp 3-component vector of uint)
0:172            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:172              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:172                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:172                Constant:
0:172                  2 (const int)
0:172              Constant:
0:172                2 (const int)
0:172            Sequence
0:172              Constant:
0:172                0 (const int)
0:172              Constant:
0:172                1 (const int)
0:172              Constant:
0:172                2 (const int)
0:172          'ballot' ( temp highp 4-component vector of uint)
0:173      move second child to first child ( temp highp 4-component vector of uint)
0:173        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:173          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:173            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:173            Constant:
0:173              0 (const int)
0:173          Constant:
0:173            2 (const int)
0:173        subgroupPartitionedInclusiveMulNV ( global highp 4-component vector of uint)
0:173          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:173            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:173              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:173              Constant:
0:173                3 (const int)
0:173            Constant:
0:173              2 (const int)
0:173          'ballot' ( temp highp 4-component vector of uint)
0:175      move second child to first child ( temp highp float)
0:175        direct index ( temp highp float)
0:175          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:175            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:175              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:175              Constant:
0:175                0 (const int)
0:175            Constant:
0:175              0 (const int)
0:175          Constant:
0:175            0 (const int)
0:175        subgroupPartitionedInclusiveMinNV ( global highp float)
0:175          direct index ( temp highp float)
0:175            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:175              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:175                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:175                Constant:
0:175                  0 (const int)
0:175              Constant:
0:175                0 (const int)
0:175            Constant:
0:175              0 (const int)
0:175          'ballot' ( temp highp 4-component vector of uint)
0:176      move second child to first child ( temp highp 2-component vector of float)
0:176        vector swizzle ( temp highp 2-component vector of float)
0:176          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:176            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:176              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:176              Constant:
0:176                0 (const int)
0:176            Constant:
0:176              0 (const int)
0:176          Sequence
0:176            Constant:
0:176              0 (const int)
0:176            Constant:
0:176              1 (const int)
0:176        subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of float)
0:176          vector swizzle ( temp highp 2-component vector of float)
0:176            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:176              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:176                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:176                Constant:
0:176                  1 (const int)
0:176              Constant:
0:176                0 (const int)
0:176            Sequence
0:176              Constant:
0:176                0 (const int)
0:176              Constant:
0:176                1 (const int)
0:176          'ballot' ( temp highp 4-component vector of uint)
0:177      move second child to first child ( temp highp 3-component vector of float)
0:177        vector swizzle ( temp highp 3-component vector of float)
0:177          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:177            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:177              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:177              Constant:
0:177                0 (const int)
0:177            Constant:
0:177              0 (const int)
0:177          Sequence
0:177            Constant:
0:177              0 (const int)
0:177            Constant:
0:177              1 (const int)
0:177            Constant:
0:177              2 (const int)
0:177        subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of float)
0:177          vector swizzle ( temp highp 3-component vector of float)
0:177            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:177              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:177                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:177                Constant:
0:177                  2 (const int)
0:177              Constant:
0:177                0 (const int)
0:177            Sequence
0:177              Constant:
0:177                0 (const int)
0:177              Constant:
0:177                1 (const int)
0:177              Constant:
0:177                2 (const int)
0:177          'ballot' ( temp highp 4-component vector of uint)
0:178      move second child to first child ( temp highp 4-component vector of float)
0:178        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:178          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:178            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:178            Constant:
0:178              0 (const int)
0:178          Constant:
0:178            0 (const int)
0:178        subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of float)
0:178          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:178            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:178              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:178              Constant:
0:178                3 (const int)
0:178            Constant:
0:178              0 (const int)
0:178          'ballot' ( temp highp 4-component vector of uint)
0:180      move second child to first child ( temp highp int)
0:180        direct index ( temp highp int)
0:180          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:180            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:180              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:180              Constant:
0:180                0 (const int)
0:180            Constant:
0:180              1 (const int)
0:180          Constant:
0:180            0 (const int)
0:180        subgroupPartitionedInclusiveMinNV ( global highp int)
0:180          direct index ( temp highp int)
0:180            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:180              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:180                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:180                Constant:
0:180                  0 (const int)
0:180              Constant:
0:180                1 (const int)
0:180            Constant:
0:180              0 (const int)
0:180          'ballot' ( temp highp 4-component vector of uint)
0:181      move second child to first child ( temp highp 2-component vector of int)
0:181        vector swizzle ( temp highp 2-component vector of int)
0:181          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:181            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:181              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:181              Constant:
0:181                0 (const int)
0:181            Constant:
0:181              1 (const int)
0:181          Sequence
0:181            Constant:
0:181              0 (const int)
0:181            Constant:
0:181              1 (const int)
0:181        subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of int)
0:181          vector swizzle ( temp highp 2-component vector of int)
0:181            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:181              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:181                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:181                Constant:
0:181                  1 (const int)
0:181              Constant:
0:181                1 (const int)
0:181            Sequence
0:181              Constant:
0:181                0 (const int)
0:181              Constant:
0:181                1 (const int)
0:181          'ballot' ( temp highp 4-component vector of uint)
0:182      move second child to first child ( temp highp 3-component vector of int)
0:182        vector swizzle ( temp highp 3-component vector of int)
0:182          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:182            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:182              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:182              Constant:
0:182                0 (const int)
0:182            Constant:
0:182              1 (const int)
0:182          Sequence
0:182            Constant:
0:182              0 (const int)
0:182            Constant:
0:182              1 (const int)
0:182            Constant:
0:182              2 (const int)
0:182        subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of int)
0:182          vector swizzle ( temp highp 3-component vector of int)
0:182            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:182              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:182                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:182                Constant:
0:182                  2 (const int)
0:182              Constant:
0:182                1 (const int)
0:182            Sequence
0:182              Constant:
0:182                0 (const int)
0:182              Constant:
0:182                1 (const int)
0:182              Constant:
0:182                2 (const int)
0:182          'ballot' ( temp highp 4-component vector of uint)
0:183      move second child to first child ( temp highp 4-component vector of int)
0:183        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:183          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:183            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:183            Constant:
0:183              0 (const int)
0:183          Constant:
0:183            1 (const int)
0:183        subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of int)
0:183          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:183            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:183              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:183              Constant:
0:183                3 (const int)
0:183            Constant:
0:183              1 (const int)
0:183          'ballot' ( temp highp 4-component vector of uint)
0:185      move second child to first child ( temp highp uint)
0:185        direct index ( temp highp uint)
0:185          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:185            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:185              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:185              Constant:
0:185                0 (const int)
0:185            Constant:
0:185              2 (const int)
0:185          Constant:
0:185            0 (const int)
0:185        subgroupPartitionedInclusiveMinNV ( global highp uint)
0:185          direct index ( temp highp uint)
0:185            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:185              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:185                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:185                Constant:
0:185                  0 (const int)
0:185              Constant:
0:185                2 (const int)
0:185            Constant:
0:185              0 (const int)
0:185          'ballot' ( temp highp 4-component vector of uint)
0:186      move second child to first child ( temp highp 2-component vector of uint)
0:186        vector swizzle ( temp highp 2-component vector of uint)
0:186          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:186            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:186              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:186              Constant:
0:186                0 (const int)
0:186            Constant:
0:186              2 (const int)
0:186          Sequence
0:186            Constant:
0:186              0 (const int)
0:186            Constant:
0:186              1 (const int)
0:186        subgroupPartitionedInclusiveMinNV ( global highp 2-component vector of uint)
0:186          vector swizzle ( temp highp 2-component vector of uint)
0:186            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:186              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:186                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:186                Constant:
0:186                  1 (const int)
0:186              Constant:
0:186                2 (const int)
0:186            Sequence
0:186              Constant:
0:186                0 (const int)
0:186              Constant:
0:186                1 (const int)
0:186          'ballot' ( temp highp 4-component vector of uint)
0:187      move second child to first child ( temp highp 3-component vector of uint)
0:187        vector swizzle ( temp highp 3-component vector of uint)
0:187          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:187            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:187              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:187              Constant:
0:187                0 (const int)
0:187            Constant:
0:187              2 (const int)
0:187          Sequence
0:187            Constant:
0:187              0 (const int)
0:187            Constant:
0:187              1 (const int)
0:187            Constant:
0:187              2 (const int)
0:187        subgroupPartitionedInclusiveMinNV ( global highp 3-component vector of uint)
0:187          vector swizzle ( temp highp 3-component vector of uint)
0:187            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:187              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:187                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:187                Constant:
0:187                  2 (const int)
0:187              Constant:
0:187                2 (const int)
0:187            Sequence
0:187              Constant:
0:187                0 (const int)
0:187              Constant:
0:187                1 (const int)
0:187              Constant:
0:187                2 (const int)
0:187          'ballot' ( temp highp 4-component vector of uint)
0:188      move second child to first child ( temp highp 4-component vector of uint)
0:188        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:188          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:188            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:188            Constant:
0:188              0 (const int)
0:188          Constant:
0:188            2 (const int)
0:188        subgroupPartitionedInclusiveMinNV ( global highp 4-component vector of uint)
0:188          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:188            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:188              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:188              Constant:
0:188                3 (const int)
0:188            Constant:
0:188              2 (const int)
0:188          'ballot' ( temp highp 4-component vector of uint)
0:190      move second child to first child ( temp highp float)
0:190        direct index ( temp highp float)
0:190          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:190            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:190              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:190              Constant:
0:190                1 (const int)
0:190            Constant:
0:190              0 (const int)
0:190          Constant:
0:190            0 (const int)
0:190        subgroupPartitionedInclusiveMaxNV ( global highp float)
0:190          direct index ( temp highp float)
0:190            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:190              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:190                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:190                Constant:
0:190                  0 (const int)
0:190              Constant:
0:190                0 (const int)
0:190            Constant:
0:190              0 (const int)
0:190          'ballot' ( temp highp 4-component vector of uint)
0:191      move second child to first child ( temp highp 2-component vector of float)
0:191        vector swizzle ( temp highp 2-component vector of float)
0:191          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:191            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:191              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:191              Constant:
0:191                1 (const int)
0:191            Constant:
0:191              0 (const int)
0:191          Sequence
0:191            Constant:
0:191              0 (const int)
0:191            Constant:
0:191              1 (const int)
0:191        subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of float)
0:191          vector swizzle ( temp highp 2-component vector of float)
0:191            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:191              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:191                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:191                Constant:
0:191                  1 (const int)
0:191              Constant:
0:191                0 (const int)
0:191            Sequence
0:191              Constant:
0:191                0 (const int)
0:191              Constant:
0:191                1 (const int)
0:191          'ballot' ( temp highp 4-component vector of uint)
0:192      move second child to first child ( temp highp 3-component vector of float)
0:192        vector swizzle ( temp highp 3-component vector of float)
0:192          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:192            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:192              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:192              Constant:
0:192                1 (const int)
0:192            Constant:
0:192              0 (const int)
0:192          Sequence
0:192            Constant:
0:192              0 (const int)
0:192            Constant:
0:192              1 (const int)
0:192            Constant:
0:192              2 (const int)
0:192        subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of float)
0:192          vector swizzle ( temp highp 3-component vector of float)
0:192            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:192              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:192                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:192                Constant:
0:192                  2 (const int)
0:192              Constant:
0:192                0 (const int)
0:192            Sequence
0:192              Constant:
0:192                0 (const int)
0:192              Constant:
0:192                1 (const int)
0:192              Constant:
0:192                2 (const int)
0:192          'ballot' ( temp highp 4-component vector of uint)
0:193      move second child to first child ( temp highp 4-component vector of float)
0:193        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:193          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:193            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:193            Constant:
0:193              1 (const int)
0:193          Constant:
0:193            0 (const int)
0:193        subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of float)
0:193          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:193            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:193              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:193              Constant:
0:193                3 (const int)
0:193            Constant:
0:193              0 (const int)
0:193          'ballot' ( temp highp 4-component vector of uint)
0:195      move second child to first child ( temp highp int)
0:195        direct index ( temp highp int)
0:195          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:195            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:195              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:195              Constant:
0:195                1 (const int)
0:195            Constant:
0:195              1 (const int)
0:195          Constant:
0:195            0 (const int)
0:195        subgroupPartitionedInclusiveMaxNV ( global highp int)
0:195          direct index ( temp highp int)
0:195            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:195              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:195                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:195                Constant:
0:195                  0 (const int)
0:195              Constant:
0:195                1 (const int)
0:195            Constant:
0:195              0 (const int)
0:195          'ballot' ( temp highp 4-component vector of uint)
0:196      move second child to first child ( temp highp 2-component vector of int)
0:196        vector swizzle ( temp highp 2-component vector of int)
0:196          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:196            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:196              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:196              Constant:
0:196                1 (const int)
0:196            Constant:
0:196              1 (const int)
0:196          Sequence
0:196            Constant:
0:196              0 (const int)
0:196            Constant:
0:196              1 (const int)
0:196        subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of int)
0:196          vector swizzle ( temp highp 2-component vector of int)
0:196            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:196              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:196                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:196                Constant:
0:196                  1 (const int)
0:196              Constant:
0:196                1 (const int)
0:196            Sequence
0:196              Constant:
0:196                0 (const int)
0:196              Constant:
0:196                1 (const int)
0:196          'ballot' ( temp highp 4-component vector of uint)
0:197      move second child to first child ( temp highp 3-component vector of int)
0:197        vector swizzle ( temp highp 3-component vector of int)
0:197          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:197            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:197              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:197              Constant:
0:197                1 (const int)
0:197            Constant:
0:197              1 (const int)
0:197          Sequence
0:197            Constant:
0:197              0 (const int)
0:197            Constant:
0:197              1 (const int)
0:197            Constant:
0:197              2 (const int)
0:197        subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of int)
0:197          vector swizzle ( temp highp 3-component vector of int)
0:197            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:197              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:197                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:197                Constant:
0:197                  2 (const int)
0:197              Constant:
0:197                1 (const int)
0:197            Sequence
0:197              Constant:
0:197                0 (const int)
0:197              Constant:
0:197                1 (const int)
0:197              Constant:
0:197                2 (const int)
0:197          'ballot' ( temp highp 4-component vector of uint)
0:198      move second child to first child ( temp highp 4-component vector of int)
0:198        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:198          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:198            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:198            Constant:
0:198              1 (const int)
0:198          Constant:
0:198            1 (const int)
0:198        subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of int)
0:198          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:198            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:198              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:198              Constant:
0:198                3 (const int)
0:198            Constant:
0:198              1 (const int)
0:198          'ballot' ( temp highp 4-component vector of uint)
0:200      move second child to first child ( temp highp uint)
0:200        direct index ( temp highp uint)
0:200          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:200            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:200              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:200              Constant:
0:200                1 (const int)
0:200            Constant:
0:200              2 (const int)
0:200          Constant:
0:200            0 (const int)
0:200        subgroupPartitionedInclusiveMaxNV ( global highp uint)
0:200          direct index ( temp highp uint)
0:200            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:200              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:200                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:200                Constant:
0:200                  0 (const int)
0:200              Constant:
0:200                2 (const int)
0:200            Constant:
0:200              0 (const int)
0:200          'ballot' ( temp highp 4-component vector of uint)
0:201      move second child to first child ( temp highp 2-component vector of uint)
0:201        vector swizzle ( temp highp 2-component vector of uint)
0:201          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:201            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:201              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:201              Constant:
0:201                1 (const int)
0:201            Constant:
0:201              2 (const int)
0:201          Sequence
0:201            Constant:
0:201              0 (const int)
0:201            Constant:
0:201              1 (const int)
0:201        subgroupPartitionedInclusiveMaxNV ( global highp 2-component vector of uint)
0:201          vector swizzle ( temp highp 2-component vector of uint)
0:201            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:201              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:201                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:201                Constant:
0:201                  1 (const int)
0:201              Constant:
0:201                2 (const int)
0:201            Sequence
0:201              Constant:
0:201                0 (const int)
0:201              Constant:
0:201                1 (const int)
0:201          'ballot' ( temp highp 4-component vector of uint)
0:202      move second child to first child ( temp highp 3-component vector of uint)
0:202        vector swizzle ( temp highp 3-component vector of uint)
0:202          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:202            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:202              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:202              Constant:
0:202                1 (const int)
0:202            Constant:
0:202              2 (const int)
0:202          Sequence
0:202            Constant:
0:202              0 (const int)
0:202            Constant:
0:202              1 (const int)
0:202            Constant:
0:202              2 (const int)
0:202        subgroupPartitionedInclusiveMaxNV ( global highp 3-component vector of uint)
0:202          vector swizzle ( temp highp 3-component vector of uint)
0:202            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:202              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:202                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:202                Constant:
0:202                  2 (const int)
0:202              Constant:
0:202                2 (const int)
0:202            Sequence
0:202              Constant:
0:202                0 (const int)
0:202              Constant:
0:202                1 (const int)
0:202              Constant:
0:202                2 (const int)
0:202          'ballot' ( temp highp 4-component vector of uint)
0:203      move second child to first child ( temp highp 4-component vector of uint)
0:203        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:203          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:203            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:203            Constant:
0:203              1 (const int)
0:203          Constant:
0:203            2 (const int)
0:203        subgroupPartitionedInclusiveMaxNV ( global highp 4-component vector of uint)
0:203          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:203            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:203              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:203              Constant:
0:203                3 (const int)
0:203            Constant:
0:203              2 (const int)
0:203          'ballot' ( temp highp 4-component vector of uint)
0:205      move second child to first child ( temp highp int)
0:205        direct index ( temp highp int)
0:205          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:205            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:205              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:205              Constant:
0:205                1 (const int)
0:205            Constant:
0:205              1 (const int)
0:205          Constant:
0:205            0 (const int)
0:205        subgroupPartitionedInclusiveAndNV ( global highp int)
0:205          direct index ( temp highp int)
0:205            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:205              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:205                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:205                Constant:
0:205                  0 (const int)
0:205              Constant:
0:205                1 (const int)
0:205            Constant:
0:205              0 (const int)
0:205          'ballot' ( temp highp 4-component vector of uint)
0:206      move second child to first child ( temp highp 2-component vector of int)
0:206        vector swizzle ( temp highp 2-component vector of int)
0:206          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:206            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:206              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:206              Constant:
0:206                1 (const int)
0:206            Constant:
0:206              1 (const int)
0:206          Sequence
0:206            Constant:
0:206              0 (const int)
0:206            Constant:
0:206              1 (const int)
0:206        subgroupPartitionedInclusiveAndNV ( global highp 2-component vector of int)
0:206          vector swizzle ( temp highp 2-component vector of int)
0:206            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:206              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:206                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:206                Constant:
0:206                  1 (const int)
0:206              Constant:
0:206                1 (const int)
0:206            Sequence
0:206              Constant:
0:206                0 (const int)
0:206              Constant:
0:206                1 (const int)
0:206          'ballot' ( temp highp 4-component vector of uint)
0:207      move second child to first child ( temp highp 3-component vector of int)
0:207        vector swizzle ( temp highp 3-component vector of int)
0:207          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:207            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:207              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:207              Constant:
0:207                1 (const int)
0:207            Constant:
0:207              1 (const int)
0:207          Sequence
0:207            Constant:
0:207              0 (const int)
0:207            Constant:
0:207              1 (const int)
0:207            Constant:
0:207              2 (const int)
0:207        subgroupPartitionedInclusiveAndNV ( global highp 3-component vector of int)
0:207          vector swizzle ( temp highp 3-component vector of int)
0:207            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:207              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:207                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:207                Constant:
0:207                  2 (const int)
0:207              Constant:
0:207                1 (const int)
0:207            Sequence
0:207              Constant:
0:207                0 (const int)
0:207              Constant:
0:207                1 (const int)
0:207              Constant:
0:207                2 (const int)
0:207          'ballot' ( temp highp 4-component vector of uint)
0:208      move second child to first child ( temp highp 4-component vector of int)
0:208        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:208          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:208            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:208            Constant:
0:208              1 (const int)
0:208          Constant:
0:208            1 (const int)
0:208        subgroupPartitionedInclusiveAndNV ( global highp 4-component vector of int)
0:208          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:208            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:208              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:208              Constant:
0:208                3 (const int)
0:208            Constant:
0:208              1 (const int)
0:208          'ballot' ( temp highp 4-component vector of uint)
0:210      move second child to first child ( temp highp uint)
0:210        direct index ( temp highp uint)
0:210          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:210            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:210              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:210              Constant:
0:210                2 (const int)
0:210            Constant:
0:210              2 (const int)
0:210          Constant:
0:210            0 (const int)
0:210        subgroupPartitionedInclusiveAndNV ( global highp uint)
0:210          direct index ( temp highp uint)
0:210            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:210              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:210                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:210                Constant:
0:210                  0 (const int)
0:210              Constant:
0:210                2 (const int)
0:210            Constant:
0:210              0 (const int)
0:210          'ballot' ( temp highp 4-component vector of uint)
0:211      move second child to first child ( temp highp 2-component vector of uint)
0:211        vector swizzle ( temp highp 2-component vector of uint)
0:211          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:211            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:211              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:211              Constant:
0:211                2 (const int)
0:211            Constant:
0:211              2 (const int)
0:211          Sequence
0:211            Constant:
0:211              0 (const int)
0:211            Constant:
0:211              1 (const int)
0:211        subgroupPartitionedInclusiveAndNV ( global highp 2-component vector of uint)
0:211          vector swizzle ( temp highp 2-component vector of uint)
0:211            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:211              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:211                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:211                Constant:
0:211                  1 (const int)
0:211              Constant:
0:211                2 (const int)
0:211            Sequence
0:211              Constant:
0:211                0 (const int)
0:211              Constant:
0:211                1 (const int)
0:211          'ballot' ( temp highp 4-component vector of uint)
0:212      move second child to first child ( temp highp 3-component vector of uint)
0:212        vector swizzle ( temp highp 3-component vector of uint)
0:212          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:212            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:212              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:212              Constant:
0:212                2 (const int)
0:212            Constant:
0:212              2 (const int)
0:212          Sequence
0:212            Constant:
0:212              0 (const int)
0:212            Constant:
0:212              1 (const int)
0:212            Constant:
0:212              2 (const int)
0:212        subgroupPartitionedInclusiveAndNV ( global highp 3-component vector of uint)
0:212          vector swizzle ( temp highp 3-component vector of uint)
0:212            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:212              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:212                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:212                Constant:
0:212                  2 (const int)
0:212              Constant:
0:212                2 (const int)
0:212            Sequence
0:212              Constant:
0:212                0 (const int)
0:212              Constant:
0:212                1 (const int)
0:212              Constant:
0:212                2 (const int)
0:212          'ballot' ( temp highp 4-component vector of uint)
0:213      move second child to first child ( temp highp 4-component vector of uint)
0:213        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:213          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:213            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:213            Constant:
0:213              2 (const int)
0:213          Constant:
0:213            2 (const int)
0:213        subgroupPartitionedInclusiveAndNV ( global highp 4-component vector of uint)
0:213          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:213            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:213              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:213              Constant:
0:213                3 (const int)
0:213            Constant:
0:213              2 (const int)
0:213          'ballot' ( temp highp 4-component vector of uint)
0:215      move second child to first child ( temp highp int)
0:215        direct index ( temp highp int)
0:215          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:215            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:215              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:215              Constant:
0:215                2 (const int)
0:215            Constant:
0:215              1 (const int)
0:215          Constant:
0:215            0 (const int)
0:215        Convert bool to int ( temp highp int)
0:215          subgroupPartitionedInclusiveAndNV ( global bool, operation at highp)
0:215            Compare Less Than ( temp bool)
0:215              direct index ( temp highp int)
0:215                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:215                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:215                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:215                    Constant:
0:215                      0 (const int)
0:215                  Constant:
0:215                    1 (const int)
0:215                Constant:
0:215                  0 (const int)
0:215              Constant:
0:215                0 (const int)
0:215            'ballot' ( temp highp 4-component vector of uint)
0:216      move second child to first child ( temp highp 2-component vector of int)
0:216        vector swizzle ( temp highp 2-component vector of int)
0:216          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:216            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:216              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:216              Constant:
0:216                2 (const int)
0:216            Constant:
0:216              1 (const int)
0:216          Sequence
0:216            Constant:
0:216              0 (const int)
0:216            Constant:
0:216              1 (const int)
0:216        Convert bool to int ( temp highp 2-component vector of int)
0:216          subgroupPartitionedInclusiveAndNV ( global 2-component vector of bool, operation at highp)
0:216            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:216              vector swizzle ( temp highp 2-component vector of int)
0:216                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:216                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:216                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:216                    Constant:
0:216                      1 (const int)
0:216                  Constant:
0:216                    1 (const int)
0:216                Sequence
0:216                  Constant:
0:216                    0 (const int)
0:216                  Constant:
0:216                    1 (const int)
0:216              Constant:
0:216                0 (const int)
0:216                0 (const int)
0:216            'ballot' ( temp highp 4-component vector of uint)
0:217      move second child to first child ( temp highp 3-component vector of int)
0:217        vector swizzle ( temp highp 3-component vector of int)
0:217          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:217            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:217              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:217              Constant:
0:217                2 (const int)
0:217            Constant:
0:217              1 (const int)
0:217          Sequence
0:217            Constant:
0:217              0 (const int)
0:217            Constant:
0:217              1 (const int)
0:217            Constant:
0:217              2 (const int)
0:217        Convert bool to int ( temp highp 3-component vector of int)
0:217          subgroupPartitionedInclusiveAndNV ( global 3-component vector of bool, operation at highp)
0:217            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:217              vector swizzle ( temp highp 3-component vector of int)
0:217                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:217                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:217                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:217                    Constant:
0:217                      1 (const int)
0:217                  Constant:
0:217                    1 (const int)
0:217                Sequence
0:217                  Constant:
0:217                    0 (const int)
0:217                  Constant:
0:217                    1 (const int)
0:217                  Constant:
0:217                    2 (const int)
0:217              Constant:
0:217                0 (const int)
0:217                0 (const int)
0:217                0 (const int)
0:217            'ballot' ( temp highp 4-component vector of uint)
0:218      move second child to first child ( temp highp 4-component vector of int)
0:218        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:218          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:218            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:218            Constant:
0:218              2 (const int)
0:218          Constant:
0:218            1 (const int)
0:218        Convert bool to int ( temp highp 4-component vector of int)
0:218          subgroupPartitionedInclusiveAndNV ( global 4-component vector of bool, operation at highp)
0:218            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:218              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:218                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:218                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:218                  Constant:
0:218                    1 (const int)
0:218                Constant:
0:218                  1 (const int)
0:218              Constant:
0:218                0 (const int)
0:218                0 (const int)
0:218                0 (const int)
0:218                0 (const int)
0:218            'ballot' ( temp highp 4-component vector of uint)
0:220      move second child to first child ( temp highp int)
0:220        direct index ( temp highp int)
0:220          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:220            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:220              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:220              Constant:
0:220                2 (const int)
0:220            Constant:
0:220              1 (const int)
0:220          Constant:
0:220            0 (const int)
0:220        subgroupPartitionedInclusiveOrNV ( global highp int)
0:220          direct index ( temp highp int)
0:220            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:220              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:220                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:220                Constant:
0:220                  0 (const int)
0:220              Constant:
0:220                1 (const int)
0:220            Constant:
0:220              0 (const int)
0:220          'ballot' ( temp highp 4-component vector of uint)
0:221      move second child to first child ( temp highp 2-component vector of int)
0:221        vector swizzle ( temp highp 2-component vector of int)
0:221          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:221            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:221              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:221              Constant:
0:221                2 (const int)
0:221            Constant:
0:221              1 (const int)
0:221          Sequence
0:221            Constant:
0:221              0 (const int)
0:221            Constant:
0:221              1 (const int)
0:221        subgroupPartitionedInclusiveOrNV ( global highp 2-component vector of int)
0:221          vector swizzle ( temp highp 2-component vector of int)
0:221            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:221              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:221                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:221                Constant:
0:221                  1 (const int)
0:221              Constant:
0:221                1 (const int)
0:221            Sequence
0:221              Constant:
0:221                0 (const int)
0:221              Constant:
0:221                1 (const int)
0:221          'ballot' ( temp highp 4-component vector of uint)
0:222      move second child to first child ( temp highp 3-component vector of int)
0:222        vector swizzle ( temp highp 3-component vector of int)
0:222          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:222            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:222              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:222              Constant:
0:222                2 (const int)
0:222            Constant:
0:222              1 (const int)
0:222          Sequence
0:222            Constant:
0:222              0 (const int)
0:222            Constant:
0:222              1 (const int)
0:222            Constant:
0:222              2 (const int)
0:222        subgroupPartitionedInclusiveOrNV ( global highp 3-component vector of int)
0:222          vector swizzle ( temp highp 3-component vector of int)
0:222            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:222              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:222                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:222                Constant:
0:222                  2 (const int)
0:222              Constant:
0:222                1 (const int)
0:222            Sequence
0:222              Constant:
0:222                0 (const int)
0:222              Constant:
0:222                1 (const int)
0:222              Constant:
0:222                2 (const int)
0:222          'ballot' ( temp highp 4-component vector of uint)
0:223      move second child to first child ( temp highp 4-component vector of int)
0:223        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:223          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:223            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:223            Constant:
0:223              2 (const int)
0:223          Constant:
0:223            1 (const int)
0:223        subgroupPartitionedInclusiveOrNV ( global highp 4-component vector of int)
0:223          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:223            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:223              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:223              Constant:
0:223                3 (const int)
0:223            Constant:
0:223              1 (const int)
0:223          'ballot' ( temp highp 4-component vector of uint)
0:225      move second child to first child ( temp highp uint)
0:225        direct index ( temp highp uint)
0:225          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:225            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:225              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:225              Constant:
0:225                2 (const int)
0:225            Constant:
0:225              2 (const int)
0:225          Constant:
0:225            0 (const int)
0:225        subgroupPartitionedInclusiveOrNV ( global highp uint)
0:225          direct index ( temp highp uint)
0:225            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:225              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:225                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:225                Constant:
0:225                  0 (const int)
0:225              Constant:
0:225                2 (const int)
0:225            Constant:
0:225              0 (const int)
0:225          'ballot' ( temp highp 4-component vector of uint)
0:226      move second child to first child ( temp highp 2-component vector of uint)
0:226        vector swizzle ( temp highp 2-component vector of uint)
0:226          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:226            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:226              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:226              Constant:
0:226                2 (const int)
0:226            Constant:
0:226              2 (const int)
0:226          Sequence
0:226            Constant:
0:226              0 (const int)
0:226            Constant:
0:226              1 (const int)
0:226        subgroupPartitionedInclusiveOrNV ( global highp 2-component vector of uint)
0:226          vector swizzle ( temp highp 2-component vector of uint)
0:226            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:226              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:226                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:226                Constant:
0:226                  1 (const int)
0:226              Constant:
0:226                2 (const int)
0:226            Sequence
0:226              Constant:
0:226                0 (const int)
0:226              Constant:
0:226                1 (const int)
0:226          'ballot' ( temp highp 4-component vector of uint)
0:227      move second child to first child ( temp highp 3-component vector of uint)
0:227        vector swizzle ( temp highp 3-component vector of uint)
0:227          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:227            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:227              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:227              Constant:
0:227                2 (const int)
0:227            Constant:
0:227              2 (const int)
0:227          Sequence
0:227            Constant:
0:227              0 (const int)
0:227            Constant:
0:227              1 (const int)
0:227            Constant:
0:227              2 (const int)
0:227        subgroupPartitionedInclusiveOrNV ( global highp 3-component vector of uint)
0:227          vector swizzle ( temp highp 3-component vector of uint)
0:227            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:227              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:227                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:227                Constant:
0:227                  2 (const int)
0:227              Constant:
0:227                2 (const int)
0:227            Sequence
0:227              Constant:
0:227                0 (const int)
0:227              Constant:
0:227                1 (const int)
0:227              Constant:
0:227                2 (const int)
0:227          'ballot' ( temp highp 4-component vector of uint)
0:228      move second child to first child ( temp highp 4-component vector of uint)
0:228        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:228          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:228            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:228            Constant:
0:228              2 (const int)
0:228          Constant:
0:228            2 (const int)
0:228        subgroupPartitionedInclusiveOrNV ( global highp 4-component vector of uint)
0:228          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:228            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:228              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:228              Constant:
0:228                3 (const int)
0:228            Constant:
0:228              2 (const int)
0:228          'ballot' ( temp highp 4-component vector of uint)
0:230      move second child to first child ( temp highp int)
0:230        direct index ( temp highp int)
0:230          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:230            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:230              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:230              Constant:
0:230                3 (const int)
0:230            Constant:
0:230              1 (const int)
0:230          Constant:
0:230            0 (const int)
0:230        Convert bool to int ( temp highp int)
0:230          subgroupPartitionedInclusiveOrNV ( global bool, operation at highp)
0:230            Compare Less Than ( temp bool)
0:230              direct index ( temp highp int)
0:230                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:230                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:230                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:230                    Constant:
0:230                      0 (const int)
0:230                  Constant:
0:230                    1 (const int)
0:230                Constant:
0:230                  0 (const int)
0:230              Constant:
0:230                0 (const int)
0:230            'ballot' ( temp highp 4-component vector of uint)
0:231      move second child to first child ( temp highp 2-component vector of int)
0:231        vector swizzle ( temp highp 2-component vector of int)
0:231          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:231            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:231              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:231              Constant:
0:231                3 (const int)
0:231            Constant:
0:231              1 (const int)
0:231          Sequence
0:231            Constant:
0:231              0 (const int)
0:231            Constant:
0:231              1 (const int)
0:231        Convert bool to int ( temp highp 2-component vector of int)
0:231          subgroupPartitionedInclusiveOrNV ( global 2-component vector of bool, operation at highp)
0:231            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:231              vector swizzle ( temp highp 2-component vector of int)
0:231                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:231                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:231                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:231                    Constant:
0:231                      1 (const int)
0:231                  Constant:
0:231                    1 (const int)
0:231                Sequence
0:231                  Constant:
0:231                    0 (const int)
0:231                  Constant:
0:231                    1 (const int)
0:231              Constant:
0:231                0 (const int)
0:231                0 (const int)
0:231            'ballot' ( temp highp 4-component vector of uint)
0:232      move second child to first child ( temp highp 3-component vector of int)
0:232        vector swizzle ( temp highp 3-component vector of int)
0:232          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:232            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:232              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:232              Constant:
0:232                3 (const int)
0:232            Constant:
0:232              1 (const int)
0:232          Sequence
0:232            Constant:
0:232              0 (const int)
0:232            Constant:
0:232              1 (const int)
0:232            Constant:
0:232              2 (const int)
0:232        Convert bool to int ( temp highp 3-component vector of int)
0:232          subgroupPartitionedInclusiveOrNV ( global 3-component vector of bool, operation at highp)
0:232            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:232              vector swizzle ( temp highp 3-component vector of int)
0:232                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:232                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:232                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:232                    Constant:
0:232                      1 (const int)
0:232                  Constant:
0:232                    1 (const int)
0:232                Sequence
0:232                  Constant:
0:232                    0 (const int)
0:232                  Constant:
0:232                    1 (const int)
0:232                  Constant:
0:232                    2 (const int)
0:232              Constant:
0:232                0 (const int)
0:232                0 (const int)
0:232                0 (const int)
0:232            'ballot' ( temp highp 4-component vector of uint)
0:233      move second child to first child ( temp highp 4-component vector of int)
0:233        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:233          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:233            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:233            Constant:
0:233              3 (const int)
0:233          Constant:
0:233            1 (const int)
0:233        Convert bool to int ( temp highp 4-component vector of int)
0:233          subgroupPartitionedInclusiveOrNV ( global 4-component vector of bool, operation at highp)
0:233            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:233              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:233                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:233                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:233                  Constant:
0:233                    1 (const int)
0:233                Constant:
0:233                  1 (const int)
0:233              Constant:
0:233                0 (const int)
0:233                0 (const int)
0:233                0 (const int)
0:233                0 (const int)
0:233            'ballot' ( temp highp 4-component vector of uint)
0:235      move second child to first child ( temp highp int)
0:235        direct index ( temp highp int)
0:235          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:235            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:235              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:235              Constant:
0:235                3 (const int)
0:235            Constant:
0:235              1 (const int)
0:235          Constant:
0:235            0 (const int)
0:235        subgroupPartitionedInclusiveXorNV ( global highp int)
0:235          direct index ( temp highp int)
0:235            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:235              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:235                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:235                Constant:
0:235                  0 (const int)
0:235              Constant:
0:235                1 (const int)
0:235            Constant:
0:235              0 (const int)
0:235          'ballot' ( temp highp 4-component vector of uint)
0:236      move second child to first child ( temp highp 2-component vector of int)
0:236        vector swizzle ( temp highp 2-component vector of int)
0:236          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:236            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:236              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:236              Constant:
0:236                3 (const int)
0:236            Constant:
0:236              1 (const int)
0:236          Sequence
0:236            Constant:
0:236              0 (const int)
0:236            Constant:
0:236              1 (const int)
0:236        subgroupPartitionedInclusiveXorNV ( global highp 2-component vector of int)
0:236          vector swizzle ( temp highp 2-component vector of int)
0:236            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:236              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:236                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:236                Constant:
0:236                  1 (const int)
0:236              Constant:
0:236                1 (const int)
0:236            Sequence
0:236              Constant:
0:236                0 (const int)
0:236              Constant:
0:236                1 (const int)
0:236          'ballot' ( temp highp 4-component vector of uint)
0:237      move second child to first child ( temp highp 3-component vector of int)
0:237        vector swizzle ( temp highp 3-component vector of int)
0:237          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:237            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:237              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:237              Constant:
0:237                3 (const int)
0:237            Constant:
0:237              1 (const int)
0:237          Sequence
0:237            Constant:
0:237              0 (const int)
0:237            Constant:
0:237              1 (const int)
0:237            Constant:
0:237              2 (const int)
0:237        subgroupPartitionedInclusiveXorNV ( global highp 3-component vector of int)
0:237          vector swizzle ( temp highp 3-component vector of int)
0:237            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:237              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:237                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:237                Constant:
0:237                  2 (const int)
0:237              Constant:
0:237                1 (const int)
0:237            Sequence
0:237              Constant:
0:237                0 (const int)
0:237              Constant:
0:237                1 (const int)
0:237              Constant:
0:237                2 (const int)
0:237          'ballot' ( temp highp 4-component vector of uint)
0:238      move second child to first child ( temp highp 4-component vector of int)
0:238        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:238          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:238            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:238            Constant:
0:238              3 (const int)
0:238          Constant:
0:238            1 (const int)
0:238        subgroupPartitionedInclusiveXorNV ( global highp 4-component vector of int)
0:238          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:238            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:238              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:238              Constant:
0:238                3 (const int)
0:238            Constant:
0:238              1 (const int)
0:238          'ballot' ( temp highp 4-component vector of uint)
0:240      move second child to first child ( temp highp uint)
0:240        direct index ( temp highp uint)
0:240          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:240            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:240              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:240              Constant:
0:240                3 (const int)
0:240            Constant:
0:240              2 (const int)
0:240          Constant:
0:240            0 (const int)
0:240        subgroupPartitionedInclusiveXorNV ( global highp uint)
0:240          direct index ( temp highp uint)
0:240            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:240              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:240                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:240                Constant:
0:240                  0 (const int)
0:240              Constant:
0:240                2 (const int)
0:240            Constant:
0:240              0 (const int)
0:240          'ballot' ( temp highp 4-component vector of uint)
0:241      move second child to first child ( temp highp 2-component vector of uint)
0:241        vector swizzle ( temp highp 2-component vector of uint)
0:241          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:241            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:241              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:241              Constant:
0:241                3 (const int)
0:241            Constant:
0:241              2 (const int)
0:241          Sequence
0:241            Constant:
0:241              0 (const int)
0:241            Constant:
0:241              1 (const int)
0:241        subgroupPartitionedInclusiveXorNV ( global highp 2-component vector of uint)
0:241          vector swizzle ( temp highp 2-component vector of uint)
0:241            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:241              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:241                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:241                Constant:
0:241                  1 (const int)
0:241              Constant:
0:241                2 (const int)
0:241            Sequence
0:241              Constant:
0:241                0 (const int)
0:241              Constant:
0:241                1 (const int)
0:241          'ballot' ( temp highp 4-component vector of uint)
0:242      move second child to first child ( temp highp 3-component vector of uint)
0:242        vector swizzle ( temp highp 3-component vector of uint)
0:242          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:242            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:242              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:242              Constant:
0:242                3 (const int)
0:242            Constant:
0:242              2 (const int)
0:242          Sequence
0:242            Constant:
0:242              0 (const int)
0:242            Constant:
0:242              1 (const int)
0:242            Constant:
0:242              2 (const int)
0:242        subgroupPartitionedInclusiveXorNV ( global highp 3-component vector of uint)
0:242          vector swizzle ( temp highp 3-component vector of uint)
0:242            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:242              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:242                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:242                Constant:
0:242                  2 (const int)
0:242              Constant:
0:242                2 (const int)
0:242            Sequence
0:242              Constant:
0:242                0 (const int)
0:242              Constant:
0:242                1 (const int)
0:242              Constant:
0:242                2 (const int)
0:242          'ballot' ( temp highp 4-component vector of uint)
0:243      move second child to first child ( temp highp 4-component vector of uint)
0:243        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:243          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:243            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:243            Constant:
0:243              3 (const int)
0:243          Constant:
0:243            2 (const int)
0:243        subgroupPartitionedInclusiveXorNV ( global highp 4-component vector of uint)
0:243          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:243            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:243              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:243              Constant:
0:243                3 (const int)
0:243            Constant:
0:243              2 (const int)
0:243          'ballot' ( temp highp 4-component vector of uint)
0:245      move second child to first child ( temp highp int)
0:245        direct index ( temp highp int)
0:245          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:245            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:245              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:245              Constant:
0:245                3 (const int)
0:245            Constant:
0:245              1 (const int)
0:245          Constant:
0:245            0 (const int)
0:245        Convert bool to int ( temp highp int)
0:245          subgroupPartitionedInclusiveXorNV ( global bool, operation at highp)
0:245            Compare Less Than ( temp bool)
0:245              direct index ( temp highp int)
0:245                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:245                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:245                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:245                    Constant:
0:245                      0 (const int)
0:245                  Constant:
0:245                    1 (const int)
0:245                Constant:
0:245                  0 (const int)
0:245              Constant:
0:245                0 (const int)
0:245            'ballot' ( temp highp 4-component vector of uint)
0:246      move second child to first child ( temp highp 2-component vector of int)
0:246        vector swizzle ( temp highp 2-component vector of int)
0:246          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:246            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:246              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:246              Constant:
0:246                3 (const int)
0:246            Constant:
0:246              1 (const int)
0:246          Sequence
0:246            Constant:
0:246              0 (const int)
0:246            Constant:
0:246              1 (const int)
0:246        Convert bool to int ( temp highp 2-component vector of int)
0:246          subgroupPartitionedInclusiveXorNV ( global 2-component vector of bool, operation at highp)
0:246            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:246              vector swizzle ( temp highp 2-component vector of int)
0:246                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:246                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:246                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:246                    Constant:
0:246                      1 (const int)
0:246                  Constant:
0:246                    1 (const int)
0:246                Sequence
0:246                  Constant:
0:246                    0 (const int)
0:246                  Constant:
0:246                    1 (const int)
0:246              Constant:
0:246                0 (const int)
0:246                0 (const int)
0:246            'ballot' ( temp highp 4-component vector of uint)
0:247      move second child to first child ( temp highp 3-component vector of int)
0:247        vector swizzle ( temp highp 3-component vector of int)
0:247          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:247            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:247              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:247              Constant:
0:247                3 (const int)
0:247            Constant:
0:247              1 (const int)
0:247          Sequence
0:247            Constant:
0:247              0 (const int)
0:247            Constant:
0:247              1 (const int)
0:247            Constant:
0:247              2 (const int)
0:247        Convert bool to int ( temp highp 3-component vector of int)
0:247          subgroupPartitionedInclusiveXorNV ( global 3-component vector of bool, operation at highp)
0:247            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:247              vector swizzle ( temp highp 3-component vector of int)
0:247                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:247                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:247                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:247                    Constant:
0:247                      1 (const int)
0:247                  Constant:
0:247                    1 (const int)
0:247                Sequence
0:247                  Constant:
0:247                    0 (const int)
0:247                  Constant:
0:247                    1 (const int)
0:247                  Constant:
0:247                    2 (const int)
0:247              Constant:
0:247                0 (const int)
0:247                0 (const int)
0:247                0 (const int)
0:247            'ballot' ( temp highp 4-component vector of uint)
0:248      move second child to first child ( temp highp 4-component vector of int)
0:248        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:248          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:248            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:248            Constant:
0:248              3 (const int)
0:248          Constant:
0:248            1 (const int)
0:248        Convert bool to int ( temp highp 4-component vector of int)
0:248          subgroupPartitionedInclusiveXorNV ( global 4-component vector of bool, operation at highp)
0:248            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:248              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:248                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:248                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:248                  Constant:
0:248                    1 (const int)
0:248                Constant:
0:248                  1 (const int)
0:248              Constant:
0:248                0 (const int)
0:248                0 (const int)
0:248                0 (const int)
0:248                0 (const int)
0:248            'ballot' ( temp highp 4-component vector of uint)
0:250      move second child to first child ( temp highp float)
0:250        direct index ( temp highp float)
0:250          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:250            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:250              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:250              Constant:
0:250                0 (const int)
0:250            Constant:
0:250              0 (const int)
0:250          Constant:
0:250            0 (const int)
0:250        subgroupPartitionedExclusiveAddNV ( global highp float)
0:250          direct index ( temp highp float)
0:250            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:250              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:250                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:250                Constant:
0:250                  0 (const int)
0:250              Constant:
0:250                0 (const int)
0:250            Constant:
0:250              0 (const int)
0:250          'ballot' ( temp highp 4-component vector of uint)
0:251      move second child to first child ( temp highp 2-component vector of float)
0:251        vector swizzle ( temp highp 2-component vector of float)
0:251          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:251            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:251              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:251              Constant:
0:251                0 (const int)
0:251            Constant:
0:251              0 (const int)
0:251          Sequence
0:251            Constant:
0:251              0 (const int)
0:251            Constant:
0:251              1 (const int)
0:251        subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of float)
0:251          vector swizzle ( temp highp 2-component vector of float)
0:251            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:251              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:251                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:251                Constant:
0:251                  1 (const int)
0:251              Constant:
0:251                0 (const int)
0:251            Sequence
0:251              Constant:
0:251                0 (const int)
0:251              Constant:
0:251                1 (const int)
0:251          'ballot' ( temp highp 4-component vector of uint)
0:252      move second child to first child ( temp highp 3-component vector of float)
0:252        vector swizzle ( temp highp 3-component vector of float)
0:252          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:252            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:252              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:252              Constant:
0:252                0 (const int)
0:252            Constant:
0:252              0 (const int)
0:252          Sequence
0:252            Constant:
0:252              0 (const int)
0:252            Constant:
0:252              1 (const int)
0:252            Constant:
0:252              2 (const int)
0:252        subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of float)
0:252          vector swizzle ( temp highp 3-component vector of float)
0:252            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:252              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:252                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:252                Constant:
0:252                  2 (const int)
0:252              Constant:
0:252                0 (const int)
0:252            Sequence
0:252              Constant:
0:252                0 (const int)
0:252              Constant:
0:252                1 (const int)
0:252              Constant:
0:252                2 (const int)
0:252          'ballot' ( temp highp 4-component vector of uint)
0:253      move second child to first child ( temp highp 4-component vector of float)
0:253        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:253          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:253            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:253            Constant:
0:253              0 (const int)
0:253          Constant:
0:253            0 (const int)
0:253        subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of float)
0:253          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:253            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:253              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:253              Constant:
0:253                3 (const int)
0:253            Constant:
0:253              0 (const int)
0:253          'ballot' ( temp highp 4-component vector of uint)
0:255      move second child to first child ( temp highp int)
0:255        direct index ( temp highp int)
0:255          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:255            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:255              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:255              Constant:
0:255                0 (const int)
0:255            Constant:
0:255              1 (const int)
0:255          Constant:
0:255            0 (const int)
0:255        subgroupPartitionedExclusiveAddNV ( global highp int)
0:255          direct index ( temp highp int)
0:255            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:255              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:255                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:255                Constant:
0:255                  0 (const int)
0:255              Constant:
0:255                1 (const int)
0:255            Constant:
0:255              0 (const int)
0:255          'ballot' ( temp highp 4-component vector of uint)
0:256      move second child to first child ( temp highp 2-component vector of int)
0:256        vector swizzle ( temp highp 2-component vector of int)
0:256          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:256            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:256              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:256              Constant:
0:256                0 (const int)
0:256            Constant:
0:256              1 (const int)
0:256          Sequence
0:256            Constant:
0:256              0 (const int)
0:256            Constant:
0:256              1 (const int)
0:256        subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of int)
0:256          vector swizzle ( temp highp 2-component vector of int)
0:256            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:256              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:256                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:256                Constant:
0:256                  1 (const int)
0:256              Constant:
0:256                1 (const int)
0:256            Sequence
0:256              Constant:
0:256                0 (const int)
0:256              Constant:
0:256                1 (const int)
0:256          'ballot' ( temp highp 4-component vector of uint)
0:257      move second child to first child ( temp highp 3-component vector of int)
0:257        vector swizzle ( temp highp 3-component vector of int)
0:257          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:257            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:257              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:257              Constant:
0:257                0 (const int)
0:257            Constant:
0:257              1 (const int)
0:257          Sequence
0:257            Constant:
0:257              0 (const int)
0:257            Constant:
0:257              1 (const int)
0:257            Constant:
0:257              2 (const int)
0:257        subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of int)
0:257          vector swizzle ( temp highp 3-component vector of int)
0:257            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:257              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:257                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:257                Constant:
0:257                  2 (const int)
0:257              Constant:
0:257                1 (const int)
0:257            Sequence
0:257              Constant:
0:257                0 (const int)
0:257              Constant:
0:257                1 (const int)
0:257              Constant:
0:257                2 (const int)
0:257          'ballot' ( temp highp 4-component vector of uint)
0:258      move second child to first child ( temp highp 4-component vector of int)
0:258        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:258          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:258            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:258            Constant:
0:258              0 (const int)
0:258          Constant:
0:258            1 (const int)
0:258        subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of int)
0:258          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:258            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:258              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:258              Constant:
0:258                3 (const int)
0:258            Constant:
0:258              1 (const int)
0:258          'ballot' ( temp highp 4-component vector of uint)
0:260      move second child to first child ( temp highp uint)
0:260        direct index ( temp highp uint)
0:260          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:260            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:260              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:260              Constant:
0:260                0 (const int)
0:260            Constant:
0:260              2 (const int)
0:260          Constant:
0:260            0 (const int)
0:260        subgroupPartitionedExclusiveAddNV ( global highp uint)
0:260          direct index ( temp highp uint)
0:260            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:260              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:260                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:260                Constant:
0:260                  0 (const int)
0:260              Constant:
0:260                2 (const int)
0:260            Constant:
0:260              0 (const int)
0:260          'ballot' ( temp highp 4-component vector of uint)
0:261      move second child to first child ( temp highp 2-component vector of uint)
0:261        vector swizzle ( temp highp 2-component vector of uint)
0:261          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:261            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:261              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:261              Constant:
0:261                0 (const int)
0:261            Constant:
0:261              2 (const int)
0:261          Sequence
0:261            Constant:
0:261              0 (const int)
0:261            Constant:
0:261              1 (const int)
0:261        subgroupPartitionedExclusiveAddNV ( global highp 2-component vector of uint)
0:261          vector swizzle ( temp highp 2-component vector of uint)
0:261            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:261              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:261                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:261                Constant:
0:261                  1 (const int)
0:261              Constant:
0:261                2 (const int)
0:261            Sequence
0:261              Constant:
0:261                0 (const int)
0:261              Constant:
0:261                1 (const int)
0:261          'ballot' ( temp highp 4-component vector of uint)
0:262      move second child to first child ( temp highp 3-component vector of uint)
0:262        vector swizzle ( temp highp 3-component vector of uint)
0:262          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:262            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:262              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:262              Constant:
0:262                0 (const int)
0:262            Constant:
0:262              2 (const int)
0:262          Sequence
0:262            Constant:
0:262              0 (const int)
0:262            Constant:
0:262              1 (const int)
0:262            Constant:
0:262              2 (const int)
0:262        subgroupPartitionedExclusiveAddNV ( global highp 3-component vector of uint)
0:262          vector swizzle ( temp highp 3-component vector of uint)
0:262            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:262              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:262                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:262                Constant:
0:262                  2 (const int)
0:262              Constant:
0:262                2 (const int)
0:262            Sequence
0:262              Constant:
0:262                0 (const int)
0:262              Constant:
0:262                1 (const int)
0:262              Constant:
0:262                2 (const int)
0:262          'ballot' ( temp highp 4-component vector of uint)
0:263      move second child to first child ( temp highp 4-component vector of uint)
0:263        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:263          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:263            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:263            Constant:
0:263              0 (const int)
0:263          Constant:
0:263            2 (const int)
0:263        subgroupPartitionedExclusiveAddNV ( global highp 4-component vector of uint)
0:263          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:263            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:263              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:263              Constant:
0:263                3 (const int)
0:263            Constant:
0:263              2 (const int)
0:263          'ballot' ( temp highp 4-component vector of uint)
0:265      move second child to first child ( temp highp float)
0:265        direct index ( temp highp float)
0:265          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:265            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:265              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:265              Constant:
0:265                0 (const int)
0:265            Constant:
0:265              0 (const int)
0:265          Constant:
0:265            0 (const int)
0:265        subgroupPartitionedExclusiveMulNV ( global highp float)
0:265          direct index ( temp highp float)
0:265            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:265              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:265                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:265                Constant:
0:265                  0 (const int)
0:265              Constant:
0:265                0 (const int)
0:265            Constant:
0:265              0 (const int)
0:265          'ballot' ( temp highp 4-component vector of uint)
0:266      move second child to first child ( temp highp 2-component vector of float)
0:266        vector swizzle ( temp highp 2-component vector of float)
0:266          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:266            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:266              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:266              Constant:
0:266                0 (const int)
0:266            Constant:
0:266              0 (const int)
0:266          Sequence
0:266            Constant:
0:266              0 (const int)
0:266            Constant:
0:266              1 (const int)
0:266        subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of float)
0:266          vector swizzle ( temp highp 2-component vector of float)
0:266            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:266              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:266                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:266                Constant:
0:266                  1 (const int)
0:266              Constant:
0:266                0 (const int)
0:266            Sequence
0:266              Constant:
0:266                0 (const int)
0:266              Constant:
0:266                1 (const int)
0:266          'ballot' ( temp highp 4-component vector of uint)
0:267      move second child to first child ( temp highp 3-component vector of float)
0:267        vector swizzle ( temp highp 3-component vector of float)
0:267          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:267            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:267              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:267              Constant:
0:267                0 (const int)
0:267            Constant:
0:267              0 (const int)
0:267          Sequence
0:267            Constant:
0:267              0 (const int)
0:267            Constant:
0:267              1 (const int)
0:267            Constant:
0:267              2 (const int)
0:267        subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of float)
0:267          vector swizzle ( temp highp 3-component vector of float)
0:267            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:267              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:267                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:267                Constant:
0:267                  2 (const int)
0:267              Constant:
0:267                0 (const int)
0:267            Sequence
0:267              Constant:
0:267                0 (const int)
0:267              Constant:
0:267                1 (const int)
0:267              Constant:
0:267                2 (const int)
0:267          'ballot' ( temp highp 4-component vector of uint)
0:268      move second child to first child ( temp highp 4-component vector of float)
0:268        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:268          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:268            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:268            Constant:
0:268              0 (const int)
0:268          Constant:
0:268            0 (const int)
0:268        subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of float)
0:268          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:268            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:268              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:268              Constant:
0:268                3 (const int)
0:268            Constant:
0:268              0 (const int)
0:268          'ballot' ( temp highp 4-component vector of uint)
0:270      move second child to first child ( temp highp int)
0:270        direct index ( temp highp int)
0:270          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:270            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:270              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:270              Constant:
0:270                1 (const int)
0:270            Constant:
0:270              1 (const int)
0:270          Constant:
0:270            0 (const int)
0:270        subgroupPartitionedExclusiveMulNV ( global highp int)
0:270          direct index ( temp highp int)
0:270            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:270              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:270                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:270                Constant:
0:270                  0 (const int)
0:270              Constant:
0:270                1 (const int)
0:270            Constant:
0:270              0 (const int)
0:270          'ballot' ( temp highp 4-component vector of uint)
0:271      move second child to first child ( temp highp 2-component vector of int)
0:271        vector swizzle ( temp highp 2-component vector of int)
0:271          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:271            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:271              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:271              Constant:
0:271                1 (const int)
0:271            Constant:
0:271              1 (const int)
0:271          Sequence
0:271            Constant:
0:271              0 (const int)
0:271            Constant:
0:271              1 (const int)
0:271        subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of int)
0:271          vector swizzle ( temp highp 2-component vector of int)
0:271            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:271              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:271                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:271                Constant:
0:271                  1 (const int)
0:271              Constant:
0:271                1 (const int)
0:271            Sequence
0:271              Constant:
0:271                0 (const int)
0:271              Constant:
0:271                1 (const int)
0:271          'ballot' ( temp highp 4-component vector of uint)
0:272      move second child to first child ( temp highp 3-component vector of int)
0:272        vector swizzle ( temp highp 3-component vector of int)
0:272          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:272            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:272              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:272              Constant:
0:272                1 (const int)
0:272            Constant:
0:272              1 (const int)
0:272          Sequence
0:272            Constant:
0:272              0 (const int)
0:272            Constant:
0:272              1 (const int)
0:272            Constant:
0:272              2 (const int)
0:272        subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of int)
0:272          vector swizzle ( temp highp 3-component vector of int)
0:272            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:272              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:272                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:272                Constant:
0:272                  2 (const int)
0:272              Constant:
0:272                1 (const int)
0:272            Sequence
0:272              Constant:
0:272                0 (const int)
0:272              Constant:
0:272                1 (const int)
0:272              Constant:
0:272                2 (const int)
0:272          'ballot' ( temp highp 4-component vector of uint)
0:273      move second child to first child ( temp highp 4-component vector of int)
0:273        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:273          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:273            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:273            Constant:
0:273              1 (const int)
0:273          Constant:
0:273            1 (const int)
0:273        subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of int)
0:273          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:273            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:273              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:273              Constant:
0:273                3 (const int)
0:273            Constant:
0:273              1 (const int)
0:273          'ballot' ( temp highp 4-component vector of uint)
0:275      move second child to first child ( temp highp uint)
0:275        direct index ( temp highp uint)
0:275          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:275            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:275              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:275              Constant:
0:275                1 (const int)
0:275            Constant:
0:275              2 (const int)
0:275          Constant:
0:275            0 (const int)
0:275        subgroupPartitionedExclusiveMulNV ( global highp uint)
0:275          direct index ( temp highp uint)
0:275            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:275              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:275                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:275                Constant:
0:275                  0 (const int)
0:275              Constant:
0:275                2 (const int)
0:275            Constant:
0:275              0 (const int)
0:275          'ballot' ( temp highp 4-component vector of uint)
0:276      move second child to first child ( temp highp 2-component vector of uint)
0:276        vector swizzle ( temp highp 2-component vector of uint)
0:276          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:276            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:276              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:276              Constant:
0:276                1 (const int)
0:276            Constant:
0:276              2 (const int)
0:276          Sequence
0:276            Constant:
0:276              0 (const int)
0:276            Constant:
0:276              1 (const int)
0:276        subgroupPartitionedExclusiveMulNV ( global highp 2-component vector of uint)
0:276          vector swizzle ( temp highp 2-component vector of uint)
0:276            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:276              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:276                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:276                Constant:
0:276                  1 (const int)
0:276              Constant:
0:276                2 (const int)
0:276            Sequence
0:276              Constant:
0:276                0 (const int)
0:276              Constant:
0:276                1 (const int)
0:276          'ballot' ( temp highp 4-component vector of uint)
0:277      move second child to first child ( temp highp 3-component vector of uint)
0:277        vector swizzle ( temp highp 3-component vector of uint)
0:277          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:277            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:277              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:277              Constant:
0:277                1 (const int)
0:277            Constant:
0:277              2 (const int)
0:277          Sequence
0:277            Constant:
0:277              0 (const int)
0:277            Constant:
0:277              1 (const int)
0:277            Constant:
0:277              2 (const int)
0:277        subgroupPartitionedExclusiveMulNV ( global highp 3-component vector of uint)
0:277          vector swizzle ( temp highp 3-component vector of uint)
0:277            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:277              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:277                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:277                Constant:
0:277                  2 (const int)
0:277              Constant:
0:277                2 (const int)
0:277            Sequence
0:277              Constant:
0:277                0 (const int)
0:277              Constant:
0:277                1 (const int)
0:277              Constant:
0:277                2 (const int)
0:277          'ballot' ( temp highp 4-component vector of uint)
0:278      move second child to first child ( temp highp 4-component vector of uint)
0:278        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:278          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:278            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:278            Constant:
0:278              1 (const int)
0:278          Constant:
0:278            2 (const int)
0:278        subgroupPartitionedExclusiveMulNV ( global highp 4-component vector of uint)
0:278          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:278            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:278              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:278              Constant:
0:278                3 (const int)
0:278            Constant:
0:278              2 (const int)
0:278          'ballot' ( temp highp 4-component vector of uint)
0:280      move second child to first child ( temp highp float)
0:280        direct index ( temp highp float)
0:280          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:280            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:280              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:280              Constant:
0:280                1 (const int)
0:280            Constant:
0:280              0 (const int)
0:280          Constant:
0:280            0 (const int)
0:280        subgroupPartitionedExclusiveMinNV ( global highp float)
0:280          direct index ( temp highp float)
0:280            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:280              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:280                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:280                Constant:
0:280                  0 (const int)
0:280              Constant:
0:280                0 (const int)
0:280            Constant:
0:280              0 (const int)
0:280          'ballot' ( temp highp 4-component vector of uint)
0:281      move second child to first child ( temp highp 2-component vector of float)
0:281        vector swizzle ( temp highp 2-component vector of float)
0:281          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:281            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:281              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:281              Constant:
0:281                1 (const int)
0:281            Constant:
0:281              0 (const int)
0:281          Sequence
0:281            Constant:
0:281              0 (const int)
0:281            Constant:
0:281              1 (const int)
0:281        subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of float)
0:281          vector swizzle ( temp highp 2-component vector of float)
0:281            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:281              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:281                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:281                Constant:
0:281                  1 (const int)
0:281              Constant:
0:281                0 (const int)
0:281            Sequence
0:281              Constant:
0:281                0 (const int)
0:281              Constant:
0:281                1 (const int)
0:281          'ballot' ( temp highp 4-component vector of uint)
0:282      move second child to first child ( temp highp 3-component vector of float)
0:282        vector swizzle ( temp highp 3-component vector of float)
0:282          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:282            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:282              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:282              Constant:
0:282                1 (const int)
0:282            Constant:
0:282              0 (const int)
0:282          Sequence
0:282            Constant:
0:282              0 (const int)
0:282            Constant:
0:282              1 (const int)
0:282            Constant:
0:282              2 (const int)
0:282        subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of float)
0:282          vector swizzle ( temp highp 3-component vector of float)
0:282            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:282              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:282                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:282                Constant:
0:282                  2 (const int)
0:282              Constant:
0:282                0 (const int)
0:282            Sequence
0:282              Constant:
0:282                0 (const int)
0:282              Constant:
0:282                1 (const int)
0:282              Constant:
0:282                2 (const int)
0:282          'ballot' ( temp highp 4-component vector of uint)
0:283      move second child to first child ( temp highp 4-component vector of float)
0:283        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:283          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:283            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:283            Constant:
0:283              1 (const int)
0:283          Constant:
0:283            0 (const int)
0:283        subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of float)
0:283          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:283            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:283              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:283              Constant:
0:283                3 (const int)
0:283            Constant:
0:283              0 (const int)
0:283          'ballot' ( temp highp 4-component vector of uint)
0:285      move second child to first child ( temp highp int)
0:285        direct index ( temp highp int)
0:285          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:285            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:285              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:285              Constant:
0:285                1 (const int)
0:285            Constant:
0:285              1 (const int)
0:285          Constant:
0:285            0 (const int)
0:285        subgroupPartitionedExclusiveMinNV ( global highp int)
0:285          direct index ( temp highp int)
0:285            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:285              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:285                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:285                Constant:
0:285                  0 (const int)
0:285              Constant:
0:285                1 (const int)
0:285            Constant:
0:285              0 (const int)
0:285          'ballot' ( temp highp 4-component vector of uint)
0:286      move second child to first child ( temp highp 2-component vector of int)
0:286        vector swizzle ( temp highp 2-component vector of int)
0:286          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:286            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:286              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:286              Constant:
0:286                1 (const int)
0:286            Constant:
0:286              1 (const int)
0:286          Sequence
0:286            Constant:
0:286              0 (const int)
0:286            Constant:
0:286              1 (const int)
0:286        subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of int)
0:286          vector swizzle ( temp highp 2-component vector of int)
0:286            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:286              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:286                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:286                Constant:
0:286                  1 (const int)
0:286              Constant:
0:286                1 (const int)
0:286            Sequence
0:286              Constant:
0:286                0 (const int)
0:286              Constant:
0:286                1 (const int)
0:286          'ballot' ( temp highp 4-component vector of uint)
0:287      move second child to first child ( temp highp 3-component vector of int)
0:287        vector swizzle ( temp highp 3-component vector of int)
0:287          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:287            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:287              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:287              Constant:
0:287                1 (const int)
0:287            Constant:
0:287              1 (const int)
0:287          Sequence
0:287            Constant:
0:287              0 (const int)
0:287            Constant:
0:287              1 (const int)
0:287            Constant:
0:287              2 (const int)
0:287        subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of int)
0:287          vector swizzle ( temp highp 3-component vector of int)
0:287            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:287              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:287                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:287                Constant:
0:287                  2 (const int)
0:287              Constant:
0:287                1 (const int)
0:287            Sequence
0:287              Constant:
0:287                0 (const int)
0:287              Constant:
0:287                1 (const int)
0:287              Constant:
0:287                2 (const int)
0:287          'ballot' ( temp highp 4-component vector of uint)
0:288      move second child to first child ( temp highp 4-component vector of int)
0:288        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:288          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:288            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:288            Constant:
0:288              1 (const int)
0:288          Constant:
0:288            1 (const int)
0:288        subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of int)
0:288          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:288            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:288              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:288              Constant:
0:288                3 (const int)
0:288            Constant:
0:288              1 (const int)
0:288          'ballot' ( temp highp 4-component vector of uint)
0:290      move second child to first child ( temp highp uint)
0:290        direct index ( temp highp uint)
0:290          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:290            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:290              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:290              Constant:
0:290                2 (const int)
0:290            Constant:
0:290              2 (const int)
0:290          Constant:
0:290            0 (const int)
0:290        subgroupPartitionedExclusiveMinNV ( global highp uint)
0:290          direct index ( temp highp uint)
0:290            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:290              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:290                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:290                Constant:
0:290                  0 (const int)
0:290              Constant:
0:290                2 (const int)
0:290            Constant:
0:290              0 (const int)
0:290          'ballot' ( temp highp 4-component vector of uint)
0:291      move second child to first child ( temp highp 2-component vector of uint)
0:291        vector swizzle ( temp highp 2-component vector of uint)
0:291          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:291            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:291              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:291              Constant:
0:291                2 (const int)
0:291            Constant:
0:291              2 (const int)
0:291          Sequence
0:291            Constant:
0:291              0 (const int)
0:291            Constant:
0:291              1 (const int)
0:291        subgroupPartitionedExclusiveMinNV ( global highp 2-component vector of uint)
0:291          vector swizzle ( temp highp 2-component vector of uint)
0:291            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:291              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:291                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:291                Constant:
0:291                  1 (const int)
0:291              Constant:
0:291                2 (const int)
0:291            Sequence
0:291              Constant:
0:291                0 (const int)
0:291              Constant:
0:291                1 (const int)
0:291          'ballot' ( temp highp 4-component vector of uint)
0:292      move second child to first child ( temp highp 3-component vector of uint)
0:292        vector swizzle ( temp highp 3-component vector of uint)
0:292          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:292            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:292              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:292              Constant:
0:292                2 (const int)
0:292            Constant:
0:292              2 (const int)
0:292          Sequence
0:292            Constant:
0:292              0 (const int)
0:292            Constant:
0:292              1 (const int)
0:292            Constant:
0:292              2 (const int)
0:292        subgroupPartitionedExclusiveMinNV ( global highp 3-component vector of uint)
0:292          vector swizzle ( temp highp 3-component vector of uint)
0:292            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:292              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:292                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:292                Constant:
0:292                  2 (const int)
0:292              Constant:
0:292                2 (const int)
0:292            Sequence
0:292              Constant:
0:292                0 (const int)
0:292              Constant:
0:292                1 (const int)
0:292              Constant:
0:292                2 (const int)
0:292          'ballot' ( temp highp 4-component vector of uint)
0:293      move second child to first child ( temp highp 4-component vector of uint)
0:293        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:293          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:293            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:293            Constant:
0:293              2 (const int)
0:293          Constant:
0:293            2 (const int)
0:293        subgroupPartitionedExclusiveMinNV ( global highp 4-component vector of uint)
0:293          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:293            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:293              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:293              Constant:
0:293                3 (const int)
0:293            Constant:
0:293              2 (const int)
0:293          'ballot' ( temp highp 4-component vector of uint)
0:295      move second child to first child ( temp highp float)
0:295        direct index ( temp highp float)
0:295          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:295            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:295              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:295              Constant:
0:295                2 (const int)
0:295            Constant:
0:295              0 (const int)
0:295          Constant:
0:295            0 (const int)
0:295        subgroupPartitionedExclusiveMaxNV ( global highp float)
0:295          direct index ( temp highp float)
0:295            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:295              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:295                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:295                Constant:
0:295                  0 (const int)
0:295              Constant:
0:295                0 (const int)
0:295            Constant:
0:295              0 (const int)
0:295          'ballot' ( temp highp 4-component vector of uint)
0:296      move second child to first child ( temp highp 2-component vector of float)
0:296        vector swizzle ( temp highp 2-component vector of float)
0:296          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:296            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:296              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:296              Constant:
0:296                2 (const int)
0:296            Constant:
0:296              0 (const int)
0:296          Sequence
0:296            Constant:
0:296              0 (const int)
0:296            Constant:
0:296              1 (const int)
0:296        subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of float)
0:296          vector swizzle ( temp highp 2-component vector of float)
0:296            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:296              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:296                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:296                Constant:
0:296                  1 (const int)
0:296              Constant:
0:296                0 (const int)
0:296            Sequence
0:296              Constant:
0:296                0 (const int)
0:296              Constant:
0:296                1 (const int)
0:296          'ballot' ( temp highp 4-component vector of uint)
0:297      move second child to first child ( temp highp 3-component vector of float)
0:297        vector swizzle ( temp highp 3-component vector of float)
0:297          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:297            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:297              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:297              Constant:
0:297                2 (const int)
0:297            Constant:
0:297              0 (const int)
0:297          Sequence
0:297            Constant:
0:297              0 (const int)
0:297            Constant:
0:297              1 (const int)
0:297            Constant:
0:297              2 (const int)
0:297        subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of float)
0:297          vector swizzle ( temp highp 3-component vector of float)
0:297            f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:297              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:297                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:297                Constant:
0:297                  2 (const int)
0:297              Constant:
0:297                0 (const int)
0:297            Sequence
0:297              Constant:
0:297                0 (const int)
0:297              Constant:
0:297                1 (const int)
0:297              Constant:
0:297                2 (const int)
0:297          'ballot' ( temp highp 4-component vector of uint)
0:298      move second child to first child ( temp highp 4-component vector of float)
0:298        f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:298          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:298            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:298            Constant:
0:298              2 (const int)
0:298          Constant:
0:298            0 (const int)
0:298        subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of float)
0:298          f4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of float)
0:298            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:298              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:298              Constant:
0:298                3 (const int)
0:298            Constant:
0:298              0 (const int)
0:298          'ballot' ( temp highp 4-component vector of uint)
0:300      move second child to first child ( temp highp int)
0:300        direct index ( temp highp int)
0:300          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:300            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:300              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:300              Constant:
0:300                2 (const int)
0:300            Constant:
0:300              1 (const int)
0:300          Constant:
0:300            0 (const int)
0:300        subgroupPartitionedExclusiveMaxNV ( global highp int)
0:300          direct index ( temp highp int)
0:300            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:300              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:300                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:300                Constant:
0:300                  0 (const int)
0:300              Constant:
0:300                1 (const int)
0:300            Constant:
0:300              0 (const int)
0:300          'ballot' ( temp highp 4-component vector of uint)
0:301      move second child to first child ( temp highp 2-component vector of int)
0:301        vector swizzle ( temp highp 2-component vector of int)
0:301          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:301            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:301              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:301              Constant:
0:301                2 (const int)
0:301            Constant:
0:301              1 (const int)
0:301          Sequence
0:301            Constant:
0:301              0 (const int)
0:301            Constant:
0:301              1 (const int)
0:301        subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of int)
0:301          vector swizzle ( temp highp 2-component vector of int)
0:301            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:301              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:301                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:301                Constant:
0:301                  1 (const int)
0:301              Constant:
0:301                1 (const int)
0:301            Sequence
0:301              Constant:
0:301                0 (const int)
0:301              Constant:
0:301                1 (const int)
0:301          'ballot' ( temp highp 4-component vector of uint)
0:302      move second child to first child ( temp highp 3-component vector of int)
0:302        vector swizzle ( temp highp 3-component vector of int)
0:302          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:302            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:302              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:302              Constant:
0:302                2 (const int)
0:302            Constant:
0:302              1 (const int)
0:302          Sequence
0:302            Constant:
0:302              0 (const int)
0:302            Constant:
0:302              1 (const int)
0:302            Constant:
0:302              2 (const int)
0:302        subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of int)
0:302          vector swizzle ( temp highp 3-component vector of int)
0:302            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:302              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:302                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:302                Constant:
0:302                  2 (const int)
0:302              Constant:
0:302                1 (const int)
0:302            Sequence
0:302              Constant:
0:302                0 (const int)
0:302              Constant:
0:302                1 (const int)
0:302              Constant:
0:302                2 (const int)
0:302          'ballot' ( temp highp 4-component vector of uint)
0:303      move second child to first child ( temp highp 4-component vector of int)
0:303        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:303          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:303            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:303            Constant:
0:303              2 (const int)
0:303          Constant:
0:303            1 (const int)
0:303        subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of int)
0:303          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:303            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:303              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:303              Constant:
0:303                3 (const int)
0:303            Constant:
0:303              1 (const int)
0:303          'ballot' ( temp highp 4-component vector of uint)
0:305      move second child to first child ( temp highp uint)
0:305        direct index ( temp highp uint)
0:305          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:305            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:305              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:305              Constant:
0:305                2 (const int)
0:305            Constant:
0:305              2 (const int)
0:305          Constant:
0:305            0 (const int)
0:305        subgroupPartitionedExclusiveMaxNV ( global highp uint)
0:305          direct index ( temp highp uint)
0:305            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:305              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:305                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:305                Constant:
0:305                  0 (const int)
0:305              Constant:
0:305                2 (const int)
0:305            Constant:
0:305              0 (const int)
0:305          'ballot' ( temp highp 4-component vector of uint)
0:306      move second child to first child ( temp highp 2-component vector of uint)
0:306        vector swizzle ( temp highp 2-component vector of uint)
0:306          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:306            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:306              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:306              Constant:
0:306                2 (const int)
0:306            Constant:
0:306              2 (const int)
0:306          Sequence
0:306            Constant:
0:306              0 (const int)
0:306            Constant:
0:306              1 (const int)
0:306        subgroupPartitionedExclusiveMaxNV ( global highp 2-component vector of uint)
0:306          vector swizzle ( temp highp 2-component vector of uint)
0:306            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:306              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:306                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:306                Constant:
0:306                  1 (const int)
0:306              Constant:
0:306                2 (const int)
0:306            Sequence
0:306              Constant:
0:306                0 (const int)
0:306              Constant:
0:306                1 (const int)
0:306          'ballot' ( temp highp 4-component vector of uint)
0:307      move second child to first child ( temp highp 3-component vector of uint)
0:307        vector swizzle ( temp highp 3-component vector of uint)
0:307          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:307            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:307              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:307              Constant:
0:307                2 (const int)
0:307            Constant:
0:307              2 (const int)
0:307          Sequence
0:307            Constant:
0:307              0 (const int)
0:307            Constant:
0:307              1 (const int)
0:307            Constant:
0:307              2 (const int)
0:307        subgroupPartitionedExclusiveMaxNV ( global highp 3-component vector of uint)
0:307          vector swizzle ( temp highp 3-component vector of uint)
0:307            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:307              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:307                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:307                Constant:
0:307                  2 (const int)
0:307              Constant:
0:307                2 (const int)
0:307            Sequence
0:307              Constant:
0:307                0 (const int)
0:307              Constant:
0:307                1 (const int)
0:307              Constant:
0:307                2 (const int)
0:307          'ballot' ( temp highp 4-component vector of uint)
0:308      move second child to first child ( temp highp 4-component vector of uint)
0:308        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:308          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:308            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:308            Constant:
0:308              2 (const int)
0:308          Constant:
0:308            2 (const int)
0:308        subgroupPartitionedExclusiveMaxNV ( global highp 4-component vector of uint)
0:308          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:308            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:308              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:308              Constant:
0:308                3 (const int)
0:308            Constant:
0:308              2 (const int)
0:308          'ballot' ( temp highp 4-component vector of uint)
0:310      move second child to first child ( temp highp int)
0:310        direct index ( temp highp int)
0:310          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:310            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:310              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:310              Constant:
0:310                2 (const int)
0:310            Constant:
0:310              1 (const int)
0:310          Constant:
0:310            0 (const int)
0:310        subgroupPartitionedExclusiveAndNV ( global highp int)
0:310          direct index ( temp highp int)
0:310            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:310              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:310                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:310                Constant:
0:310                  0 (const int)
0:310              Constant:
0:310                1 (const int)
0:310            Constant:
0:310              0 (const int)
0:310          'ballot' ( temp highp 4-component vector of uint)
0:311      move second child to first child ( temp highp 2-component vector of int)
0:311        vector swizzle ( temp highp 2-component vector of int)
0:311          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:311            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:311              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:311              Constant:
0:311                2 (const int)
0:311            Constant:
0:311              1 (const int)
0:311          Sequence
0:311            Constant:
0:311              0 (const int)
0:311            Constant:
0:311              1 (const int)
0:311        subgroupPartitionedExclusiveAndNV ( global highp 2-component vector of int)
0:311          vector swizzle ( temp highp 2-component vector of int)
0:311            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:311              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:311                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:311                Constant:
0:311                  1 (const int)
0:311              Constant:
0:311                1 (const int)
0:311            Sequence
0:311              Constant:
0:311                0 (const int)
0:311              Constant:
0:311                1 (const int)
0:311          'ballot' ( temp highp 4-component vector of uint)
0:312      move second child to first child ( temp highp 3-component vector of int)
0:312        vector swizzle ( temp highp 3-component vector of int)
0:312          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:312            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:312              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:312              Constant:
0:312                2 (const int)
0:312            Constant:
0:312              1 (const int)
0:312          Sequence
0:312            Constant:
0:312              0 (const int)
0:312            Constant:
0:312              1 (const int)
0:312            Constant:
0:312              2 (const int)
0:312        subgroupPartitionedExclusiveAndNV ( global highp 3-component vector of int)
0:312          vector swizzle ( temp highp 3-component vector of int)
0:312            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:312              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:312                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:312                Constant:
0:312                  2 (const int)
0:312              Constant:
0:312                1 (const int)
0:312            Sequence
0:312              Constant:
0:312                0 (const int)
0:312              Constant:
0:312                1 (const int)
0:312              Constant:
0:312                2 (const int)
0:312          'ballot' ( temp highp 4-component vector of uint)
0:313      move second child to first child ( temp highp 4-component vector of int)
0:313        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:313          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:313            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:313            Constant:
0:313              2 (const int)
0:313          Constant:
0:313            1 (const int)
0:313        subgroupPartitionedExclusiveAndNV ( global highp 4-component vector of int)
0:313          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:313            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:313              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:313              Constant:
0:313                3 (const int)
0:313            Constant:
0:313              1 (const int)
0:313          'ballot' ( temp highp 4-component vector of uint)
0:315      move second child to first child ( temp highp uint)
0:315        direct index ( temp highp uint)
0:315          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:315            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:315              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:315              Constant:
0:315                2 (const int)
0:315            Constant:
0:315              2 (const int)
0:315          Constant:
0:315            0 (const int)
0:315        subgroupPartitionedExclusiveAndNV ( global highp uint)
0:315          direct index ( temp highp uint)
0:315            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:315              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:315                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:315                Constant:
0:315                  0 (const int)
0:315              Constant:
0:315                2 (const int)
0:315            Constant:
0:315              0 (const int)
0:315          'ballot' ( temp highp 4-component vector of uint)
0:316      move second child to first child ( temp highp 2-component vector of uint)
0:316        vector swizzle ( temp highp 2-component vector of uint)
0:316          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:316            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:316              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:316              Constant:
0:316                2 (const int)
0:316            Constant:
0:316              2 (const int)
0:316          Sequence
0:316            Constant:
0:316              0 (const int)
0:316            Constant:
0:316              1 (const int)
0:316        subgroupPartitionedExclusiveAndNV ( global highp 2-component vector of uint)
0:316          vector swizzle ( temp highp 2-component vector of uint)
0:316            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:316              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:316                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:316                Constant:
0:316                  1 (const int)
0:316              Constant:
0:316                2 (const int)
0:316            Sequence
0:316              Constant:
0:316                0 (const int)
0:316              Constant:
0:316                1 (const int)
0:316          'ballot' ( temp highp 4-component vector of uint)
0:317      move second child to first child ( temp highp 3-component vector of uint)
0:317        vector swizzle ( temp highp 3-component vector of uint)
0:317          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:317            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:317              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:317              Constant:
0:317                2 (const int)
0:317            Constant:
0:317              2 (const int)
0:317          Sequence
0:317            Constant:
0:317              0 (const int)
0:317            Constant:
0:317              1 (const int)
0:317            Constant:
0:317              2 (const int)
0:317        subgroupPartitionedExclusiveAndNV ( global highp 3-component vector of uint)
0:317          vector swizzle ( temp highp 3-component vector of uint)
0:317            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:317              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:317                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:317                Constant:
0:317                  2 (const int)
0:317              Constant:
0:317                2 (const int)
0:317            Sequence
0:317              Constant:
0:317                0 (const int)
0:317              Constant:
0:317                1 (const int)
0:317              Constant:
0:317                2 (const int)
0:317          'ballot' ( temp highp 4-component vector of uint)
0:318      move second child to first child ( temp highp 4-component vector of uint)
0:318        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:318          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:318            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:318            Constant:
0:318              2 (const int)
0:318          Constant:
0:318            2 (const int)
0:318        subgroupPartitionedExclusiveAndNV ( global highp 4-component vector of uint)
0:318          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:318            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:318              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:318              Constant:
0:318                3 (const int)
0:318            Constant:
0:318              2 (const int)
0:318          'ballot' ( temp highp 4-component vector of uint)
0:320      move second child to first child ( temp highp int)
0:320        direct index ( temp highp int)
0:320          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:320            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:320              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:320              Constant:
0:320                3 (const int)
0:320            Constant:
0:320              1 (const int)
0:320          Constant:
0:320            0 (const int)
0:320        Convert bool to int ( temp highp int)
0:320          subgroupPartitionedExclusiveAndNV ( global bool, operation at highp)
0:320            Compare Less Than ( temp bool)
0:320              direct index ( temp highp int)
0:320                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:320                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:320                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:320                    Constant:
0:320                      0 (const int)
0:320                  Constant:
0:320                    1 (const int)
0:320                Constant:
0:320                  0 (const int)
0:320              Constant:
0:320                0 (const int)
0:320            'ballot' ( temp highp 4-component vector of uint)
0:321      move second child to first child ( temp highp 2-component vector of int)
0:321        vector swizzle ( temp highp 2-component vector of int)
0:321          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:321            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:321              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:321              Constant:
0:321                3 (const int)
0:321            Constant:
0:321              1 (const int)
0:321          Sequence
0:321            Constant:
0:321              0 (const int)
0:321            Constant:
0:321              1 (const int)
0:321        Convert bool to int ( temp highp 2-component vector of int)
0:321          subgroupPartitionedExclusiveAndNV ( global 2-component vector of bool, operation at highp)
0:321            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:321              vector swizzle ( temp highp 2-component vector of int)
0:321                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:321                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:321                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:321                    Constant:
0:321                      1 (const int)
0:321                  Constant:
0:321                    1 (const int)
0:321                Sequence
0:321                  Constant:
0:321                    0 (const int)
0:321                  Constant:
0:321                    1 (const int)
0:321              Constant:
0:321                0 (const int)
0:321                0 (const int)
0:321            'ballot' ( temp highp 4-component vector of uint)
0:322      move second child to first child ( temp highp 3-component vector of int)
0:322        vector swizzle ( temp highp 3-component vector of int)
0:322          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:322            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:322              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:322              Constant:
0:322                3 (const int)
0:322            Constant:
0:322              1 (const int)
0:322          Sequence
0:322            Constant:
0:322              0 (const int)
0:322            Constant:
0:322              1 (const int)
0:322            Constant:
0:322              2 (const int)
0:322        Convert bool to int ( temp highp 3-component vector of int)
0:322          subgroupPartitionedExclusiveAndNV ( global 3-component vector of bool, operation at highp)
0:322            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:322              vector swizzle ( temp highp 3-component vector of int)
0:322                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:322                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:322                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:322                    Constant:
0:322                      1 (const int)
0:322                  Constant:
0:322                    1 (const int)
0:322                Sequence
0:322                  Constant:
0:322                    0 (const int)
0:322                  Constant:
0:322                    1 (const int)
0:322                  Constant:
0:322                    2 (const int)
0:322              Constant:
0:322                0 (const int)
0:322                0 (const int)
0:322                0 (const int)
0:322            'ballot' ( temp highp 4-component vector of uint)
0:323      move second child to first child ( temp highp 4-component vector of int)
0:323        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:323          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:323            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:323            Constant:
0:323              3 (const int)
0:323          Constant:
0:323            1 (const int)
0:323        Convert bool to int ( temp highp 4-component vector of int)
0:323          subgroupPartitionedExclusiveAndNV ( global 4-component vector of bool, operation at highp)
0:323            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:323              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:323                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:323                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:323                  Constant:
0:323                    1 (const int)
0:323                Constant:
0:323                  1 (const int)
0:323              Constant:
0:323                0 (const int)
0:323                0 (const int)
0:323                0 (const int)
0:323                0 (const int)
0:323            'ballot' ( temp highp 4-component vector of uint)
0:325      move second child to first child ( temp highp int)
0:325        direct index ( temp highp int)
0:325          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:325            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:325              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:325              Constant:
0:325                3 (const int)
0:325            Constant:
0:325              1 (const int)
0:325          Constant:
0:325            0 (const int)
0:325        subgroupPartitionedExclusiveOrNV ( global highp int)
0:325          direct index ( temp highp int)
0:325            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:325              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:325                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:325                Constant:
0:325                  0 (const int)
0:325              Constant:
0:325                1 (const int)
0:325            Constant:
0:325              0 (const int)
0:325          'ballot' ( temp highp 4-component vector of uint)
0:326      move second child to first child ( temp highp 2-component vector of int)
0:326        vector swizzle ( temp highp 2-component vector of int)
0:326          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:326            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:326              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:326              Constant:
0:326                3 (const int)
0:326            Constant:
0:326              1 (const int)
0:326          Sequence
0:326            Constant:
0:326              0 (const int)
0:326            Constant:
0:326              1 (const int)
0:326        subgroupPartitionedExclusiveOrNV ( global highp 2-component vector of int)
0:326          vector swizzle ( temp highp 2-component vector of int)
0:326            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:326              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:326                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:326                Constant:
0:326                  1 (const int)
0:326              Constant:
0:326                1 (const int)
0:326            Sequence
0:326              Constant:
0:326                0 (const int)
0:326              Constant:
0:326                1 (const int)
0:326          'ballot' ( temp highp 4-component vector of uint)
0:327      move second child to first child ( temp highp 3-component vector of int)
0:327        vector swizzle ( temp highp 3-component vector of int)
0:327          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:327            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:327              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:327              Constant:
0:327                3 (const int)
0:327            Constant:
0:327              1 (const int)
0:327          Sequence
0:327            Constant:
0:327              0 (const int)
0:327            Constant:
0:327              1 (const int)
0:327            Constant:
0:327              2 (const int)
0:327        subgroupPartitionedExclusiveOrNV ( global highp 3-component vector of int)
0:327          vector swizzle ( temp highp 3-component vector of int)
0:327            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:327              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:327                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:327                Constant:
0:327                  2 (const int)
0:327              Constant:
0:327                1 (const int)
0:327            Sequence
0:327              Constant:
0:327                0 (const int)
0:327              Constant:
0:327                1 (const int)
0:327              Constant:
0:327                2 (const int)
0:327          'ballot' ( temp highp 4-component vector of uint)
0:328      move second child to first child ( temp highp 4-component vector of int)
0:328        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:328          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:328            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:328            Constant:
0:328              3 (const int)
0:328          Constant:
0:328            1 (const int)
0:328        subgroupPartitionedExclusiveOrNV ( global highp 4-component vector of int)
0:328          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:328            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:328              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:328              Constant:
0:328                3 (const int)
0:328            Constant:
0:328              1 (const int)
0:328          'ballot' ( temp highp 4-component vector of uint)
0:330      move second child to first child ( temp highp uint)
0:330        direct index ( temp highp uint)
0:330          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:330            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:330              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:330              Constant:
0:330                3 (const int)
0:330            Constant:
0:330              2 (const int)
0:330          Constant:
0:330            0 (const int)
0:330        subgroupPartitionedExclusiveOrNV ( global highp uint)
0:330          direct index ( temp highp uint)
0:330            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:330              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:330                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:330                Constant:
0:330                  0 (const int)
0:330              Constant:
0:330                2 (const int)
0:330            Constant:
0:330              0 (const int)
0:330          'ballot' ( temp highp 4-component vector of uint)
0:331      move second child to first child ( temp highp 2-component vector of uint)
0:331        vector swizzle ( temp highp 2-component vector of uint)
0:331          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:331            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:331              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:331              Constant:
0:331                3 (const int)
0:331            Constant:
0:331              2 (const int)
0:331          Sequence
0:331            Constant:
0:331              0 (const int)
0:331            Constant:
0:331              1 (const int)
0:331        subgroupPartitionedExclusiveOrNV ( global highp 2-component vector of uint)
0:331          vector swizzle ( temp highp 2-component vector of uint)
0:331            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:331              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:331                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:331                Constant:
0:331                  1 (const int)
0:331              Constant:
0:331                2 (const int)
0:331            Sequence
0:331              Constant:
0:331                0 (const int)
0:331              Constant:
0:331                1 (const int)
0:331          'ballot' ( temp highp 4-component vector of uint)
0:332      move second child to first child ( temp highp 3-component vector of uint)
0:332        vector swizzle ( temp highp 3-component vector of uint)
0:332          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:332            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:332              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:332              Constant:
0:332                3 (const int)
0:332            Constant:
0:332              2 (const int)
0:332          Sequence
0:332            Constant:
0:332              0 (const int)
0:332            Constant:
0:332              1 (const int)
0:332            Constant:
0:332              2 (const int)
0:332        subgroupPartitionedExclusiveOrNV ( global highp 3-component vector of uint)
0:332          vector swizzle ( temp highp 3-component vector of uint)
0:332            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:332              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:332                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:332                Constant:
0:332                  2 (const int)
0:332              Constant:
0:332                2 (const int)
0:332            Sequence
0:332              Constant:
0:332                0 (const int)
0:332              Constant:
0:332                1 (const int)
0:332              Constant:
0:332                2 (const int)
0:332          'ballot' ( temp highp 4-component vector of uint)
0:333      move second child to first child ( temp highp 4-component vector of uint)
0:333        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:333          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:333            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:333            Constant:
0:333              3 (const int)
0:333          Constant:
0:333            2 (const int)
0:333        subgroupPartitionedExclusiveOrNV ( global highp 4-component vector of uint)
0:333          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:333            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:333              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:333              Constant:
0:333                3 (const int)
0:333            Constant:
0:333              2 (const int)
0:333          'ballot' ( temp highp 4-component vector of uint)
0:335      move second child to first child ( temp highp int)
0:335        direct index ( temp highp int)
0:335          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:335            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:335              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:335              Constant:
0:335                3 (const int)
0:335            Constant:
0:335              1 (const int)
0:335          Constant:
0:335            0 (const int)
0:335        Convert bool to int ( temp highp int)
0:335          subgroupPartitionedExclusiveOrNV ( global bool, operation at highp)
0:335            Compare Less Than ( temp bool)
0:335              direct index ( temp highp int)
0:335                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:335                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:335                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:335                    Constant:
0:335                      0 (const int)
0:335                  Constant:
0:335                    1 (const int)
0:335                Constant:
0:335                  0 (const int)
0:335              Constant:
0:335                0 (const int)
0:335            'ballot' ( temp highp 4-component vector of uint)
0:336      move second child to first child ( temp highp 2-component vector of int)
0:336        vector swizzle ( temp highp 2-component vector of int)
0:336          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:336            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:336              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:336              Constant:
0:336                3 (const int)
0:336            Constant:
0:336              1 (const int)
0:336          Sequence
0:336            Constant:
0:336              0 (const int)
0:336            Constant:
0:336              1 (const int)
0:336        Convert bool to int ( temp highp 2-component vector of int)
0:336          subgroupPartitionedExclusiveOrNV ( global 2-component vector of bool, operation at highp)
0:336            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:336              vector swizzle ( temp highp 2-component vector of int)
0:336                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:336                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:336                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:336                    Constant:
0:336                      1 (const int)
0:336                  Constant:
0:336                    1 (const int)
0:336                Sequence
0:336                  Constant:
0:336                    0 (const int)
0:336                  Constant:
0:336                    1 (const int)
0:336              Constant:
0:336                0 (const int)
0:336                0 (const int)
0:336            'ballot' ( temp highp 4-component vector of uint)
0:337      move second child to first child ( temp highp 3-component vector of int)
0:337        vector swizzle ( temp highp 3-component vector of int)
0:337          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:337            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:337              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:337              Constant:
0:337                3 (const int)
0:337            Constant:
0:337              1 (const int)
0:337          Sequence
0:337            Constant:
0:337              0 (const int)
0:337            Constant:
0:337              1 (const int)
0:337            Constant:
0:337              2 (const int)
0:337        Convert bool to int ( temp highp 3-component vector of int)
0:337          subgroupPartitionedExclusiveOrNV ( global 3-component vector of bool, operation at highp)
0:337            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:337              vector swizzle ( temp highp 3-component vector of int)
0:337                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:337                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:337                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:337                    Constant:
0:337                      1 (const int)
0:337                  Constant:
0:337                    1 (const int)
0:337                Sequence
0:337                  Constant:
0:337                    0 (const int)
0:337                  Constant:
0:337                    1 (const int)
0:337                  Constant:
0:337                    2 (const int)
0:337              Constant:
0:337                0 (const int)
0:337                0 (const int)
0:337                0 (const int)
0:337            'ballot' ( temp highp 4-component vector of uint)
0:338      move second child to first child ( temp highp 4-component vector of int)
0:338        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:338          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:338            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:338            Constant:
0:338              3 (const int)
0:338          Constant:
0:338            1 (const int)
0:338        Convert bool to int ( temp highp 4-component vector of int)
0:338          subgroupPartitionedExclusiveOrNV ( global 4-component vector of bool, operation at highp)
0:338            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:338              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:338                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:338                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:338                  Constant:
0:338                    1 (const int)
0:338                Constant:
0:338                  1 (const int)
0:338              Constant:
0:338                0 (const int)
0:338                0 (const int)
0:338                0 (const int)
0:338                0 (const int)
0:338            'ballot' ( temp highp 4-component vector of uint)
0:340      move second child to first child ( temp highp int)
0:340        direct index ( temp highp int)
0:340          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:340            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:340              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:340              Constant:
0:340                3 (const int)
0:340            Constant:
0:340              1 (const int)
0:340          Constant:
0:340            0 (const int)
0:340        subgroupPartitionedExclusiveXorNV ( global highp int)
0:340          direct index ( temp highp int)
0:340            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:340              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:340                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:340                Constant:
0:340                  0 (const int)
0:340              Constant:
0:340                1 (const int)
0:340            Constant:
0:340              0 (const int)
0:340          'ballot' ( temp highp 4-component vector of uint)
0:341      move second child to first child ( temp highp 2-component vector of int)
0:341        vector swizzle ( temp highp 2-component vector of int)
0:341          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:341            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:341              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:341              Constant:
0:341                3 (const int)
0:341            Constant:
0:341              1 (const int)
0:341          Sequence
0:341            Constant:
0:341              0 (const int)
0:341            Constant:
0:341              1 (const int)
0:341        subgroupPartitionedExclusiveXorNV ( global highp 2-component vector of int)
0:341          vector swizzle ( temp highp 2-component vector of int)
0:341            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:341              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:341                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:341                Constant:
0:341                  1 (const int)
0:341              Constant:
0:341                1 (const int)
0:341            Sequence
0:341              Constant:
0:341                0 (const int)
0:341              Constant:
0:341                1 (const int)
0:341          'ballot' ( temp highp 4-component vector of uint)
0:342      move second child to first child ( temp highp 3-component vector of int)
0:342        vector swizzle ( temp highp 3-component vector of int)
0:342          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:342            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:342              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:342              Constant:
0:342                3 (const int)
0:342            Constant:
0:342              1 (const int)
0:342          Sequence
0:342            Constant:
0:342              0 (const int)
0:342            Constant:
0:342              1 (const int)
0:342            Constant:
0:342              2 (const int)
0:342        subgroupPartitionedExclusiveXorNV ( global highp 3-component vector of int)
0:342          vector swizzle ( temp highp 3-component vector of int)
0:342            i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:342              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:342                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:342                Constant:
0:342                  2 (const int)
0:342              Constant:
0:342                1 (const int)
0:342            Sequence
0:342              Constant:
0:342                0 (const int)
0:342              Constant:
0:342                1 (const int)
0:342              Constant:
0:342                2 (const int)
0:342          'ballot' ( temp highp 4-component vector of uint)
0:343      move second child to first child ( temp highp 4-component vector of int)
0:343        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:343          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:343            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:343            Constant:
0:343              3 (const int)
0:343          Constant:
0:343            1 (const int)
0:343        subgroupPartitionedExclusiveXorNV ( global highp 4-component vector of int)
0:343          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:343            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:343              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:343              Constant:
0:343                3 (const int)
0:343            Constant:
0:343              1 (const int)
0:343          'ballot' ( temp highp 4-component vector of uint)
0:345      move second child to first child ( temp highp uint)
0:345        direct index ( temp highp uint)
0:345          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:345            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:345              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:345              Constant:
0:345                0 (const int)
0:345            Constant:
0:345              2 (const int)
0:345          Constant:
0:345            0 (const int)
0:345        subgroupPartitionedExclusiveXorNV ( global highp uint)
0:345          direct index ( temp highp uint)
0:345            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:345              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:345                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:345                Constant:
0:345                  0 (const int)
0:345              Constant:
0:345                2 (const int)
0:345            Constant:
0:345              0 (const int)
0:345          'ballot' ( temp highp 4-component vector of uint)
0:346      move second child to first child ( temp highp 2-component vector of uint)
0:346        vector swizzle ( temp highp 2-component vector of uint)
0:346          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:346            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:346              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:346              Constant:
0:346                0 (const int)
0:346            Constant:
0:346              2 (const int)
0:346          Sequence
0:346            Constant:
0:346              0 (const int)
0:346            Constant:
0:346              1 (const int)
0:346        subgroupPartitionedExclusiveXorNV ( global highp 2-component vector of uint)
0:346          vector swizzle ( temp highp 2-component vector of uint)
0:346            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:346              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:346                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:346                Constant:
0:346                  1 (const int)
0:346              Constant:
0:346                2 (const int)
0:346            Sequence
0:346              Constant:
0:346                0 (const int)
0:346              Constant:
0:346                1 (const int)
0:346          'ballot' ( temp highp 4-component vector of uint)
0:347      move second child to first child ( temp highp 3-component vector of uint)
0:347        vector swizzle ( temp highp 3-component vector of uint)
0:347          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:347            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:347              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:347              Constant:
0:347                0 (const int)
0:347            Constant:
0:347              2 (const int)
0:347          Sequence
0:347            Constant:
0:347              0 (const int)
0:347            Constant:
0:347              1 (const int)
0:347            Constant:
0:347              2 (const int)
0:347        subgroupPartitionedExclusiveXorNV ( global highp 3-component vector of uint)
0:347          vector swizzle ( temp highp 3-component vector of uint)
0:347            u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:347              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:347                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:347                Constant:
0:347                  2 (const int)
0:347              Constant:
0:347                2 (const int)
0:347            Sequence
0:347              Constant:
0:347                0 (const int)
0:347              Constant:
0:347                1 (const int)
0:347              Constant:
0:347                2 (const int)
0:347          'ballot' ( temp highp 4-component vector of uint)
0:348      move second child to first child ( temp highp 4-component vector of uint)
0:348        u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:348          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:348            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:348            Constant:
0:348              0 (const int)
0:348          Constant:
0:348            2 (const int)
0:348        subgroupPartitionedExclusiveXorNV ( global highp 4-component vector of uint)
0:348          u4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of uint)
0:348            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:348              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:348              Constant:
0:348                3 (const int)
0:348            Constant:
0:348              2 (const int)
0:348          'ballot' ( temp highp 4-component vector of uint)
0:350      move second child to first child ( temp highp int)
0:350        direct index ( temp highp int)
0:350          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:350            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:350              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:350              Constant:
0:350                0 (const int)
0:350            Constant:
0:350              1 (const int)
0:350          Constant:
0:350            0 (const int)
0:350        Convert bool to int ( temp highp int)
0:350          subgroupPartitionedExclusiveXorNV ( global bool, operation at highp)
0:350            Compare Less Than ( temp bool)
0:350              direct index ( temp highp int)
0:350                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:350                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:350                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:350                    Constant:
0:350                      0 (const int)
0:350                  Constant:
0:350                    1 (const int)
0:350                Constant:
0:350                  0 (const int)
0:350              Constant:
0:350                0 (const int)
0:350            'ballot' ( temp highp 4-component vector of uint)
0:351      move second child to first child ( temp highp 2-component vector of int)
0:351        vector swizzle ( temp highp 2-component vector of int)
0:351          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:351            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:351              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:351              Constant:
0:351                0 (const int)
0:351            Constant:
0:351              1 (const int)
0:351          Sequence
0:351            Constant:
0:351              0 (const int)
0:351            Constant:
0:351              1 (const int)
0:351        Convert bool to int ( temp highp 2-component vector of int)
0:351          subgroupPartitionedExclusiveXorNV ( global 2-component vector of bool, operation at highp)
0:351            Compare Less Than ( global 2-component vector of bool, operation at highp)
0:351              vector swizzle ( temp highp 2-component vector of int)
0:351                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:351                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:351                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:351                    Constant:
0:351                      1 (const int)
0:351                  Constant:
0:351                    1 (const int)
0:351                Sequence
0:351                  Constant:
0:351                    0 (const int)
0:351                  Constant:
0:351                    1 (const int)
0:351              Constant:
0:351                0 (const int)
0:351                0 (const int)
0:351            'ballot' ( temp highp 4-component vector of uint)
0:352      move second child to first child ( temp highp 3-component vector of int)
0:352        vector swizzle ( temp highp 3-component vector of int)
0:352          i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:352            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:352              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:352              Constant:
0:352                0 (const int)
0:352            Constant:
0:352              1 (const int)
0:352          Sequence
0:352            Constant:
0:352              0 (const int)
0:352            Constant:
0:352              1 (const int)
0:352            Constant:
0:352              2 (const int)
0:352        Convert bool to int ( temp highp 3-component vector of int)
0:352          subgroupPartitionedExclusiveXorNV ( global 3-component vector of bool, operation at highp)
0:352            Compare Less Than ( global 3-component vector of bool, operation at highp)
0:352              vector swizzle ( temp highp 3-component vector of int)
0:352                i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:352                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:352                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:352                    Constant:
0:352                      1 (const int)
0:352                  Constant:
0:352                    1 (const int)
0:352                Sequence
0:352                  Constant:
0:352                    0 (const int)
0:352                  Constant:
0:352                    1 (const int)
0:352                  Constant:
0:352                    2 (const int)
0:352              Constant:
0:352                0 (const int)
0:352                0 (const int)
0:352                0 (const int)
0:352            'ballot' ( temp highp 4-component vector of uint)
0:353      move second child to first child ( temp highp 4-component vector of int)
0:353        i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:353          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:353            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:353            Constant:
0:353              0 (const int)
0:353          Constant:
0:353            1 (const int)
0:353        Convert bool to int ( temp highp 4-component vector of int)
0:353          subgroupPartitionedExclusiveXorNV ( global 4-component vector of bool, operation at highp)
0:353            Compare Less Than ( global 4-component vector of bool, operation at highp)
0:353              i4: direct index for structure (layout( column_major shared) buffer highp 4-component vector of int)
0:353                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:353                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})
0:353                  Constant:
0:353                    1 (const int)
0:353                Constant:
0:353                  1 (const int)
0:353              Constant:
0:353                0 (const int)
0:353                0 (const int)
0:353                0 (const int)
0:353                0 (const int)
0:353            'ballot' ( temp highp 4-component vector of uint)
0:?   Linker Objects
0:?     'gl_WorkGroupSize' ( const highp 3-component vector of uint WorkGroupSize)
0:?       8 (const uint)
0:?       1 (const uint)
0:?       1 (const uint)
0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer highp 4-component vector of float f4, layout( column_major shared) buffer highp 4-component vector of int i4, layout( column_major shared) buffer highp 4-component vector of uint u4})

