spv.subgroupBasic.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 40

                              Capability Shader
                              Capability GroupNonUniform
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main" 14 19 22 25
                              ExecutionMode 4 LocalSize 8 8 1
                              Source GLSL 450
                              SourceExtension  "GL_KHR_shader_subgroup_basic"
                              Name 4  "main"
                              Name 8  "Buffer"
                              MemberName 8(Buffer) 0  "a"
                              Name 10  "data"
                              Name 14  "gl_SubgroupSize"
                              Name 19  "gl_SubgroupInvocationID"
                              Name 22  "gl_NumSubgroups"
                              Name 25  "gl_SubgroupID"
                              Decorate 7 ArrayStride 4
                              MemberDecorate 8(Buffer) 0 Offset 0
                              Decorate 8(Buffer) Block
                              Decorate 10(data) DescriptorSet 0
                              Decorate 10(data) Binding 0
                              Decorate 14(gl_SubgroupSize) RelaxedPrecision
                              Decorate 14(gl_SubgroupSize) BuiltIn SubgroupSize
                              Decorate 15 RelaxedPrecision
                              Decorate 19(gl_SubgroupInvocationID) RelaxedPrecision
                              Decorate 19(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
                              Decorate 20 RelaxedPrecision
                              Decorate 22(gl_NumSubgroups) BuiltIn NumSubgroups
                              Decorate 25(gl_SubgroupID) BuiltIn SubgroupId
                              Decorate 39 BuiltIn WorkgroupSize
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypeRuntimeArray 6(int)
       8(Buffer):             TypeStruct 7
               9:             TypePointer StorageBuffer 8(Buffer)
        10(data):      9(ptr) Variable StorageBuffer
              11:      6(int) Constant 0
              12:             TypeInt 32 0
              13:             TypePointer Input 12(int)
14(gl_SubgroupSize):     13(ptr) Variable Input
              16:      6(int) Constant 1
              17:             TypePointer StorageBuffer 6(int)
19(gl_SubgroupInvocationID):     13(ptr) Variable Input
22(gl_NumSubgroups):     13(ptr) Variable Input
25(gl_SubgroupID):     13(ptr) Variable Input
              27:             TypeBool
              28:     12(int) Constant 3
              32:     12(int) Constant 3400
              33:     12(int) Constant 72
              34:     12(int) Constant 264
              35:     12(int) Constant 2056
              36:             TypeVector 12(int) 3
              37:     12(int) Constant 8
              38:     12(int) Constant 1
              39:   36(ivec3) ConstantComposite 37 37 38
         4(main):           2 Function None 3
               5:             Label
              15:     12(int) Load 14(gl_SubgroupSize)
              18:     17(ptr) AccessChain 10(data) 11 15
                              Store 18 16
              20:     12(int) Load 19(gl_SubgroupInvocationID)
              21:     17(ptr) AccessChain 10(data) 11 20
                              Store 21 16
              23:     12(int) Load 22(gl_NumSubgroups)
              24:     17(ptr) AccessChain 10(data) 11 23
                              Store 24 16
              26:     12(int) Load 25(gl_SubgroupID)
              29:    27(bool) GroupNonUniformElect 28
              30:      6(int) Select 29 16 11
              31:     17(ptr) AccessChain 10(data) 11 26
                              Store 31 30
                              ControlBarrier 28 28 32
                              MemoryBarrier 28 32
                              MemoryBarrier 28 33
                              MemoryBarrier 28 34
                              MemoryBarrier 28 35
                              Return
                              FunctionEnd
