1spv.ext.meshTaskShader.task 2// Module Version 10400 3// Generated by (magic number): 8000b 4// Id's are bound by 103 5 6 Capability StorageImageWriteWithoutFormat 7 Capability MeshShadingEXT 8 Extension "SPV_EXT_mesh_shader" 9 1: ExtInstImport "GLSL.std.450" 10 MemoryModel Logical GLSL450 11 EntryPoint TaskEXT 4 "main" 11 17 34 39 55 80 12 ExecutionMode 4 LocalSize 32 1 1 13 Source GLSL 450 14 SourceExtension "GL_EXT_mesh_shader" 15 Name 4 "main" 16 Name 8 "iid" 17 Name 11 "gl_LocalInvocationID" 18 Name 16 "gid" 19 Name 17 "gl_WorkGroupID" 20 Name 20 "i" 21 Name 34 "mem" 22 Name 37 "block0" 23 MemberName 37(block0) 0 "uni_value" 24 Name 39 "" 25 Name 55 "uni_image" 26 Name 78 "Task" 27 MemberName 78(Task) 0 "dummy" 28 MemberName 78(Task) 1 "submesh" 29 Name 80 "mytask" 30 Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId 31 Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId 32 Decorate 37(block0) Block 33 MemberDecorate 37(block0) 0 Offset 0 34 Decorate 39 Binding 1 35 Decorate 39 DescriptorSet 0 36 Decorate 55(uni_image) NonReadable 37 Decorate 55(uni_image) Binding 0 38 Decorate 55(uni_image) DescriptorSet 0 39 Decorate 102 BuiltIn WorkgroupSize 40 2: TypeVoid 41 3: TypeFunction 2 42 6: TypeInt 32 0 43 7: TypePointer Function 6(int) 44 9: TypeVector 6(int) 3 45 10: TypePointer Input 9(ivec3) 4611(gl_LocalInvocationID): 10(ptr) Variable Input 47 12: 6(int) Constant 0 48 13: TypePointer Input 6(int) 4917(gl_WorkGroupID): 10(ptr) Variable Input 50 27: 6(int) Constant 10 51 28: TypeBool 52 30: TypeFloat 32 53 31: TypeVector 30(float) 4 54 32: TypeArray 31(fvec4) 27 55 33: TypePointer Workgroup 32 56 34(mem): 33(ptr) Variable Workgroup 57 37(block0): TypeStruct 6(int) 58 38: TypePointer Uniform 37(block0) 59 39: 38(ptr) Variable Uniform 60 40: TypeInt 32 1 61 41: 40(int) Constant 0 62 42: TypePointer Uniform 6(int) 63 48: TypePointer Workgroup 31(fvec4) 64 51: 40(int) Constant 1 65 53: TypeImage 30(float) 2D nonsampled format:Unknown 66 54: TypePointer UniformConstant 53 67 55(uni_image): 54(ptr) Variable UniformConstant 68 59: TypeVector 40(int) 2 69 69: 6(int) Constant 1 70 73: 6(int) Constant 264 71 74: 6(int) Constant 2 72 75: TypeVector 30(float) 2 73 76: 6(int) Constant 3 74 77: TypeArray 75(fvec2) 76 75 78(Task): TypeStruct 75(fvec2) 77 76 79: TypePointer TaskPayloadWorkgroupEXT 78(Task) 77 80(mytask): 79(ptr) Variable TaskPayloadWorkgroupEXT 78 81: 30(float) Constant 1106247680 79 82: 30(float) Constant 1106771968 80 83: 75(fvec2) ConstantComposite 81 82 81 84: TypePointer TaskPayloadWorkgroupEXT 75(fvec2) 82 86: 30(float) Constant 1107296256 83 87: 30(float) Constant 1107558400 84 88: 75(fvec2) ConstantComposite 86 87 85 90: 30(float) Constant 1107820544 86 91: 30(float) Constant 1108082688 87 92: 75(fvec2) ConstantComposite 90 91 88 94: 40(int) Constant 2 89 101: 6(int) Constant 32 90 102: 9(ivec3) ConstantComposite 101 69 69 91 4(main): 2 Function None 3 92 5: Label 93 8(iid): 7(ptr) Variable Function 94 16(gid): 7(ptr) Variable Function 95 20(i): 7(ptr) Variable Function 96 14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12 97 15: 6(int) Load 14 98 Store 8(iid) 15 99 18: 13(ptr) AccessChain 17(gl_WorkGroupID) 12 100 19: 6(int) Load 18 101 Store 16(gid) 19 102 Store 20(i) 12 103 Branch 21 104 21: Label 105 LoopMerge 23 24 None 106 Branch 25 107 25: Label 108 26: 6(int) Load 20(i) 109 29: 28(bool) ULessThan 26 27 110 BranchConditional 29 22 23 111 22: Label 112 35: 6(int) Load 20(i) 113 36: 6(int) Load 20(i) 114 43: 42(ptr) AccessChain 39 41 115 44: 6(int) Load 43 116 45: 6(int) IAdd 36 44 117 46: 30(float) ConvertUToF 45 118 47: 31(fvec4) CompositeConstruct 46 46 46 46 119 49: 48(ptr) AccessChain 34(mem) 35 120 Store 49 47 121 Branch 24 122 24: Label 123 50: 6(int) Load 20(i) 124 52: 6(int) IAdd 50 51 125 Store 20(i) 52 126 Branch 21 127 23: Label 128 56: 53 Load 55(uni_image) 129 57: 6(int) Load 8(iid) 130 58: 40(int) Bitcast 57 131 60: 59(ivec2) CompositeConstruct 58 58 132 61: 6(int) Load 16(gid) 133 62: 48(ptr) AccessChain 34(mem) 61 134 63: 31(fvec4) Load 62 135 ImageWrite 56 60 63 136 64: 53 Load 55(uni_image) 137 65: 6(int) Load 8(iid) 138 66: 40(int) Bitcast 65 139 67: 59(ivec2) CompositeConstruct 66 66 140 68: 6(int) Load 16(gid) 141 70: 6(int) IAdd 68 69 142 71: 48(ptr) AccessChain 34(mem) 70 143 72: 31(fvec4) Load 71 144 ImageWrite 64 67 72 145 MemoryBarrier 69 73 146 ControlBarrier 74 74 73 147 85: 84(ptr) AccessChain 80(mytask) 41 148 Store 85 83 149 89: 84(ptr) AccessChain 80(mytask) 51 41 150 Store 89 88 151 93: 84(ptr) AccessChain 80(mytask) 51 51 152 Store 93 92 153 95: 6(int) Load 16(gid) 154 96: 6(int) UMod 95 74 155 97: 84(ptr) AccessChain 80(mytask) 51 96 156 98: 75(fvec2) Load 97 157 99: 84(ptr) AccessChain 80(mytask) 51 94 158 Store 99 98 159 MemoryBarrier 69 73 160 ControlBarrier 74 74 73 161 EmitMeshTasksEXT 76 69 69 80(mytask) 162 FunctionEnd 163