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