spv.meshShaderUserDefined.mesh // Module Version 10000 // Generated by (magic number): 8000a // Id's are bound by 138 Capability MeshShadingNV Extension "SPV_NV_mesh_shader" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint MeshNV 4 "main" 11 17 34 101 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 97 "myblock2" MemberName 97(myblock2) 0 "f" MemberName 97(myblock2) 1 "pos" MemberName 97(myblock2) 2 "m" Name 101 "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 97(myblock2) Block Decorate 101(blk2) Location 20 Decorate 137 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 68: TypePointer Output 24(fvec4) 74: 36(int) Constant 4 75: 20(float) Constant 1098907648 76: 24(fvec4) ConstantComposite 55 53 54 75 81: 36(int) Constant 5 84: 6(int) Constant 3 91: 20(float) Constant 1099431936 92: 20(float) Constant 1099956224 93: 20(float) Constant 1100480512 94: 23(fvec3) ConstantComposite 91 92 93 96: 6(int) Constant 264 97(myblock2): TypeStruct 20(float) 24(fvec4) 26 98: 6(int) Constant 81 99: TypeArray 97(myblock2) 98 100: TypePointer Output 99 101(blk2): 100(ptr) Variable Output 107: 20(float) Constant 1101004800 111: 20(float) Constant 1101529088 112: 20(float) Constant 1102053376 113: 20(float) Constant 1102577664 114: 20(float) Constant 1103101952 115: 24(fvec4) ConstantComposite 111 112 113 114 127: 20(float) Constant 1105723392 137: 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 69: 68(ptr) AccessChain 34(blk) 62 63 44 70: 24(fvec4) Load 69 71: 24(fvec4) VectorShuffle 70 67 0 4 5 6 Store 69 71 72: 6(int) Load 8(iid) 73: 6(int) UDiv 72 21 77: 68(ptr) AccessChain 34(blk) 73 74 52 78: 24(fvec4) Load 77 79: 24(fvec4) VectorShuffle 78 76 7 6 5 4 Store 77 79 80: 6(int) Load 8(iid) 82: 6(int) Load 8(iid) 83: 6(int) UDiv 82 21 85: 39(ptr) AccessChain 34(blk) 83 74 52 84 86: 20(float) Load 85 87: 39(ptr) AccessChain 34(blk) 80 81 37 44 42 Store 87 86 88: 6(int) Load 8(iid) 89: 6(int) IMul 88 21 90: 6(int) Load 16(gid) 95: 57(ptr) AccessChain 34(blk) 89 81 44 90 Store 95 94 MemoryBarrier 42 96 ControlBarrier 28 28 96 102: 6(int) Load 8(iid) 103: 6(int) Load 8(iid) 104: 6(int) ISub 103 42 105: 39(ptr) AccessChain 101(blk2) 104 37 106: 20(float) Load 105 108: 20(float) FAdd 106 107 109: 39(ptr) AccessChain 101(blk2) 102 37 Store 109 108 110: 6(int) Load 8(iid) 116: 68(ptr) AccessChain 101(blk2) 110 44 Store 116 115 117: 6(int) Load 8(iid) 118: 6(int) IAdd 117 42 119: 6(int) Load 16(gid) 120: 6(int) Load 8(iid) 121: 68(ptr) AccessChain 101(blk2) 120 44 122: 24(fvec4) Load 121 123: 68(ptr) AccessChain 101(blk2) 118 52 119 Store 123 122 124: 6(int) Load 8(iid) 125: 6(int) IAdd 124 42 126: 6(int) Load 16(gid) 128: 39(ptr) AccessChain 101(blk2) 125 52 126 28 Store 128 127 129: 6(int) Load 8(iid) 130: 6(int) IAdd 129 28 131: 6(int) Load 8(iid) 132: 6(int) IAdd 131 42 133: 6(int) Load 16(gid) 134: 68(ptr) AccessChain 101(blk2) 132 52 133 135: 24(fvec4) Load 134 136: 68(ptr) AccessChain 101(blk2) 130 52 63 Store 136 135 MemoryBarrier 42 96 ControlBarrier 28 28 96 Return FunctionEnd