spv.320.meshShaderUserDefined.mesh
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 143

                              Capability MeshShadingNV
                              Extension  "SPV_NV_mesh_shader"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint MeshNV 4  "main" 12 19 37 106
                              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 102  "myblock2"
                              MemberName 102(myblock2) 0  "f"
                              MemberName 102(myblock2) 1  "pos"
                              MemberName 102(myblock2) 2  "m"
                              Name 106  "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 102(myblock2) Block
                              Decorate 106(blk2) Location 20
                              Decorate 142 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:      9(int) Constant 1
              74:      9(int) Constant 3
              78:      6(int) Constant 4
              80:   23(float) Constant 1098907648
              81:   27(fvec4) ConstantComposite 56 54 55 80
              82:             TypePointer Output 27(fvec4)
              87:      6(int) Constant 5
              96:   23(float) Constant 1099431936
              97:   23(float) Constant 1099956224
              98:   23(float) Constant 1100480512
              99:   26(fvec3) ConstantComposite 96 97 98
             101:      9(int) Constant 264
   102(myblock2):             TypeStruct 23(float) 27(fvec4) 29
             103:      9(int) Constant 81
             104:             TypeArray 102(myblock2) 103
             105:             TypePointer Output 104
       106(blk2):    105(ptr) Variable Output
             112:   23(float) Constant 1101004800
             116:   23(float) Constant 1101529088
             117:   23(float) Constant 1102053376
             118:   23(float) Constant 1102577664
             119:   23(float) Constant 1103101952
             120:   27(fvec4) ConstantComposite 116 117 118 119
             132:   23(float) Constant 1105723392
             142:   10(ivec3) ConstantComposite 34 69 69
         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:     41(ptr) AccessChain 37(blk) 63 64 44 69
              71:   23(float) CompositeExtract 68 0
                              Store 70 71
              72:     41(ptr) AccessChain 37(blk) 63 64 44 31
              73:   23(float) CompositeExtract 68 1
                              Store 72 73
              75:     41(ptr) AccessChain 37(blk) 63 64 44 74
              76:   23(float) CompositeExtract 68 2
                              Store 75 76
              77:      6(int) Load 8(iid)
              79:      6(int) SDiv 77 78
              83:     82(ptr) AccessChain 37(blk) 79 78 52
              84:   27(fvec4) Load 83
              85:   27(fvec4) VectorShuffle 84 81 7 6 5 4
                              Store 83 85
              86:      6(int) Load 8(iid)
              88:      6(int) Load 8(iid)
              89:      6(int) SDiv 88 78
              90:     41(ptr) AccessChain 37(blk) 89 78 52 74
              91:   23(float) Load 90
              92:     41(ptr) AccessChain 37(blk) 86 87 39 44 69
                              Store 92 91
              93:      6(int) Load 8(iid)
              94:      6(int) IMul 93 78
              95:      6(int) Load 18(gid)
             100:     58(ptr) AccessChain 37(blk) 94 87 44 95
                              Store 100 99
                              MemoryBarrier 69 101
                              ControlBarrier 31 31 101
             107:      6(int) Load 8(iid)
             108:      6(int) Load 8(iid)
             109:      6(int) ISub 108 44
             110:     41(ptr) AccessChain 106(blk2) 109 39
             111:   23(float) Load 110
             113:   23(float) FAdd 111 112
             114:     41(ptr) AccessChain 106(blk2) 107 39
                              Store 114 113
             115:      6(int) Load 8(iid)
             121:     82(ptr) AccessChain 106(blk2) 115 44
                              Store 121 120
             122:      6(int) Load 8(iid)
             123:      6(int) IAdd 122 44
             124:      6(int) Load 18(gid)
             125:      6(int) Load 8(iid)
             126:     82(ptr) AccessChain 106(blk2) 125 44
             127:   27(fvec4) Load 126
             128:     82(ptr) AccessChain 106(blk2) 123 52 124
                              Store 128 127
             129:      6(int) Load 8(iid)
             130:      6(int) IAdd 129 44
             131:      6(int) Load 18(gid)
             133:     41(ptr) AccessChain 106(blk2) 130 52 131 31
                              Store 133 132
             134:      6(int) Load 8(iid)
             135:      6(int) IAdd 134 52
             136:      6(int) Load 8(iid)
             137:      6(int) IAdd 136 44
             138:      6(int) Load 18(gid)
             139:     82(ptr) AccessChain 106(blk2) 137 52 138
             140:   27(fvec4) Load 139
             141:     82(ptr) AccessChain 106(blk2) 135 52 64
                              Store 141 140
                              MemoryBarrier 69 101
                              ControlBarrier 31 31 101
                              Return
                              FunctionEnd
