glsl.450.subgroupBasic.comp
Shader version: 450
Requested GL_KHR_shader_subgroup_basic
local_size = (8, 8, 1)
0:? Sequence
0:12  Function Definition: main( ( global void)
0:12    Function Parameters: 
0:14    Sequence
0:14      move second child to first child ( temp int)
0:14        indirect index (layout( column_major shared) temp int)
0:14          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:14            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:14            Constant:
0:14              0 (const int)
0:14          'gl_SubgroupSize' ( in uint unknown built-in variable)
0:14        Constant:
0:14          1 (const int)
0:15      move second child to first child ( temp int)
0:15        indirect index (layout( column_major shared) temp int)
0:15          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:15            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:15            Constant:
0:15              0 (const int)
0:15          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:15        Constant:
0:15          1 (const int)
0:16      move second child to first child ( temp int)
0:16        indirect index (layout( column_major shared) temp int)
0:16          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:16            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:16            Constant:
0:16              0 (const int)
0:16          'gl_NumSubgroups' ( in uint unknown built-in variable)
0:16        Constant:
0:16          1 (const int)
0:17      move second child to first child ( temp int)
0:17        indirect index (layout( column_major shared) temp int)
0:17          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:17            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:17            Constant:
0:17              0 (const int)
0:17          'gl_SubgroupID' ( in uint unknown built-in variable)
0:17        Test condition and select ( temp int)
0:17          Condition
0:17          subgroupElect ( global bool)
0:17          true case
0:17          Constant:
0:17            1 (const int)
0:17          false case
0:17          Constant:
0:17            0 (const int)
0:18      subgroupBarrier ( global void)
0:19      subgroupMemoryBarrier ( global void)
0:20      subgroupMemoryBarrierBuffer ( global void)
0:21      subgroupMemoryBarrierShared ( global void)
0:22      subgroupMemoryBarrierImage ( global void)
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:?     'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})


Linked compute stage:


Shader version: 450
Requested GL_KHR_shader_subgroup_basic
local_size = (8, 8, 1)
0:? Sequence
0:12  Function Definition: main( ( global void)
0:12    Function Parameters: 
0:14    Sequence
0:14      move second child to first child ( temp int)
0:14        indirect index (layout( column_major shared) temp int)
0:14          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:14            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:14            Constant:
0:14              0 (const int)
0:14          'gl_SubgroupSize' ( in uint unknown built-in variable)
0:14        Constant:
0:14          1 (const int)
0:15      move second child to first child ( temp int)
0:15        indirect index (layout( column_major shared) temp int)
0:15          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:15            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:15            Constant:
0:15              0 (const int)
0:15          'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
0:15        Constant:
0:15          1 (const int)
0:16      move second child to first child ( temp int)
0:16        indirect index (layout( column_major shared) temp int)
0:16          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:16            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:16            Constant:
0:16              0 (const int)
0:16          'gl_NumSubgroups' ( in uint unknown built-in variable)
0:16        Constant:
0:16          1 (const int)
0:17      move second child to first child ( temp int)
0:17        indirect index (layout( column_major shared) temp int)
0:17          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of int)
0:17            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
0:17            Constant:
0:17              0 (const int)
0:17          'gl_SubgroupID' ( in uint unknown built-in variable)
0:17        Test condition and select ( temp int)
0:17          Condition
0:17          subgroupElect ( global bool)
0:17          true case
0:17          Constant:
0:17            1 (const int)
0:17          false case
0:17          Constant:
0:17            0 (const int)
0:18      subgroupBarrier ( global void)
0:19      subgroupMemoryBarrier ( global void)
0:20      subgroupMemoryBarrierBuffer ( global void)
0:21      subgroupMemoryBarrierShared ( global void)
0:22      subgroupMemoryBarrierImage ( global void)
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:?     'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})

