glsl.450.subgroupRotate.comp
Shader version: 450
Requested GL_KHR_shader_subgroup_rotate
local_size = (8, 8, 1)
0:? Sequence
0:20  Function Definition: main( ( global void)
0:20    Function Parameters: 
0:22    Sequence
0:22      Sequence
0:22        move second child to first child ( temp uint)
0:22          'delta' ( temp uint)
0:22          delta: direct index for structure (layout( column_major shared) readonly buffer uint)
0:22            'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer uint delta})
0:22            Constant:
0:22              0 (const int)
0:24      move second child to first child ( temp float)
0:24        direct index ( temp float)
0:24          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:24              'delta' ( temp uint)
0:24            Constant:
0:24              0 (const int)
0:24          Constant:
0:24            0 (const int)
0:24        subgroupRotate ( global float)
0:24          direct index ( temp float)
0:24            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:24                Constant:
0:24                  0 (const int)
0:24              Constant:
0:24                0 (const int)
0:24            Constant:
0:24              0 (const int)
0:24          'delta' ( temp uint)
0:25      move second child to first child ( temp 2-component vector of float)
0:25        vector swizzle ( temp 2-component vector of float)
0:25          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:25              'delta' ( temp uint)
0:25            Constant:
0:25              0 (const int)
0:25          Sequence
0:25            Constant:
0:25              0 (const int)
0:25            Constant:
0:25              1 (const int)
0:25        subgroupRotate ( global 2-component vector of float)
0:25          vector swizzle ( temp 2-component vector of float)
0:25            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:25                Constant:
0:25                  1 (const int)
0:25              Constant:
0:25                0 (const int)
0:25            Sequence
0:25              Constant:
0:25                0 (const int)
0:25              Constant:
0:25                1 (const int)
0:25          'delta' ( temp uint)
0:26      move second child to first child ( temp 3-component vector of float)
0:26        vector swizzle ( temp 3-component vector of float)
0:26          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:26              'delta' ( temp uint)
0:26            Constant:
0:26              0 (const int)
0:26          Sequence
0:26            Constant:
0:26              0 (const int)
0:26            Constant:
0:26              1 (const int)
0:26            Constant:
0:26              2 (const int)
0:26        subgroupRotate ( global 3-component vector of float)
0:26          vector swizzle ( temp 3-component vector of float)
0:26            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:26                Constant:
0:26                  2 (const int)
0:26              Constant:
0:26                0 (const int)
0:26            Sequence
0:26              Constant:
0:26                0 (const int)
0:26              Constant:
0:26                1 (const int)
0:26              Constant:
0:26                2 (const int)
0:26          'delta' ( temp uint)
0:27      move second child to first child ( temp 4-component vector of float)
0:27        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:27            'delta' ( temp uint)
0:27          Constant:
0:27            0 (const int)
0:27        subgroupRotate ( global 4-component vector of float)
0:27          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:27              Constant:
0:27                3 (const int)
0:27            Constant:
0:27              0 (const int)
0:27          'delta' ( temp uint)
0:29      move second child to first child ( temp int)
0:29        direct index ( temp int)
0:29          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:29              'delta' ( temp uint)
0:29            Constant:
0:29              1 (const int)
0:29          Constant:
0:29            0 (const int)
0:29        subgroupRotate ( global int)
0:29          direct index ( temp int)
0:29            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:29                Constant:
0:29                  0 (const int)
0:29              Constant:
0:29                1 (const int)
0:29            Constant:
0:29              0 (const int)
0:29          'delta' ( temp uint)
0:30      move second child to first child ( temp 2-component vector of int)
0:30        vector swizzle ( temp 2-component vector of int)
0:30          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:30              'delta' ( temp uint)
0:30            Constant:
0:30              1 (const int)
0:30          Sequence
0:30            Constant:
0:30              0 (const int)
0:30            Constant:
0:30              1 (const int)
0:30        subgroupRotate ( global 2-component vector of int)
0:30          vector swizzle ( temp 2-component vector of int)
0:30            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:30                Constant:
0:30                  1 (const int)
0:30              Constant:
0:30                1 (const int)
0:30            Sequence
0:30              Constant:
0:30                0 (const int)
0:30              Constant:
0:30                1 (const int)
0:30          'delta' ( temp uint)
0:31      move second child to first child ( temp 3-component vector of int)
0:31        vector swizzle ( temp 3-component vector of int)
0:31          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:31              'delta' ( temp uint)
0:31            Constant:
0:31              1 (const int)
0:31          Sequence
0:31            Constant:
0:31              0 (const int)
0:31            Constant:
0:31              1 (const int)
0:31            Constant:
0:31              2 (const int)
0:31        subgroupRotate ( global 3-component vector of int)
0:31          vector swizzle ( temp 3-component vector of int)
0:31            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:31                Constant:
0:31                  2 (const int)
0:31              Constant:
0:31                1 (const int)
0:31            Sequence
0:31              Constant:
0:31                0 (const int)
0:31              Constant:
0:31                1 (const int)
0:31              Constant:
0:31                2 (const int)
0:31          'delta' ( temp uint)
0:32      move second child to first child ( temp 4-component vector of int)
0:32        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:32            'delta' ( temp uint)
0:32          Constant:
0:32            1 (const int)
0:32        subgroupRotate ( global 4-component vector of int)
0:32          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:32              Constant:
0:32                3 (const int)
0:32            Constant:
0:32              1 (const int)
0:32          'delta' ( temp uint)
0:34      move second child to first child ( temp uint)
0:34        direct index ( temp uint)
0:34          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:34              'delta' ( temp uint)
0:34            Constant:
0:34              2 (const int)
0:34          Constant:
0:34            0 (const int)
0:34        subgroupRotate ( global uint)
0:34          direct index ( temp uint)
0:34            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:34                Constant:
0:34                  0 (const int)
0:34              Constant:
0:34                2 (const int)
0:34            Constant:
0:34              0 (const int)
0:34          'delta' ( temp uint)
0:35      move second child to first child ( temp 2-component vector of uint)
0:35        vector swizzle ( temp 2-component vector of uint)
0:35          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:35              'delta' ( temp uint)
0:35            Constant:
0:35              2 (const int)
0:35          Sequence
0:35            Constant:
0:35              0 (const int)
0:35            Constant:
0:35              1 (const int)
0:35        subgroupRotate ( global 2-component vector of uint)
0:35          vector swizzle ( temp 2-component vector of uint)
0:35            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:35                Constant:
0:35                  1 (const int)
0:35              Constant:
0:35                2 (const int)
0:35            Sequence
0:35              Constant:
0:35                0 (const int)
0:35              Constant:
0:35                1 (const int)
0:35          'delta' ( temp uint)
0:36      move second child to first child ( temp 3-component vector of uint)
0:36        vector swizzle ( temp 3-component vector of uint)
0:36          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:36              'delta' ( temp uint)
0:36            Constant:
0:36              2 (const int)
0:36          Sequence
0:36            Constant:
0:36              0 (const int)
0:36            Constant:
0:36              1 (const int)
0:36            Constant:
0:36              2 (const int)
0:36        subgroupRotate ( global 3-component vector of uint)
0:36          vector swizzle ( temp 3-component vector of uint)
0:36            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:36                Constant:
0:36                  2 (const int)
0:36              Constant:
0:36                2 (const int)
0:36            Sequence
0:36              Constant:
0:36                0 (const int)
0:36              Constant:
0:36                1 (const int)
0:36              Constant:
0:36                2 (const int)
0:36          'delta' ( temp uint)
0:37      move second child to first child ( temp 4-component vector of uint)
0:37        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:37            'delta' ( temp uint)
0:37          Constant:
0:37            2 (const int)
0:37        subgroupRotate ( global 4-component vector of uint)
0:37          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:37              Constant:
0:37                3 (const int)
0:37            Constant:
0:37              2 (const int)
0:37          'delta' ( temp uint)
0:39      move second child to first child ( temp double)
0:39        direct index ( temp double)
0:39          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:39              'delta' ( temp uint)
0:39            Constant:
0:39              3 (const int)
0:39          Constant:
0:39            0 (const int)
0:39        subgroupRotate ( global double)
0:39          direct index ( temp double)
0:39            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:39                Constant:
0:39                  0 (const int)
0:39              Constant:
0:39                3 (const int)
0:39            Constant:
0:39              0 (const int)
0:39          'delta' ( temp uint)
0:40      move second child to first child ( temp 2-component vector of double)
0:40        vector swizzle ( temp 2-component vector of double)
0:40          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:40              'delta' ( temp uint)
0:40            Constant:
0:40              3 (const int)
0:40          Sequence
0:40            Constant:
0:40              0 (const int)
0:40            Constant:
0:40              1 (const int)
0:40        subgroupRotate ( global 2-component vector of double)
0:40          vector swizzle ( temp 2-component vector of double)
0:40            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:40                Constant:
0:40                  1 (const int)
0:40              Constant:
0:40                3 (const int)
0:40            Sequence
0:40              Constant:
0:40                0 (const int)
0:40              Constant:
0:40                1 (const int)
0:40          'delta' ( temp uint)
0:41      move second child to first child ( temp 3-component vector of double)
0:41        vector swizzle ( temp 3-component vector of double)
0:41          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:41              'delta' ( temp uint)
0:41            Constant:
0:41              3 (const int)
0:41          Sequence
0:41            Constant:
0:41              0 (const int)
0:41            Constant:
0:41              1 (const int)
0:41            Constant:
0:41              2 (const int)
0:41        subgroupRotate ( global 3-component vector of double)
0:41          vector swizzle ( temp 3-component vector of double)
0:41            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:41                Constant:
0:41                  2 (const int)
0:41              Constant:
0:41                3 (const int)
0:41            Sequence
0:41              Constant:
0:41                0 (const int)
0:41              Constant:
0:41                1 (const int)
0:41              Constant:
0:41                2 (const int)
0:41          'delta' ( temp uint)
0:42      move second child to first child ( temp 4-component vector of double)
0:42        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:42            'delta' ( temp uint)
0:42          Constant:
0:42            3 (const int)
0:42        subgroupRotate ( global 4-component vector of double)
0:42          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:42            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:42              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:42              Constant:
0:42                3 (const int)
0:42            Constant:
0:42              3 (const int)
0:42          'delta' ( temp uint)
0:44      move second child to first child ( temp int)
0:44        direct index ( temp int)
0:44          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:44              'delta' ( temp uint)
0:44            Constant:
0:44              1 (const int)
0:44          Constant:
0:44            0 (const int)
0:44        Convert bool to int ( temp int)
0:44          subgroupRotate ( global bool)
0:44            Compare Less Than ( temp bool)
0:44              direct index ( temp int)
0:44                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:44                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:44                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:44                    Constant:
0:44                      0 (const int)
0:44                  Constant:
0:44                    1 (const int)
0:44                Constant:
0:44                  0 (const int)
0:44              Constant:
0:44                0 (const int)
0:44            'delta' ( temp uint)
0:45      move second child to first child ( temp 2-component vector of int)
0:45        vector swizzle ( temp 2-component vector of int)
0:45          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:45              'delta' ( temp uint)
0:45            Constant:
0:45              1 (const int)
0:45          Sequence
0:45            Constant:
0:45              0 (const int)
0:45            Constant:
0:45              1 (const int)
0:45        Convert bool to int ( temp 2-component vector of int)
0:45          subgroupRotate ( global 2-component vector of bool)
0:45            Compare Less Than ( global 2-component vector of bool)
0:45              vector swizzle ( temp 2-component vector of int)
0:45                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:45                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:45                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:45                    Constant:
0:45                      1 (const int)
0:45                  Constant:
0:45                    1 (const int)
0:45                Sequence
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                0 (const int)
0:45            'delta' ( temp uint)
0:46      move second child to first child ( temp 3-component vector of int)
0:46        vector swizzle ( temp 3-component vector of int)
0:46          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:46              'delta' ( temp uint)
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            Constant:
0:46              2 (const int)
0:46        Convert bool to int ( temp 3-component vector of int)
0:46          subgroupRotate ( global 3-component vector of bool)
0:46            Compare Less Than ( global 3-component vector of bool)
0:46              vector swizzle ( temp 3-component vector of int)
0:46                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:46                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:46                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
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                  Constant:
0:46                    2 (const int)
0:46              Constant:
0:46                0 (const int)
0:46                0 (const int)
0:46                0 (const int)
0:46            'delta' ( temp uint)
0:47      move second child to first child ( temp 4-component vector of int)
0:47        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:47            'delta' ( temp uint)
0:47          Constant:
0:47            1 (const int)
0:47        Convert bool to int ( temp 4-component vector of int)
0:47          subgroupRotate ( global 4-component vector of bool)
0:47            Compare Less Than ( global 4-component vector of bool)
0:47              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:47                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:47                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:47                  Constant:
0:47                    1 (const int)
0:47                Constant:
0:47                  1 (const int)
0:47              Constant:
0:47                0 (const int)
0:47                0 (const int)
0:47                0 (const int)
0:47                0 (const int)
0:47            'delta' ( temp uint)
0:49      move second child to first child ( temp float)
0:49        direct index ( temp float)
0:49          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:49              'delta' ( temp uint)
0:49            Constant:
0:49              0 (const int)
0:49          Constant:
0:49            0 (const int)
0:49        subgroupClusteredRotate ( global float)
0:49          direct index ( temp float)
0:49            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:49                Constant:
0:49                  0 (const int)
0:49              Constant:
0:49                0 (const int)
0:49            Constant:
0:49              0 (const int)
0:49          'delta' ( temp uint)
0:49          Constant:
0:49            1 (const uint)
0:50      move second child to first child ( temp 2-component vector of float)
0:50        vector swizzle ( temp 2-component vector of float)
0:50          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:50              'delta' ( temp uint)
0:50            Constant:
0:50              0 (const int)
0:50          Sequence
0:50            Constant:
0:50              0 (const int)
0:50            Constant:
0:50              1 (const int)
0:50        subgroupClusteredRotate ( global 2-component vector of float)
0:50          vector swizzle ( temp 2-component vector of float)
0:50            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:50                Constant:
0:50                  1 (const int)
0:50              Constant:
0:50                0 (const int)
0:50            Sequence
0:50              Constant:
0:50                0 (const int)
0:50              Constant:
0:50                1 (const int)
0:50          'delta' ( temp uint)
0:50          Constant:
0:50            1 (const uint)
0:51      move second child to first child ( temp 3-component vector of float)
0:51        vector swizzle ( temp 3-component vector of float)
0:51          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:51              'delta' ( temp uint)
0:51            Constant:
0:51              0 (const int)
0:51          Sequence
0:51            Constant:
0:51              0 (const int)
0:51            Constant:
0:51              1 (const int)
0:51            Constant:
0:51              2 (const int)
0:51        subgroupClusteredRotate ( global 3-component vector of float)
0:51          vector swizzle ( temp 3-component vector of float)
0:51            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:51                Constant:
0:51                  2 (const int)
0:51              Constant:
0:51                0 (const int)
0:51            Sequence
0:51              Constant:
0:51                0 (const int)
0:51              Constant:
0:51                1 (const int)
0:51              Constant:
0:51                2 (const int)
0:51          'delta' ( temp uint)
0:51          Constant:
0:51            1 (const uint)
0:52      move second child to first child ( temp 4-component vector of float)
0:52        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:52            'delta' ( temp uint)
0:52          Constant:
0:52            0 (const int)
0:52        subgroupClusteredRotate ( global 4-component vector of float)
0:52          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:52              Constant:
0:52                3 (const int)
0:52            Constant:
0:52              0 (const int)
0:52          'delta' ( temp uint)
0:52          Constant:
0:52            1 (const uint)
0:54      move second child to first child ( temp int)
0:54        direct index ( temp int)
0:54          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:54              'delta' ( temp uint)
0:54            Constant:
0:54              1 (const int)
0:54          Constant:
0:54            0 (const int)
0:54        subgroupClusteredRotate ( global int)
0:54          direct index ( temp int)
0:54            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:54                Constant:
0:54                  0 (const int)
0:54              Constant:
0:54                1 (const int)
0:54            Constant:
0:54              0 (const int)
0:54          'delta' ( temp uint)
0:54          Constant:
0:54            1 (const uint)
0:55      move second child to first child ( temp 2-component vector of int)
0:55        vector swizzle ( temp 2-component vector of int)
0:55          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:55              'delta' ( temp uint)
0:55            Constant:
0:55              1 (const int)
0:55          Sequence
0:55            Constant:
0:55              0 (const int)
0:55            Constant:
0:55              1 (const int)
0:55        subgroupClusteredRotate ( global 2-component vector of int)
0:55          vector swizzle ( temp 2-component vector of int)
0:55            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:55                Constant:
0:55                  1 (const int)
0:55              Constant:
0:55                1 (const int)
0:55            Sequence
0:55              Constant:
0:55                0 (const int)
0:55              Constant:
0:55                1 (const int)
0:55          'delta' ( temp uint)
0:55          Constant:
0:55            1 (const uint)
0:56      move second child to first child ( temp 3-component vector of int)
0:56        vector swizzle ( temp 3-component vector of int)
0:56          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:56              'delta' ( temp uint)
0:56            Constant:
0:56              1 (const int)
0:56          Sequence
0:56            Constant:
0:56              0 (const int)
0:56            Constant:
0:56              1 (const int)
0:56            Constant:
0:56              2 (const int)
0:56        subgroupClusteredRotate ( global 3-component vector of int)
0:56          vector swizzle ( temp 3-component vector of int)
0:56            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:56                Constant:
0:56                  2 (const int)
0:56              Constant:
0:56                1 (const int)
0:56            Sequence
0:56              Constant:
0:56                0 (const int)
0:56              Constant:
0:56                1 (const int)
0:56              Constant:
0:56                2 (const int)
0:56          'delta' ( temp uint)
0:56          Constant:
0:56            1 (const uint)
0:57      move second child to first child ( temp 4-component vector of int)
0:57        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:57            'delta' ( temp uint)
0:57          Constant:
0:57            1 (const int)
0:57        subgroupClusteredRotate ( global 4-component vector of int)
0:57          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:57              Constant:
0:57                3 (const int)
0:57            Constant:
0:57              1 (const int)
0:57          'delta' ( temp uint)
0:57          Constant:
0:57            1 (const uint)
0:59      move second child to first child ( temp uint)
0:59        direct index ( temp uint)
0:59          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:59              'delta' ( temp uint)
0:59            Constant:
0:59              2 (const int)
0:59          Constant:
0:59            0 (const int)
0:59        subgroupClusteredRotate ( global uint)
0:59          direct index ( temp uint)
0:59            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:59                Constant:
0:59                  0 (const int)
0:59              Constant:
0:59                2 (const int)
0:59            Constant:
0:59              0 (const int)
0:59          'delta' ( temp uint)
0:59          Constant:
0:59            1 (const uint)
0:60      move second child to first child ( temp 2-component vector of uint)
0:60        vector swizzle ( temp 2-component vector of uint)
0:60          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:60              'delta' ( temp uint)
0:60            Constant:
0:60              2 (const int)
0:60          Sequence
0:60            Constant:
0:60              0 (const int)
0:60            Constant:
0:60              1 (const int)
0:60        subgroupClusteredRotate ( global 2-component vector of uint)
0:60          vector swizzle ( temp 2-component vector of uint)
0:60            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:60                Constant:
0:60                  1 (const int)
0:60              Constant:
0:60                2 (const int)
0:60            Sequence
0:60              Constant:
0:60                0 (const int)
0:60              Constant:
0:60                1 (const int)
0:60          'delta' ( temp uint)
0:60          Constant:
0:60            1 (const uint)
0:61      move second child to first child ( temp 3-component vector of uint)
0:61        vector swizzle ( temp 3-component vector of uint)
0:61          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:61              'delta' ( temp uint)
0:61            Constant:
0:61              2 (const int)
0:61          Sequence
0:61            Constant:
0:61              0 (const int)
0:61            Constant:
0:61              1 (const int)
0:61            Constant:
0:61              2 (const int)
0:61        subgroupClusteredRotate ( global 3-component vector of uint)
0:61          vector swizzle ( temp 3-component vector of uint)
0:61            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:61                Constant:
0:61                  2 (const int)
0:61              Constant:
0:61                2 (const int)
0:61            Sequence
0:61              Constant:
0:61                0 (const int)
0:61              Constant:
0:61                1 (const int)
0:61              Constant:
0:61                2 (const int)
0:61          'delta' ( temp uint)
0:61          Constant:
0:61            1 (const uint)
0:62      move second child to first child ( temp 4-component vector of uint)
0:62        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:62            'delta' ( temp uint)
0:62          Constant:
0:62            2 (const int)
0:62        subgroupClusteredRotate ( global 4-component vector of uint)
0:62          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:62              Constant:
0:62                3 (const int)
0:62            Constant:
0:62              2 (const int)
0:62          'delta' ( temp uint)
0:62          Constant:
0:62            1 (const uint)
0:64      move second child to first child ( temp double)
0:64        direct index ( temp double)
0:64          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:64              'delta' ( temp uint)
0:64            Constant:
0:64              3 (const int)
0:64          Constant:
0:64            0 (const int)
0:64        subgroupClusteredRotate ( global double)
0:64          direct index ( temp double)
0:64            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:64                Constant:
0:64                  0 (const int)
0:64              Constant:
0:64                3 (const int)
0:64            Constant:
0:64              0 (const int)
0:64          'delta' ( temp uint)
0:64          Constant:
0:64            1 (const uint)
0:65      move second child to first child ( temp 2-component vector of double)
0:65        vector swizzle ( temp 2-component vector of double)
0:65          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:65              'delta' ( temp uint)
0:65            Constant:
0:65              3 (const int)
0:65          Sequence
0:65            Constant:
0:65              0 (const int)
0:65            Constant:
0:65              1 (const int)
0:65        subgroupClusteredRotate ( global 2-component vector of double)
0:65          vector swizzle ( temp 2-component vector of double)
0:65            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:65                Constant:
0:65                  1 (const int)
0:65              Constant:
0:65                3 (const int)
0:65            Sequence
0:65              Constant:
0:65                0 (const int)
0:65              Constant:
0:65                1 (const int)
0:65          'delta' ( temp uint)
0:65          Constant:
0:65            1 (const uint)
0:66      move second child to first child ( temp 3-component vector of double)
0:66        vector swizzle ( temp 3-component vector of double)
0:66          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:66              'delta' ( temp uint)
0:66            Constant:
0:66              3 (const int)
0:66          Sequence
0:66            Constant:
0:66              0 (const int)
0:66            Constant:
0:66              1 (const int)
0:66            Constant:
0:66              2 (const int)
0:66        subgroupClusteredRotate ( global 3-component vector of double)
0:66          vector swizzle ( temp 3-component vector of double)
0:66            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:66                Constant:
0:66                  2 (const int)
0:66              Constant:
0:66                3 (const int)
0:66            Sequence
0:66              Constant:
0:66                0 (const int)
0:66              Constant:
0:66                1 (const int)
0:66              Constant:
0:66                2 (const int)
0:66          'delta' ( temp uint)
0:66          Constant:
0:66            1 (const uint)
0:67      move second child to first child ( temp 4-component vector of double)
0:67        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:67            'delta' ( temp uint)
0:67          Constant:
0:67            3 (const int)
0:67        subgroupClusteredRotate ( global 4-component vector of double)
0:67          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:67            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:67              Constant:
0:67                3 (const int)
0:67            Constant:
0:67              3 (const int)
0:67          'delta' ( temp uint)
0:67          Constant:
0:67            1 (const uint)
0:69      move second child to first child ( temp int)
0:69        direct index ( temp int)
0:69          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:69            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:69              'delta' ( temp uint)
0:69            Constant:
0:69              1 (const int)
0:69          Constant:
0:69            0 (const int)
0:69        Convert bool to int ( temp int)
0:69          subgroupClusteredRotate ( global bool)
0:69            Compare Less Than ( temp bool)
0:69              direct index ( temp int)
0:69                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:69                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:69                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:69                    Constant:
0:69                      0 (const int)
0:69                  Constant:
0:69                    1 (const int)
0:69                Constant:
0:69                  0 (const int)
0:69              Constant:
0:69                0 (const int)
0:69            'delta' ( temp uint)
0:69            Constant:
0:69              1 (const uint)
0:70      move second child to first child ( temp 2-component vector of int)
0:70        vector swizzle ( temp 2-component vector of int)
0:70          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:70            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:70              'delta' ( temp uint)
0:70            Constant:
0:70              1 (const int)
0:70          Sequence
0:70            Constant:
0:70              0 (const int)
0:70            Constant:
0:70              1 (const int)
0:70        Convert bool to int ( temp 2-component vector of int)
0:70          subgroupClusteredRotate ( global 2-component vector of bool)
0:70            Compare Less Than ( global 2-component vector of bool)
0:70              vector swizzle ( temp 2-component vector of int)
0:70                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:70                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:70                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:70                    Constant:
0:70                      1 (const int)
0:70                  Constant:
0:70                    1 (const int)
0:70                Sequence
0:70                  Constant:
0:70                    0 (const int)
0:70                  Constant:
0:70                    1 (const int)
0:70              Constant:
0:70                0 (const int)
0:70                0 (const int)
0:70            'delta' ( temp uint)
0:70            Constant:
0:70              1 (const uint)
0:71      move second child to first child ( temp 3-component vector of int)
0:71        vector swizzle ( temp 3-component vector of int)
0:71          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:71            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:71              'delta' ( temp uint)
0:71            Constant:
0:71              1 (const int)
0:71          Sequence
0:71            Constant:
0:71              0 (const int)
0:71            Constant:
0:71              1 (const int)
0:71            Constant:
0:71              2 (const int)
0:71        Convert bool to int ( temp 3-component vector of int)
0:71          subgroupClusteredRotate ( global 3-component vector of bool)
0:71            Compare Less Than ( global 3-component vector of bool)
0:71              vector swizzle ( temp 3-component vector of int)
0:71                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:71                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:71                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:71                    Constant:
0:71                      1 (const int)
0:71                  Constant:
0:71                    1 (const int)
0:71                Sequence
0:71                  Constant:
0:71                    0 (const int)
0:71                  Constant:
0:71                    1 (const int)
0:71                  Constant:
0:71                    2 (const int)
0:71              Constant:
0:71                0 (const int)
0:71                0 (const int)
0:71                0 (const int)
0:71            'delta' ( temp uint)
0:71            Constant:
0:71              1 (const uint)
0:72      move second child to first child ( temp 4-component vector of int)
0:72        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:72          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:72            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:72            'delta' ( temp uint)
0:72          Constant:
0:72            1 (const int)
0:72        Convert bool to int ( temp 4-component vector of int)
0:72          subgroupClusteredRotate ( global 4-component vector of bool)
0:72            Compare Less Than ( global 4-component vector of bool)
0:72              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:72                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:72                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:72                  Constant:
0:72                    1 (const int)
0:72                Constant:
0:72                  1 (const int)
0:72              Constant:
0:72                0 (const int)
0:72                0 (const int)
0:72                0 (const int)
0:72                0 (const int)
0:72            'delta' ( temp uint)
0:72            Constant:
0:72              1 (const uint)
0:?   Linker Objects
0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:?       8 (const uint)
0:?       8 (const uint)
0:?       1 (const uint)
0:?     'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer uint delta})
0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})


Linked compute stage:


Shader version: 450
Requested GL_KHR_shader_subgroup_rotate
local_size = (8, 8, 1)
0:? Sequence
0:20  Function Definition: main( ( global void)
0:20    Function Parameters: 
0:22    Sequence
0:22      Sequence
0:22        move second child to first child ( temp uint)
0:22          'delta' ( temp uint)
0:22          delta: direct index for structure (layout( column_major shared) readonly buffer uint)
0:22            'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer uint delta})
0:22            Constant:
0:22              0 (const int)
0:24      move second child to first child ( temp float)
0:24        direct index ( temp float)
0:24          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:24            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:24              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:24              'delta' ( temp uint)
0:24            Constant:
0:24              0 (const int)
0:24          Constant:
0:24            0 (const int)
0:24        subgroupRotate ( global float)
0:24          direct index ( temp float)
0:24            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:24              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:24                Constant:
0:24                  0 (const int)
0:24              Constant:
0:24                0 (const int)
0:24            Constant:
0:24              0 (const int)
0:24          'delta' ( temp uint)
0:25      move second child to first child ( temp 2-component vector of float)
0:25        vector swizzle ( temp 2-component vector of float)
0:25          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:25            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:25              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:25              'delta' ( temp uint)
0:25            Constant:
0:25              0 (const int)
0:25          Sequence
0:25            Constant:
0:25              0 (const int)
0:25            Constant:
0:25              1 (const int)
0:25        subgroupRotate ( global 2-component vector of float)
0:25          vector swizzle ( temp 2-component vector of float)
0:25            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:25              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:25                Constant:
0:25                  1 (const int)
0:25              Constant:
0:25                0 (const int)
0:25            Sequence
0:25              Constant:
0:25                0 (const int)
0:25              Constant:
0:25                1 (const int)
0:25          'delta' ( temp uint)
0:26      move second child to first child ( temp 3-component vector of float)
0:26        vector swizzle ( temp 3-component vector of float)
0:26          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:26            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:26              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:26              'delta' ( temp uint)
0:26            Constant:
0:26              0 (const int)
0:26          Sequence
0:26            Constant:
0:26              0 (const int)
0:26            Constant:
0:26              1 (const int)
0:26            Constant:
0:26              2 (const int)
0:26        subgroupRotate ( global 3-component vector of float)
0:26          vector swizzle ( temp 3-component vector of float)
0:26            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:26              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:26                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:26                Constant:
0:26                  2 (const int)
0:26              Constant:
0:26                0 (const int)
0:26            Sequence
0:26              Constant:
0:26                0 (const int)
0:26              Constant:
0:26                1 (const int)
0:26              Constant:
0:26                2 (const int)
0:26          'delta' ( temp uint)
0:27      move second child to first child ( temp 4-component vector of float)
0:27        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:27          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:27            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:27            'delta' ( temp uint)
0:27          Constant:
0:27            0 (const int)
0:27        subgroupRotate ( global 4-component vector of float)
0:27          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:27            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:27              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:27              Constant:
0:27                3 (const int)
0:27            Constant:
0:27              0 (const int)
0:27          'delta' ( temp uint)
0:29      move second child to first child ( temp int)
0:29        direct index ( temp int)
0:29          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:29            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:29              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:29              'delta' ( temp uint)
0:29            Constant:
0:29              1 (const int)
0:29          Constant:
0:29            0 (const int)
0:29        subgroupRotate ( global int)
0:29          direct index ( temp int)
0:29            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:29              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:29                Constant:
0:29                  0 (const int)
0:29              Constant:
0:29                1 (const int)
0:29            Constant:
0:29              0 (const int)
0:29          'delta' ( temp uint)
0:30      move second child to first child ( temp 2-component vector of int)
0:30        vector swizzle ( temp 2-component vector of int)
0:30          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:30            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:30              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:30              'delta' ( temp uint)
0:30            Constant:
0:30              1 (const int)
0:30          Sequence
0:30            Constant:
0:30              0 (const int)
0:30            Constant:
0:30              1 (const int)
0:30        subgroupRotate ( global 2-component vector of int)
0:30          vector swizzle ( temp 2-component vector of int)
0:30            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:30              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:30                Constant:
0:30                  1 (const int)
0:30              Constant:
0:30                1 (const int)
0:30            Sequence
0:30              Constant:
0:30                0 (const int)
0:30              Constant:
0:30                1 (const int)
0:30          'delta' ( temp uint)
0:31      move second child to first child ( temp 3-component vector of int)
0:31        vector swizzle ( temp 3-component vector of int)
0:31          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:31            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:31              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:31              'delta' ( temp uint)
0:31            Constant:
0:31              1 (const int)
0:31          Sequence
0:31            Constant:
0:31              0 (const int)
0:31            Constant:
0:31              1 (const int)
0:31            Constant:
0:31              2 (const int)
0:31        subgroupRotate ( global 3-component vector of int)
0:31          vector swizzle ( temp 3-component vector of int)
0:31            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:31              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:31                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:31                Constant:
0:31                  2 (const int)
0:31              Constant:
0:31                1 (const int)
0:31            Sequence
0:31              Constant:
0:31                0 (const int)
0:31              Constant:
0:31                1 (const int)
0:31              Constant:
0:31                2 (const int)
0:31          'delta' ( temp uint)
0:32      move second child to first child ( temp 4-component vector of int)
0:32        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:32          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:32            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:32            'delta' ( temp uint)
0:32          Constant:
0:32            1 (const int)
0:32        subgroupRotate ( global 4-component vector of int)
0:32          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:32            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:32              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:32              Constant:
0:32                3 (const int)
0:32            Constant:
0:32              1 (const int)
0:32          'delta' ( temp uint)
0:34      move second child to first child ( temp uint)
0:34        direct index ( temp uint)
0:34          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:34            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:34              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:34              'delta' ( temp uint)
0:34            Constant:
0:34              2 (const int)
0:34          Constant:
0:34            0 (const int)
0:34        subgroupRotate ( global uint)
0:34          direct index ( temp uint)
0:34            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:34              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:34                Constant:
0:34                  0 (const int)
0:34              Constant:
0:34                2 (const int)
0:34            Constant:
0:34              0 (const int)
0:34          'delta' ( temp uint)
0:35      move second child to first child ( temp 2-component vector of uint)
0:35        vector swizzle ( temp 2-component vector of uint)
0:35          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:35            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:35              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:35              'delta' ( temp uint)
0:35            Constant:
0:35              2 (const int)
0:35          Sequence
0:35            Constant:
0:35              0 (const int)
0:35            Constant:
0:35              1 (const int)
0:35        subgroupRotate ( global 2-component vector of uint)
0:35          vector swizzle ( temp 2-component vector of uint)
0:35            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:35              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:35                Constant:
0:35                  1 (const int)
0:35              Constant:
0:35                2 (const int)
0:35            Sequence
0:35              Constant:
0:35                0 (const int)
0:35              Constant:
0:35                1 (const int)
0:35          'delta' ( temp uint)
0:36      move second child to first child ( temp 3-component vector of uint)
0:36        vector swizzle ( temp 3-component vector of uint)
0:36          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:36            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:36              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:36              'delta' ( temp uint)
0:36            Constant:
0:36              2 (const int)
0:36          Sequence
0:36            Constant:
0:36              0 (const int)
0:36            Constant:
0:36              1 (const int)
0:36            Constant:
0:36              2 (const int)
0:36        subgroupRotate ( global 3-component vector of uint)
0:36          vector swizzle ( temp 3-component vector of uint)
0:36            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:36              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:36                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:36                Constant:
0:36                  2 (const int)
0:36              Constant:
0:36                2 (const int)
0:36            Sequence
0:36              Constant:
0:36                0 (const int)
0:36              Constant:
0:36                1 (const int)
0:36              Constant:
0:36                2 (const int)
0:36          'delta' ( temp uint)
0:37      move second child to first child ( temp 4-component vector of uint)
0:37        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:37          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:37            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:37            'delta' ( temp uint)
0:37          Constant:
0:37            2 (const int)
0:37        subgroupRotate ( global 4-component vector of uint)
0:37          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:37            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:37              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:37              Constant:
0:37                3 (const int)
0:37            Constant:
0:37              2 (const int)
0:37          'delta' ( temp uint)
0:39      move second child to first child ( temp double)
0:39        direct index ( temp double)
0:39          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:39            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:39              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:39              'delta' ( temp uint)
0:39            Constant:
0:39              3 (const int)
0:39          Constant:
0:39            0 (const int)
0:39        subgroupRotate ( global double)
0:39          direct index ( temp double)
0:39            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:39              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:39                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:39                Constant:
0:39                  0 (const int)
0:39              Constant:
0:39                3 (const int)
0:39            Constant:
0:39              0 (const int)
0:39          'delta' ( temp uint)
0:40      move second child to first child ( temp 2-component vector of double)
0:40        vector swizzle ( temp 2-component vector of double)
0:40          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:40            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:40              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:40              'delta' ( temp uint)
0:40            Constant:
0:40              3 (const int)
0:40          Sequence
0:40            Constant:
0:40              0 (const int)
0:40            Constant:
0:40              1 (const int)
0:40        subgroupRotate ( global 2-component vector of double)
0:40          vector swizzle ( temp 2-component vector of double)
0:40            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:40              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:40                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:40                Constant:
0:40                  1 (const int)
0:40              Constant:
0:40                3 (const int)
0:40            Sequence
0:40              Constant:
0:40                0 (const int)
0:40              Constant:
0:40                1 (const int)
0:40          'delta' ( temp uint)
0:41      move second child to first child ( temp 3-component vector of double)
0:41        vector swizzle ( temp 3-component vector of double)
0:41          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:41            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:41              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:41              'delta' ( temp uint)
0:41            Constant:
0:41              3 (const int)
0:41          Sequence
0:41            Constant:
0:41              0 (const int)
0:41            Constant:
0:41              1 (const int)
0:41            Constant:
0:41              2 (const int)
0:41        subgroupRotate ( global 3-component vector of double)
0:41          vector swizzle ( temp 3-component vector of double)
0:41            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:41              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:41                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:41                Constant:
0:41                  2 (const int)
0:41              Constant:
0:41                3 (const int)
0:41            Sequence
0:41              Constant:
0:41                0 (const int)
0:41              Constant:
0:41                1 (const int)
0:41              Constant:
0:41                2 (const int)
0:41          'delta' ( temp uint)
0:42      move second child to first child ( temp 4-component vector of double)
0:42        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:42          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:42            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:42            'delta' ( temp uint)
0:42          Constant:
0:42            3 (const int)
0:42        subgroupRotate ( global 4-component vector of double)
0:42          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:42            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:42              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:42              Constant:
0:42                3 (const int)
0:42            Constant:
0:42              3 (const int)
0:42          'delta' ( temp uint)
0:44      move second child to first child ( temp int)
0:44        direct index ( temp int)
0:44          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:44            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:44              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:44              'delta' ( temp uint)
0:44            Constant:
0:44              1 (const int)
0:44          Constant:
0:44            0 (const int)
0:44        Convert bool to int ( temp int)
0:44          subgroupRotate ( global bool)
0:44            Compare Less Than ( temp bool)
0:44              direct index ( temp int)
0:44                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:44                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:44                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:44                    Constant:
0:44                      0 (const int)
0:44                  Constant:
0:44                    1 (const int)
0:44                Constant:
0:44                  0 (const int)
0:44              Constant:
0:44                0 (const int)
0:44            'delta' ( temp uint)
0:45      move second child to first child ( temp 2-component vector of int)
0:45        vector swizzle ( temp 2-component vector of int)
0:45          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:45            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:45              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:45              'delta' ( temp uint)
0:45            Constant:
0:45              1 (const int)
0:45          Sequence
0:45            Constant:
0:45              0 (const int)
0:45            Constant:
0:45              1 (const int)
0:45        Convert bool to int ( temp 2-component vector of int)
0:45          subgroupRotate ( global 2-component vector of bool)
0:45            Compare Less Than ( global 2-component vector of bool)
0:45              vector swizzle ( temp 2-component vector of int)
0:45                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:45                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:45                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:45                    Constant:
0:45                      1 (const int)
0:45                  Constant:
0:45                    1 (const int)
0:45                Sequence
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                0 (const int)
0:45            'delta' ( temp uint)
0:46      move second child to first child ( temp 3-component vector of int)
0:46        vector swizzle ( temp 3-component vector of int)
0:46          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:46            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:46              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:46              'delta' ( temp uint)
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            Constant:
0:46              2 (const int)
0:46        Convert bool to int ( temp 3-component vector of int)
0:46          subgroupRotate ( global 3-component vector of bool)
0:46            Compare Less Than ( global 3-component vector of bool)
0:46              vector swizzle ( temp 3-component vector of int)
0:46                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:46                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:46                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
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                  Constant:
0:46                    2 (const int)
0:46              Constant:
0:46                0 (const int)
0:46                0 (const int)
0:46                0 (const int)
0:46            'delta' ( temp uint)
0:47      move second child to first child ( temp 4-component vector of int)
0:47        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:47          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:47            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:47            'delta' ( temp uint)
0:47          Constant:
0:47            1 (const int)
0:47        Convert bool to int ( temp 4-component vector of int)
0:47          subgroupRotate ( global 4-component vector of bool)
0:47            Compare Less Than ( global 4-component vector of bool)
0:47              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:47                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:47                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:47                  Constant:
0:47                    1 (const int)
0:47                Constant:
0:47                  1 (const int)
0:47              Constant:
0:47                0 (const int)
0:47                0 (const int)
0:47                0 (const int)
0:47                0 (const int)
0:47            'delta' ( temp uint)
0:49      move second child to first child ( temp float)
0:49        direct index ( temp float)
0:49          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:49            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:49              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:49              'delta' ( temp uint)
0:49            Constant:
0:49              0 (const int)
0:49          Constant:
0:49            0 (const int)
0:49        subgroupClusteredRotate ( global float)
0:49          direct index ( temp float)
0:49            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:49              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:49                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:49                Constant:
0:49                  0 (const int)
0:49              Constant:
0:49                0 (const int)
0:49            Constant:
0:49              0 (const int)
0:49          'delta' ( temp uint)
0:49          Constant:
0:49            1 (const uint)
0:50      move second child to first child ( temp 2-component vector of float)
0:50        vector swizzle ( temp 2-component vector of float)
0:50          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:50            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:50              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:50              'delta' ( temp uint)
0:50            Constant:
0:50              0 (const int)
0:50          Sequence
0:50            Constant:
0:50              0 (const int)
0:50            Constant:
0:50              1 (const int)
0:50        subgroupClusteredRotate ( global 2-component vector of float)
0:50          vector swizzle ( temp 2-component vector of float)
0:50            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:50              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:50                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:50                Constant:
0:50                  1 (const int)
0:50              Constant:
0:50                0 (const int)
0:50            Sequence
0:50              Constant:
0:50                0 (const int)
0:50              Constant:
0:50                1 (const int)
0:50          'delta' ( temp uint)
0:50          Constant:
0:50            1 (const uint)
0:51      move second child to first child ( temp 3-component vector of float)
0:51        vector swizzle ( temp 3-component vector of float)
0:51          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:51            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:51              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:51              'delta' ( temp uint)
0:51            Constant:
0:51              0 (const int)
0:51          Sequence
0:51            Constant:
0:51              0 (const int)
0:51            Constant:
0:51              1 (const int)
0:51            Constant:
0:51              2 (const int)
0:51        subgroupClusteredRotate ( global 3-component vector of float)
0:51          vector swizzle ( temp 3-component vector of float)
0:51            f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:51              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:51                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:51                Constant:
0:51                  2 (const int)
0:51              Constant:
0:51                0 (const int)
0:51            Sequence
0:51              Constant:
0:51                0 (const int)
0:51              Constant:
0:51                1 (const int)
0:51              Constant:
0:51                2 (const int)
0:51          'delta' ( temp uint)
0:51          Constant:
0:51            1 (const uint)
0:52      move second child to first child ( temp 4-component vector of float)
0:52        f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:52          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:52            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:52            'delta' ( temp uint)
0:52          Constant:
0:52            0 (const int)
0:52        subgroupClusteredRotate ( global 4-component vector of float)
0:52          f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
0:52            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:52              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:52              Constant:
0:52                3 (const int)
0:52            Constant:
0:52              0 (const int)
0:52          'delta' ( temp uint)
0:52          Constant:
0:52            1 (const uint)
0:54      move second child to first child ( temp int)
0:54        direct index ( temp int)
0:54          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:54            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:54              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:54              'delta' ( temp uint)
0:54            Constant:
0:54              1 (const int)
0:54          Constant:
0:54            0 (const int)
0:54        subgroupClusteredRotate ( global int)
0:54          direct index ( temp int)
0:54            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:54              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:54                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:54                Constant:
0:54                  0 (const int)
0:54              Constant:
0:54                1 (const int)
0:54            Constant:
0:54              0 (const int)
0:54          'delta' ( temp uint)
0:54          Constant:
0:54            1 (const uint)
0:55      move second child to first child ( temp 2-component vector of int)
0:55        vector swizzle ( temp 2-component vector of int)
0:55          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:55            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:55              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:55              'delta' ( temp uint)
0:55            Constant:
0:55              1 (const int)
0:55          Sequence
0:55            Constant:
0:55              0 (const int)
0:55            Constant:
0:55              1 (const int)
0:55        subgroupClusteredRotate ( global 2-component vector of int)
0:55          vector swizzle ( temp 2-component vector of int)
0:55            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:55              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:55                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:55                Constant:
0:55                  1 (const int)
0:55              Constant:
0:55                1 (const int)
0:55            Sequence
0:55              Constant:
0:55                0 (const int)
0:55              Constant:
0:55                1 (const int)
0:55          'delta' ( temp uint)
0:55          Constant:
0:55            1 (const uint)
0:56      move second child to first child ( temp 3-component vector of int)
0:56        vector swizzle ( temp 3-component vector of int)
0:56          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:56            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:56              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:56              'delta' ( temp uint)
0:56            Constant:
0:56              1 (const int)
0:56          Sequence
0:56            Constant:
0:56              0 (const int)
0:56            Constant:
0:56              1 (const int)
0:56            Constant:
0:56              2 (const int)
0:56        subgroupClusteredRotate ( global 3-component vector of int)
0:56          vector swizzle ( temp 3-component vector of int)
0:56            i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:56              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:56                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:56                Constant:
0:56                  2 (const int)
0:56              Constant:
0:56                1 (const int)
0:56            Sequence
0:56              Constant:
0:56                0 (const int)
0:56              Constant:
0:56                1 (const int)
0:56              Constant:
0:56                2 (const int)
0:56          'delta' ( temp uint)
0:56          Constant:
0:56            1 (const uint)
0:57      move second child to first child ( temp 4-component vector of int)
0:57        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:57          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:57            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:57            'delta' ( temp uint)
0:57          Constant:
0:57            1 (const int)
0:57        subgroupClusteredRotate ( global 4-component vector of int)
0:57          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:57            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:57              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:57              Constant:
0:57                3 (const int)
0:57            Constant:
0:57              1 (const int)
0:57          'delta' ( temp uint)
0:57          Constant:
0:57            1 (const uint)
0:59      move second child to first child ( temp uint)
0:59        direct index ( temp uint)
0:59          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:59            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:59              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:59              'delta' ( temp uint)
0:59            Constant:
0:59              2 (const int)
0:59          Constant:
0:59            0 (const int)
0:59        subgroupClusteredRotate ( global uint)
0:59          direct index ( temp uint)
0:59            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:59              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:59                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:59                Constant:
0:59                  0 (const int)
0:59              Constant:
0:59                2 (const int)
0:59            Constant:
0:59              0 (const int)
0:59          'delta' ( temp uint)
0:59          Constant:
0:59            1 (const uint)
0:60      move second child to first child ( temp 2-component vector of uint)
0:60        vector swizzle ( temp 2-component vector of uint)
0:60          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:60            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:60              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:60              'delta' ( temp uint)
0:60            Constant:
0:60              2 (const int)
0:60          Sequence
0:60            Constant:
0:60              0 (const int)
0:60            Constant:
0:60              1 (const int)
0:60        subgroupClusteredRotate ( global 2-component vector of uint)
0:60          vector swizzle ( temp 2-component vector of uint)
0:60            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:60              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:60                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:60                Constant:
0:60                  1 (const int)
0:60              Constant:
0:60                2 (const int)
0:60            Sequence
0:60              Constant:
0:60                0 (const int)
0:60              Constant:
0:60                1 (const int)
0:60          'delta' ( temp uint)
0:60          Constant:
0:60            1 (const uint)
0:61      move second child to first child ( temp 3-component vector of uint)
0:61        vector swizzle ( temp 3-component vector of uint)
0:61          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:61            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:61              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:61              'delta' ( temp uint)
0:61            Constant:
0:61              2 (const int)
0:61          Sequence
0:61            Constant:
0:61              0 (const int)
0:61            Constant:
0:61              1 (const int)
0:61            Constant:
0:61              2 (const int)
0:61        subgroupClusteredRotate ( global 3-component vector of uint)
0:61          vector swizzle ( temp 3-component vector of uint)
0:61            u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:61              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:61                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:61                Constant:
0:61                  2 (const int)
0:61              Constant:
0:61                2 (const int)
0:61            Sequence
0:61              Constant:
0:61                0 (const int)
0:61              Constant:
0:61                1 (const int)
0:61              Constant:
0:61                2 (const int)
0:61          'delta' ( temp uint)
0:61          Constant:
0:61            1 (const uint)
0:62      move second child to first child ( temp 4-component vector of uint)
0:62        u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:62          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:62            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:62            'delta' ( temp uint)
0:62          Constant:
0:62            2 (const int)
0:62        subgroupClusteredRotate ( global 4-component vector of uint)
0:62          u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
0:62            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:62              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:62              Constant:
0:62                3 (const int)
0:62            Constant:
0:62              2 (const int)
0:62          'delta' ( temp uint)
0:62          Constant:
0:62            1 (const uint)
0:64      move second child to first child ( temp double)
0:64        direct index ( temp double)
0:64          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:64            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:64              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:64              'delta' ( temp uint)
0:64            Constant:
0:64              3 (const int)
0:64          Constant:
0:64            0 (const int)
0:64        subgroupClusteredRotate ( global double)
0:64          direct index ( temp double)
0:64            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:64              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:64                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:64                Constant:
0:64                  0 (const int)
0:64              Constant:
0:64                3 (const int)
0:64            Constant:
0:64              0 (const int)
0:64          'delta' ( temp uint)
0:64          Constant:
0:64            1 (const uint)
0:65      move second child to first child ( temp 2-component vector of double)
0:65        vector swizzle ( temp 2-component vector of double)
0:65          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:65            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:65              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:65              'delta' ( temp uint)
0:65            Constant:
0:65              3 (const int)
0:65          Sequence
0:65            Constant:
0:65              0 (const int)
0:65            Constant:
0:65              1 (const int)
0:65        subgroupClusteredRotate ( global 2-component vector of double)
0:65          vector swizzle ( temp 2-component vector of double)
0:65            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:65              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:65                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:65                Constant:
0:65                  1 (const int)
0:65              Constant:
0:65                3 (const int)
0:65            Sequence
0:65              Constant:
0:65                0 (const int)
0:65              Constant:
0:65                1 (const int)
0:65          'delta' ( temp uint)
0:65          Constant:
0:65            1 (const uint)
0:66      move second child to first child ( temp 3-component vector of double)
0:66        vector swizzle ( temp 3-component vector of double)
0:66          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:66            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:66              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:66              'delta' ( temp uint)
0:66            Constant:
0:66              3 (const int)
0:66          Sequence
0:66            Constant:
0:66              0 (const int)
0:66            Constant:
0:66              1 (const int)
0:66            Constant:
0:66              2 (const int)
0:66        subgroupClusteredRotate ( global 3-component vector of double)
0:66          vector swizzle ( temp 3-component vector of double)
0:66            d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:66              direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:66                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:66                Constant:
0:66                  2 (const int)
0:66              Constant:
0:66                3 (const int)
0:66            Sequence
0:66              Constant:
0:66                0 (const int)
0:66              Constant:
0:66                1 (const int)
0:66              Constant:
0:66                2 (const int)
0:66          'delta' ( temp uint)
0:66          Constant:
0:66            1 (const uint)
0:67      move second child to first child ( temp 4-component vector of double)
0:67        d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:67          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:67            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:67            'delta' ( temp uint)
0:67          Constant:
0:67            3 (const int)
0:67        subgroupClusteredRotate ( global 4-component vector of double)
0:67          d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
0:67            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:67              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:67              Constant:
0:67                3 (const int)
0:67            Constant:
0:67              3 (const int)
0:67          'delta' ( temp uint)
0:67          Constant:
0:67            1 (const uint)
0:69      move second child to first child ( temp int)
0:69        direct index ( temp int)
0:69          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:69            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:69              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:69              'delta' ( temp uint)
0:69            Constant:
0:69              1 (const int)
0:69          Constant:
0:69            0 (const int)
0:69        Convert bool to int ( temp int)
0:69          subgroupClusteredRotate ( global bool)
0:69            Compare Less Than ( temp bool)
0:69              direct index ( temp int)
0:69                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:69                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:69                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:69                    Constant:
0:69                      0 (const int)
0:69                  Constant:
0:69                    1 (const int)
0:69                Constant:
0:69                  0 (const int)
0:69              Constant:
0:69                0 (const int)
0:69            'delta' ( temp uint)
0:69            Constant:
0:69              1 (const uint)
0:70      move second child to first child ( temp 2-component vector of int)
0:70        vector swizzle ( temp 2-component vector of int)
0:70          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:70            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:70              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:70              'delta' ( temp uint)
0:70            Constant:
0:70              1 (const int)
0:70          Sequence
0:70            Constant:
0:70              0 (const int)
0:70            Constant:
0:70              1 (const int)
0:70        Convert bool to int ( temp 2-component vector of int)
0:70          subgroupClusteredRotate ( global 2-component vector of bool)
0:70            Compare Less Than ( global 2-component vector of bool)
0:70              vector swizzle ( temp 2-component vector of int)
0:70                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:70                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:70                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:70                    Constant:
0:70                      1 (const int)
0:70                  Constant:
0:70                    1 (const int)
0:70                Sequence
0:70                  Constant:
0:70                    0 (const int)
0:70                  Constant:
0:70                    1 (const int)
0:70              Constant:
0:70                0 (const int)
0:70                0 (const int)
0:70            'delta' ( temp uint)
0:70            Constant:
0:70              1 (const uint)
0:71      move second child to first child ( temp 3-component vector of int)
0:71        vector swizzle ( temp 3-component vector of int)
0:71          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:71            indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:71              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:71              'delta' ( temp uint)
0:71            Constant:
0:71              1 (const int)
0:71          Sequence
0:71            Constant:
0:71              0 (const int)
0:71            Constant:
0:71              1 (const int)
0:71            Constant:
0:71              2 (const int)
0:71        Convert bool to int ( temp 3-component vector of int)
0:71          subgroupClusteredRotate ( global 3-component vector of bool)
0:71            Compare Less Than ( global 3-component vector of bool)
0:71              vector swizzle ( temp 3-component vector of int)
0:71                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:71                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:71                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:71                    Constant:
0:71                      1 (const int)
0:71                  Constant:
0:71                    1 (const int)
0:71                Sequence
0:71                  Constant:
0:71                    0 (const int)
0:71                  Constant:
0:71                    1 (const int)
0:71                  Constant:
0:71                    2 (const int)
0:71              Constant:
0:71                0 (const int)
0:71                0 (const int)
0:71                0 (const int)
0:71            'delta' ( temp uint)
0:71            Constant:
0:71              1 (const uint)
0:72      move second child to first child ( temp 4-component vector of int)
0:72        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:72          indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:72            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:72            'delta' ( temp uint)
0:72          Constant:
0:72            1 (const int)
0:72        Convert bool to int ( temp 4-component vector of int)
0:72          subgroupClusteredRotate ( global 4-component vector of bool)
0:72            Compare Less Than ( global 4-component vector of bool)
0:72              i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
0:72                direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:72                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})
0:72                  Constant:
0:72                    1 (const int)
0:72                Constant:
0:72                  1 (const int)
0:72              Constant:
0:72                0 (const int)
0:72                0 (const int)
0:72                0 (const int)
0:72                0 (const int)
0:72            'delta' ( temp uint)
0:72            Constant:
0:72              1 (const uint)
0:?   Linker Objects
0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:?       8 (const uint)
0:?       8 (const uint)
0:?       1 (const uint)
0:?     'ro' (layout( column_major shared) readonly buffer block{layout( column_major shared) readonly buffer uint delta})
0:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4})

