spv.meshTaskShader.task // Module Version 10000 // Generated by (magic number): 80008 // Id's are bound by 116 Capability StorageImageWriteWithoutFormat Capability MeshShadingNV Extension "SPV_NV_mesh_shader" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint TaskNV 4 "main" 11 17 24 25 90 113 ExecutionMode 4 LocalSize 32 1 1 Source GLSL 450 SourceExtension "GL_NV_mesh_shader" Name 4 "main" Name 8 "iid" Name 11 "gl_LocalInvocationID" Name 16 "gid" Name 17 "gl_WorkGroupID" Name 20 "viewID" Name 24 "gl_MeshViewIndicesNV" Name 25 "gl_MeshViewCountNV" Name 30 "i" Name 44 "mem" Name 47 "block0" MemberName 47(block0) 0 "uni_value" Name 49 "" Name 65 "uni_image" Name 88 "Task" MemberName 88(Task) 0 "dummy" MemberName 88(Task) 1 "submesh" MemberName 88(Task) 2 "viewID" Name 90 "mytask" Name 113 "gl_TaskCountNV" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId Decorate 24(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV Decorate 25(gl_MeshViewCountNV) BuiltIn MeshViewCountNV MemberDecorate 47(block0) 0 Offset 0 Decorate 47(block0) Block Decorate 49 DescriptorSet 0 Decorate 49 Binding 0 Decorate 65(uni_image) DescriptorSet 0 Decorate 65(uni_image) Binding 0 Decorate 65(uni_image) NonReadable Decorate 87 ArrayStride 8 MemberDecorate 88(Task) 0 PerTaskNV MemberDecorate 88(Task) 0 Offset 0 MemberDecorate 88(Task) 1 PerTaskNV MemberDecorate 88(Task) 1 Offset 8 MemberDecorate 88(Task) 2 PerTaskNV MemberDecorate 88(Task) 2 Offset 32 Decorate 88(Task) Block Decorate 113(gl_TaskCountNV) BuiltIn TaskCountNV Decorate 115 BuiltIn WorkgroupSize 2: TypeVoid 3: TypeFunction 2 6: TypeInt 32 0 7: TypePointer Function 6(int) 9: TypeVector 6(int) 3 10: TypePointer Input 9(ivec3) 11(gl_LocalInvocationID): 10(ptr) Variable Input 12: 6(int) Constant 0 13: TypePointer Input 6(int) 17(gl_WorkGroupID): 10(ptr) Variable Input 21: 6(int) Constant 4 22: TypeArray 6(int) 21 23: TypePointer Input 22 24(gl_MeshViewIndicesNV): 23(ptr) Variable Input 25(gl_MeshViewCountNV): 13(ptr) Variable Input 37: 6(int) Constant 10 38: TypeBool 40: TypeFloat 32 41: TypeVector 40(float) 4 42: TypeArray 41(fvec4) 37 43: TypePointer Workgroup 42 44(mem): 43(ptr) Variable Workgroup 47(block0): TypeStruct 6(int) 48: TypePointer Uniform 47(block0) 49: 48(ptr) Variable Uniform 50: TypeInt 32 1 51: 50(int) Constant 0 52: TypePointer Uniform 6(int) 58: TypePointer Workgroup 41(fvec4) 61: 50(int) Constant 1 63: TypeImage 40(float) 2D nonsampled format:Unknown 64: TypePointer UniformConstant 63 65(uni_image): 64(ptr) Variable UniformConstant 69: TypeVector 50(int) 2 79: 6(int) Constant 1 83: 6(int) Constant 264 84: 6(int) Constant 2 85: TypeVector 40(float) 2 86: 6(int) Constant 3 87: TypeArray 85(fvec2) 86 88(Task): TypeStruct 85(fvec2) 87 6(int) 89: TypePointer Output 88(Task) 90(mytask): 89(ptr) Variable Output 91: 40(float) Constant 1106247680 92: 40(float) Constant 1106771968 93: 85(fvec2) ConstantComposite 91 92 94: TypePointer Output 85(fvec2) 96: 40(float) Constant 1107296256 97: 40(float) Constant 1107558400 98: 85(fvec2) ConstantComposite 96 97 100: 40(float) Constant 1107820544 101: 40(float) Constant 1108082688 102: 85(fvec2) ConstantComposite 100 101 104: 50(int) Constant 2 111: TypePointer Output 6(int) 113(gl_TaskCountNV): 111(ptr) Variable Output 114: 6(int) Constant 32 115: 9(ivec3) ConstantComposite 114 79 79 4(main): 2 Function None 3 5: Label 8(iid): 7(ptr) Variable Function 16(gid): 7(ptr) Variable Function 20(viewID): 7(ptr) Variable Function 30(i): 7(ptr) Variable Function 14: 13(ptr) AccessChain 11(gl_LocalInvocationID) 12 15: 6(int) Load 14 Store 8(iid) 15 18: 13(ptr) AccessChain 17(gl_WorkGroupID) 12 19: 6(int) Load 18 Store 16(gid) 19 26: 6(int) Load 25(gl_MeshViewCountNV) 27: 6(int) UMod 26 21 28: 13(ptr) AccessChain 24(gl_MeshViewIndicesNV) 27 29: 6(int) Load 28 Store 20(viewID) 29 Store 30(i) 12 Branch 31 31: Label LoopMerge 33 34 None Branch 35 35: Label 36: 6(int) Load 30(i) 39: 38(bool) ULessThan 36 37 BranchConditional 39 32 33 32: Label 45: 6(int) Load 30(i) 46: 6(int) Load 30(i) 53: 52(ptr) AccessChain 49 51 54: 6(int) Load 53 55: 6(int) IAdd 46 54 56: 40(float) ConvertUToF 55 57: 41(fvec4) CompositeConstruct 56 56 56 56 59: 58(ptr) AccessChain 44(mem) 45 Store 59 57 Branch 34 34: Label 60: 6(int) Load 30(i) 62: 6(int) IAdd 60 61 Store 30(i) 62 Branch 31 33: Label 66: 63 Load 65(uni_image) 67: 6(int) Load 8(iid) 68: 50(int) Bitcast 67 70: 69(ivec2) CompositeConstruct 68 68 71: 6(int) Load 16(gid) 72: 58(ptr) AccessChain 44(mem) 71 73: 41(fvec4) Load 72 ImageWrite 66 70 73 74: 63 Load 65(uni_image) 75: 6(int) Load 8(iid) 76: 50(int) Bitcast 75 77: 69(ivec2) CompositeConstruct 76 76 78: 6(int) Load 16(gid) 80: 6(int) IAdd 78 79 81: 58(ptr) AccessChain 44(mem) 80 82: 41(fvec4) Load 81 ImageWrite 74 77 82 MemoryBarrier 79 83 ControlBarrier 84 84 83 95: 94(ptr) AccessChain 90(mytask) 51 Store 95 93 99: 94(ptr) AccessChain 90(mytask) 61 51 Store 99 98 103: 94(ptr) AccessChain 90(mytask) 61 61 Store 103 102 105: 6(int) Load 16(gid) 106: 6(int) UMod 105 84 107: 94(ptr) AccessChain 90(mytask) 61 106 108: 85(fvec2) Load 107 109: 94(ptr) AccessChain 90(mytask) 61 104 Store 109 108 110: 6(int) Load 20(viewID) 112: 111(ptr) AccessChain 90(mytask) 104 Store 112 110 MemoryBarrier 79 83 ControlBarrier 84 84 83 Store 113(gl_TaskCountNV) 86 Return FunctionEnd