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