spv.meshShaderPerViewUserDefined.mesh
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 90

                              Capability MeshShadingNV
                              Extension  "SPV_NV_mesh_shader"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint MeshNV 4  "main" 11 20 21 35 67
                              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  "viewID"
                              Name 20  "gl_MeshViewIndicesNV"
                              Name 21  "gl_MeshViewCountNV"
                              Name 31  "block"
                              MemberName 31(block) 0  "color1"
                              MemberName 31(block) 1  "color2"
                              MemberName 31(block) 2  "color3"
                              MemberName 31(block) 3  "color4"
                              Name 35  "b"
                              Name 64  "perviewBlock"
                              MemberName 64(perviewBlock) 0  "color5"
                              MemberName 64(perviewBlock) 1  "color6"
                              MemberName 64(perviewBlock) 2  "color7"
                              MemberName 64(perviewBlock) 3  "color8"
                              Name 67  "b2"
                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
                              Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
                              Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
                              MemberDecorate 31(block) 0 PerPrimitiveNV
                              MemberDecorate 31(block) 0 PerViewNV
                              MemberDecorate 31(block) 1 PerPrimitiveNV
                              MemberDecorate 31(block) 2 PerViewNV
                              Decorate 31(block) Block
                              Decorate 35(b) Location 0
                              MemberDecorate 64(perviewBlock) 0 PerPrimitiveNV
                              MemberDecorate 64(perviewBlock) 0 PerViewNV
                              MemberDecorate 64(perviewBlock) 1 PerPrimitiveNV
                              MemberDecorate 64(perviewBlock) 1 PerViewNV
                              MemberDecorate 64(perviewBlock) 2 PerViewNV
                              MemberDecorate 64(perviewBlock) 3 PerViewNV
                              Decorate 64(perviewBlock) Block
                              Decorate 67(b2) Location 10
                              Decorate 89 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:      6(int) Constant 4
              18:             TypeArray 6(int) 17
              19:             TypePointer Input 18
20(gl_MeshViewIndicesNV):     19(ptr) Variable Input
21(gl_MeshViewCountNV):     13(ptr) Variable Input
              26:             TypeFloat 32
              27:             TypeVector 26(float) 4
              28:      6(int) Constant 3
              29:             TypeArray 27(fvec4) 28
              30:             TypeArray 29 17
       31(block):             TypeStruct 30 29 30 27(fvec4)
              32:      6(int) Constant 81
              33:             TypeArray 31(block) 32
              34:             TypePointer Output 33
           35(b):     34(ptr) Variable Output
              37:             TypeInt 32 1
              38:     37(int) Constant 0
              40:     37(int) Constant 2
              41:   26(float) Constant 1065353216
              42:   27(fvec4) ConstantComposite 41 41 41 41
              43:             TypePointer Output 27(fvec4)
              46:     37(int) Constant 1
              47:   26(float) Constant 1073741824
              48:   27(fvec4) ConstantComposite 47 47 47 47
              52:   26(float) Constant 1077936128
              53:   27(fvec4) ConstantComposite 52 52 52 52
              56:     37(int) Constant 3
              57:   26(float) Constant 1082130432
              58:   27(fvec4) ConstantComposite 57 57 57 57
              60:      6(int) Constant 1
              61:      6(int) Constant 264
              62:      6(int) Constant 2
              63:             TypeArray 27(fvec4) 17
64(perviewBlock):             TypeStruct 63 30 30 63
              65:             TypeArray 64(perviewBlock) 32
              66:             TypePointer Output 65
          67(b2):     66(ptr) Variable Output
              70:   26(float) Constant 1084227584
              71:   27(fvec4) ConstantComposite 70 70 70 70
              75:   26(float) Constant 1086324736
              76:   27(fvec4) ConstantComposite 75 75 75 75
              80:   26(float) Constant 1088421888
              81:   27(fvec4) ConstantComposite 80 80 80 80
              85:   26(float) Constant 1090519040
              86:   27(fvec4) ConstantComposite 85 85 85 85
              88:      6(int) Constant 32
              89:    9(ivec3) ConstantComposite 88 60 60
         4(main):           2 Function None 3
               5:             Label
          8(iid):      7(ptr) Variable Function
      16(viewID):      7(ptr) Variable Function
              14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
              15:      6(int) Load 14
                              Store 8(iid) 15
              22:      6(int) Load 21(gl_MeshViewCountNV)
              23:      6(int) UMod 22 17
              24:     13(ptr) AccessChain 20(gl_MeshViewIndicesNV) 23
              25:      6(int) Load 24
                              Store 16(viewID) 25
              36:      6(int) Load 8(iid)
              39:      6(int) Load 16(viewID)
              44:     43(ptr) AccessChain 35(b) 36 38 39 40
                              Store 44 42
              45:      6(int) Load 8(iid)
              49:     43(ptr) AccessChain 35(b) 45 46 46
                              Store 49 48
              50:      6(int) Load 8(iid)
              51:      6(int) Load 16(viewID)
              54:     43(ptr) AccessChain 35(b) 50 40 51 40
                              Store 54 53
              55:      6(int) Load 8(iid)
              59:     43(ptr) AccessChain 35(b) 55 56
                              Store 59 58
                              MemoryBarrier 60 61
                              ControlBarrier 62 62 61
              68:      6(int) Load 8(iid)
              69:      6(int) Load 16(viewID)
              72:     43(ptr) AccessChain 67(b2) 68 38 69
                              Store 72 71
              73:      6(int) Load 8(iid)
              74:      6(int) Load 16(viewID)
              77:     43(ptr) AccessChain 67(b2) 73 46 74 46
                              Store 77 76
              78:      6(int) Load 8(iid)
              79:      6(int) Load 16(viewID)
              82:     43(ptr) AccessChain 67(b2) 78 40 79 40
                              Store 82 81
              83:      6(int) Load 8(iid)
              84:      6(int) Load 16(viewID)
              87:     43(ptr) AccessChain 67(b2) 83 56 84
                              Store 87 86
                              MemoryBarrier 60 61
                              ControlBarrier 62 62 61
                              Return
                              FunctionEnd
