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