spv.meshShaderUserDefined.mesh // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 141 Capability MeshShadingNV Extension "SPV_NV_mesh_shader" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint MeshNV 4 "main" 11 17 34 104 ExecutionMode 4 LocalSize 32 1 1 ExecutionMode 4 OutputVertices 81 ExecutionMode 4 OutputPrimitivesNV 32 ExecutionMode 4 OutputTrianglesNV 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 30 "myblock" MemberName 30(myblock) 0 "f" MemberName 30(myblock) 1 "fArr" MemberName 30(myblock) 2 "pos" MemberName 30(myblock) 3 "posArr" MemberName 30(myblock) 4 "m" MemberName 30(myblock) 5 "mArr" Name 34 "blk" Name 100 "myblock2" MemberName 100(myblock2) 0 "f" MemberName 100(myblock2) 1 "pos" MemberName 100(myblock2) 2 "m" Name 104 "blk2" Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId MemberDecorate 30(myblock) 0 PerPrimitiveNV MemberDecorate 30(myblock) 1 PerPrimitiveNV MemberDecorate 30(myblock) 2 PerPrimitiveNV MemberDecorate 30(myblock) 3 PerPrimitiveNV MemberDecorate 30(myblock) 4 PerPrimitiveNV MemberDecorate 30(myblock) 5 PerPrimitiveNV Decorate 30(myblock) Block Decorate 34(blk) Location 0 Decorate 100(myblock2) Block Decorate 104(blk2) Location 20 Decorate 140 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 20: TypeFloat 32 21: 6(int) Constant 4 22: TypeArray 20(float) 21 23: TypeVector 20(float) 3 24: TypeVector 20(float) 4 25: TypeArray 24(fvec4) 21 26: TypeMatrix 24(fvec4) 4 27: TypeMatrix 23(fvec3) 3 28: 6(int) Constant 2 29: TypeArray 27 28 30(myblock): TypeStruct 20(float) 22 23(fvec3) 25 26 29 31: 6(int) Constant 32 32: TypeArray 30(myblock) 31 33: TypePointer Output 32 34(blk): 33(ptr) Variable Output 36: TypeInt 32 1 37: 36(int) Constant 0 38: 20(float) Constant 1093664768 39: TypePointer Output 20(float) 42: 6(int) Constant 1 44: 36(int) Constant 1 52: 36(int) Constant 2 53: 20(float) Constant 1096810496 54: 20(float) Constant 1097859072 55: 20(float) Constant 1095761920 56: 23(fvec3) ConstantComposite 53 54 55 57: TypePointer Output 23(fvec3) 63: 36(int) Constant 3 72: 6(int) Constant 3 77: 36(int) Constant 4 78: 20(float) Constant 1098907648 79: 24(fvec4) ConstantComposite 55 53 54 78 80: TypePointer Output 24(fvec4) 85: 36(int) Constant 5 94: 20(float) Constant 1099431936 95: 20(float) Constant 1099956224 96: 20(float) Constant 1100480512 97: 23(fvec3) ConstantComposite 94 95 96 99: 6(int) Constant 264 100(myblock2): TypeStruct 20(float) 24(fvec4) 26 101: 6(int) Constant 81 102: TypeArray 100(myblock2) 101 103: TypePointer Output 102 104(blk2): 103(ptr) Variable Output 110: 20(float) Constant 1101004800 114: 20(float) Constant 1101529088 115: 20(float) Constant 1102053376 116: 20(float) Constant 1102577664 117: 20(float) Constant 1103101952 118: 24(fvec4) ConstantComposite 114 115 116 117 130: 20(float) Constant 1105723392 140: 9(ivec3) ConstantComposite 31 42 42 4(main): 2 Function None 3 5: Label 8(iid): 7(ptr) Variable Function 16(gid): 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 35: 6(int) Load 8(iid) 40: 39(ptr) AccessChain 34(blk) 35 37 Store 40 38 41: 6(int) Load 8(iid) 43: 6(int) IAdd 41 42 45: 6(int) Load 16(gid) 46: 6(int) Load 8(iid) 47: 39(ptr) AccessChain 34(blk) 46 37 48: 20(float) Load 47 49: 39(ptr) AccessChain 34(blk) 43 44 45 Store 49 48 50: 6(int) Load 8(iid) 51: 6(int) UDiv 50 28 58: 57(ptr) AccessChain 34(blk) 51 52 59: 23(fvec3) Load 58 60: 23(fvec3) VectorShuffle 59 56 5 3 4 Store 58 60 61: 6(int) Load 8(iid) 62: 6(int) IMul 61 28 64: 6(int) Load 8(iid) 65: 6(int) UDiv 64 28 66: 57(ptr) AccessChain 34(blk) 65 52 67: 23(fvec3) Load 66 68: 39(ptr) AccessChain 34(blk) 62 63 44 42 69: 20(float) CompositeExtract 67 0 Store 68 69 70: 39(ptr) AccessChain 34(blk) 62 63 44 28 71: 20(float) CompositeExtract 67 1 Store 70 71 73: 39(ptr) AccessChain 34(blk) 62 63 44 72 74: 20(float) CompositeExtract 67 2 Store 73 74 75: 6(int) Load 8(iid) 76: 6(int) UDiv 75 21 81: 80(ptr) AccessChain 34(blk) 76 77 52 82: 24(fvec4) Load 81 83: 24(fvec4) VectorShuffle 82 79 7 6 5 4 Store 81 83 84: 6(int) Load 8(iid) 86: 6(int) Load 8(iid) 87: 6(int) UDiv 86 21 88: 39(ptr) AccessChain 34(blk) 87 77 52 72 89: 20(float) Load 88 90: 39(ptr) AccessChain 34(blk) 84 85 37 44 42 Store 90 89 91: 6(int) Load 8(iid) 92: 6(int) IMul 91 21 93: 6(int) Load 16(gid) 98: 57(ptr) AccessChain 34(blk) 92 85 44 93 Store 98 97 MemoryBarrier 42 99 ControlBarrier 28 28 99 105: 6(int) Load 8(iid) 106: 6(int) Load 8(iid) 107: 6(int) ISub 106 42 108: 39(ptr) AccessChain 104(blk2) 107 37 109: 20(float) Load 108 111: 20(float) FAdd 109 110 112: 39(ptr) AccessChain 104(blk2) 105 37 Store 112 111 113: 6(int) Load 8(iid) 119: 80(ptr) AccessChain 104(blk2) 113 44 Store 119 118 120: 6(int) Load 8(iid) 121: 6(int) IAdd 120 42 122: 6(int) Load 16(gid) 123: 6(int) Load 8(iid) 124: 80(ptr) AccessChain 104(blk2) 123 44 125: 24(fvec4) Load 124 126: 80(ptr) AccessChain 104(blk2) 121 52 122 Store 126 125 127: 6(int) Load 8(iid) 128: 6(int) IAdd 127 42 129: 6(int) Load 16(gid) 131: 39(ptr) AccessChain 104(blk2) 128 52 129 28 Store 131 130 132: 6(int) Load 8(iid) 133: 6(int) IAdd 132 28 134: 6(int) Load 8(iid) 135: 6(int) IAdd 134 42 136: 6(int) Load 16(gid) 137: 80(ptr) AccessChain 104(blk2) 135 52 136 138: 24(fvec4) Load 137 139: 80(ptr) AccessChain 104(blk2) 133 52 63 Store 139 138 MemoryBarrier 42 99 ControlBarrier 28 28 99 Return FunctionEnd