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