glsl.es320.subgroupBasic.comp
Shader version: 320
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 highp int)
0:14        indirect index (layout( column_major shared) temp highp int)
0:14          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
0:14            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:14            Constant:
0:14              0 (const int)
0:14          'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:14        Constant:
0:14          1 (const int)
0:15      move second child to first child ( temp highp int)
0:15        indirect index (layout( column_major shared) temp highp int)
0:15          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
0:15            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:15            Constant:
0:15              0 (const int)
0:15          'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:15        Constant:
0:15          1 (const int)
0:16      move second child to first child ( temp highp int)
0:16        indirect index (layout( column_major shared) temp highp int)
0:16          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
0:16            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:16            Constant:
0:16              0 (const int)
0:16          'gl_NumSubgroups' ( in highp uint NumSubgroups)
0:16        Constant:
0:16          1 (const int)
0:17      move second child to first child ( temp highp int)
0:17        indirect index (layout( column_major shared) temp highp int)
0:17          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
0:17            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:17            Constant:
0:17              0 (const int)
0:17          'gl_SubgroupID' ( in highp uint SubgroupID)
0:17        Test condition and select ( temp highp 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 highp 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 highp int a})


Linked compute stage:


Shader version: 320
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 highp int)
0:14        indirect index (layout( column_major shared) temp highp int)
0:14          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
0:14            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:14            Constant:
0:14              0 (const int)
0:14          'gl_SubgroupSize' ( in mediump uint SubgroupSize)
0:14        Constant:
0:14          1 (const int)
0:15      move second child to first child ( temp highp int)
0:15        indirect index (layout( column_major shared) temp highp int)
0:15          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
0:15            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:15            Constant:
0:15              0 (const int)
0:15          'gl_SubgroupInvocationID' ( in mediump uint SubgroupInvocationID)
0:15        Constant:
0:15          1 (const int)
0:16      move second child to first child ( temp highp int)
0:16        indirect index (layout( column_major shared) temp highp int)
0:16          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
0:16            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:16            Constant:
0:16              0 (const int)
0:16          'gl_NumSubgroups' ( in highp uint NumSubgroups)
0:16        Constant:
0:16          1 (const int)
0:17      move second child to first child ( temp highp int)
0:17        indirect index (layout( column_major shared) temp highp int)
0:17          a: direct index for structure (layout( column_major shared) buffer runtime-sized array of highp int)
0:17            'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of highp int a})
0:17            Constant:
0:17              0 (const int)
0:17          'gl_SubgroupID' ( in highp uint SubgroupID)
0:17        Test condition and select ( temp highp 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 highp 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 highp int a})

