spv.subgroupBasic.comp // Module Version 10300 // Generated by (magic number): 8000a // 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