| 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 | |
| Decorate 8(Buffer) Block | |
| MemberDecorate 8(Buffer) 0 Offset 0 | |
| Decorate 10(data) Binding 0 | |
| Decorate 10(data) DescriptorSet 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 |