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