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
