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