1spv.subgroup.geom 2// Module Version 10300 3// Generated by (magic number): 8000b 4// Id's are bound by 26 5 6 Capability Geometry 7 Capability GroupNonUniform 8 1: ExtInstImport "GLSL.std.450" 9 MemoryModel Logical GLSL450 10 EntryPoint Geometry 4 "main" 15 18 20 11 ExecutionMode 4 InputPoints 12 ExecutionMode 4 Invocations 1 13 ExecutionMode 4 OutputPoints 14 ExecutionMode 4 OutputVertices 1 15 Source GLSL 450 16 SourceExtension "GL_KHR_shader_subgroup_basic" 17 Name 4 "main" 18 Name 9 "Output" 19 MemberName 9(Output) 0 "result" 20 Name 11 "" 21 Name 15 "gl_PrimitiveIDIn" 22 Name 18 "gl_SubgroupSize" 23 Name 20 "gl_SubgroupInvocationID" 24 Decorate 8 ArrayStride 16 25 MemberDecorate 9(Output) 0 Offset 0 26 Decorate 9(Output) Block 27 Decorate 11 DescriptorSet 0 28 Decorate 11 Binding 0 29 Decorate 15(gl_PrimitiveIDIn) BuiltIn PrimitiveId 30 Decorate 18(gl_SubgroupSize) RelaxedPrecision 31 Decorate 18(gl_SubgroupSize) BuiltIn SubgroupSize 32 Decorate 19 RelaxedPrecision 33 Decorate 20(gl_SubgroupInvocationID) RelaxedPrecision 34 Decorate 20(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId 35 Decorate 21 RelaxedPrecision 36 Decorate 23 RelaxedPrecision 37 2: TypeVoid 38 3: TypeFunction 2 39 6: TypeInt 32 0 40 7: TypeVector 6(int) 4 41 8: TypeRuntimeArray 7(ivec4) 42 9(Output): TypeStruct 8 43 10: TypePointer StorageBuffer 9(Output) 44 11: 10(ptr) Variable StorageBuffer 45 12: TypeInt 32 1 46 13: 12(int) Constant 0 47 14: TypePointer Input 12(int) 4815(gl_PrimitiveIDIn): 14(ptr) Variable Input 49 17: TypePointer Input 6(int) 5018(gl_SubgroupSize): 17(ptr) Variable Input 5120(gl_SubgroupInvocationID): 17(ptr) Variable Input 52 22: 6(int) Constant 0 53 24: TypePointer StorageBuffer 7(ivec4) 54 4(main): 2 Function None 3 55 5: Label 56 16: 12(int) Load 15(gl_PrimitiveIDIn) 57 19: 6(int) Load 18(gl_SubgroupSize) 58 21: 6(int) Load 20(gl_SubgroupInvocationID) 59 23: 7(ivec4) CompositeConstruct 19 21 22 22 60 25: 24(ptr) AccessChain 11 13 16 61 Store 25 23 62 Return 63 FunctionEnd 64