spv.meshTaskShader.task
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 116

                              Capability StorageImageWriteWithoutFormat
                              Capability MeshShadingNV
                              Extension  "SPV_NV_mesh_shader"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint TaskNV 4  "main" 11 17 24 25 90 113
                              ExecutionMode 4 LocalSize 32 1 1
                              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 20  "viewID"
                              Name 24  "gl_MeshViewIndicesNV"
                              Name 25  "gl_MeshViewCountNV"
                              Name 30  "i"
                              Name 44  "mem"
                              Name 47  "block0"
                              MemberName 47(block0) 0  "uni_value"
                              Name 49  ""
                              Name 65  "uni_image"
                              Name 88  "Task"
                              MemberName 88(Task) 0  "dummy"
                              MemberName 88(Task) 1  "submesh"
                              MemberName 88(Task) 2  "viewID"
                              Name 90  "mytask"
                              Name 113  "gl_TaskCountNV"
                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
                              Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
                              Decorate 24(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
                              Decorate 25(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
                              MemberDecorate 47(block0) 0 Offset 0
                              Decorate 47(block0) Block
                              Decorate 49 DescriptorSet 0
                              Decorate 49 Binding 0
                              Decorate 65(uni_image) DescriptorSet 0
                              Decorate 65(uni_image) Binding 0
                              Decorate 65(uni_image) NonReadable
                              Decorate 87 ArrayStride 8
                              MemberDecorate 88(Task) 0 PerTaskNV
                              MemberDecorate 88(Task) 0 Offset 0
                              MemberDecorate 88(Task) 1 PerTaskNV
                              MemberDecorate 88(Task) 1 Offset 8
                              MemberDecorate 88(Task) 2 PerTaskNV
                              MemberDecorate 88(Task) 2 Offset 32
                              Decorate 88(Task) Block
                              Decorate 113(gl_TaskCountNV) BuiltIn TaskCountNV
                              Decorate 115 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
              21:      6(int) Constant 4
              22:             TypeArray 6(int) 21
              23:             TypePointer Input 22
24(gl_MeshViewIndicesNV):     23(ptr) Variable Input
25(gl_MeshViewCountNV):     13(ptr) Variable Input
              37:      6(int) Constant 10
              38:             TypeBool
              40:             TypeFloat 32
              41:             TypeVector 40(float) 4
              42:             TypeArray 41(fvec4) 37
              43:             TypePointer Workgroup 42
         44(mem):     43(ptr) Variable Workgroup
      47(block0):             TypeStruct 6(int)
              48:             TypePointer Uniform 47(block0)
              49:     48(ptr) Variable Uniform
              50:             TypeInt 32 1
              51:     50(int) Constant 0
              52:             TypePointer Uniform 6(int)
              58:             TypePointer Workgroup 41(fvec4)
              61:     50(int) Constant 1
              63:             TypeImage 40(float) 2D nonsampled format:Unknown
              64:             TypePointer UniformConstant 63
   65(uni_image):     64(ptr) Variable UniformConstant
              69:             TypeVector 50(int) 2
              79:      6(int) Constant 1
              83:      6(int) Constant 264
              84:      6(int) Constant 2
              85:             TypeVector 40(float) 2
              86:      6(int) Constant 3
              87:             TypeArray 85(fvec2) 86
        88(Task):             TypeStruct 85(fvec2) 87 6(int)
              89:             TypePointer Output 88(Task)
      90(mytask):     89(ptr) Variable Output
              91:   40(float) Constant 1106247680
              92:   40(float) Constant 1106771968
              93:   85(fvec2) ConstantComposite 91 92
              94:             TypePointer Output 85(fvec2)
              96:   40(float) Constant 1107296256
              97:   40(float) Constant 1107558400
              98:   85(fvec2) ConstantComposite 96 97
             100:   40(float) Constant 1107820544
             101:   40(float) Constant 1108082688
             102:   85(fvec2) ConstantComposite 100 101
             104:     50(int) Constant 2
             111:             TypePointer Output 6(int)
113(gl_TaskCountNV):    111(ptr) Variable Output
             114:      6(int) Constant 32
             115:    9(ivec3) ConstantComposite 114 79 79
         4(main):           2 Function None 3
               5:             Label
          8(iid):      7(ptr) Variable Function
         16(gid):      7(ptr) Variable Function
      20(viewID):      7(ptr) Variable Function
           30(i):      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
              26:      6(int) Load 25(gl_MeshViewCountNV)
              27:      6(int) UMod 26 21
              28:     13(ptr) AccessChain 24(gl_MeshViewIndicesNV) 27
              29:      6(int) Load 28
                              Store 20(viewID) 29
                              Store 30(i) 12
                              Branch 31
              31:             Label
                              LoopMerge 33 34 None
                              Branch 35
              35:             Label
              36:      6(int) Load 30(i)
              39:    38(bool) ULessThan 36 37
                              BranchConditional 39 32 33
              32:               Label
              45:      6(int)   Load 30(i)
              46:      6(int)   Load 30(i)
              53:     52(ptr)   AccessChain 49 51
              54:      6(int)   Load 53
              55:      6(int)   IAdd 46 54
              56:   40(float)   ConvertUToF 55
              57:   41(fvec4)   CompositeConstruct 56 56 56 56
              59:     58(ptr)   AccessChain 44(mem) 45
                                Store 59 57
                                Branch 34
              34:               Label
              60:      6(int)   Load 30(i)
              62:      6(int)   IAdd 60 61
                                Store 30(i) 62
                                Branch 31
              33:             Label
              66:          63 Load 65(uni_image)
              67:      6(int) Load 8(iid)
              68:     50(int) Bitcast 67
              70:   69(ivec2) CompositeConstruct 68 68
              71:      6(int) Load 16(gid)
              72:     58(ptr) AccessChain 44(mem) 71
              73:   41(fvec4) Load 72
                              ImageWrite 66 70 73
              74:          63 Load 65(uni_image)
              75:      6(int) Load 8(iid)
              76:     50(int) Bitcast 75
              77:   69(ivec2) CompositeConstruct 76 76
              78:      6(int) Load 16(gid)
              80:      6(int) IAdd 78 79
              81:     58(ptr) AccessChain 44(mem) 80
              82:   41(fvec4) Load 81
                              ImageWrite 74 77 82
                              MemoryBarrier 79 83
                              ControlBarrier 84 84 83
              95:     94(ptr) AccessChain 90(mytask) 51
                              Store 95 93
              99:     94(ptr) AccessChain 90(mytask) 61 51
                              Store 99 98
             103:     94(ptr) AccessChain 90(mytask) 61 61
                              Store 103 102
             105:      6(int) Load 16(gid)
             106:      6(int) UMod 105 84
             107:     94(ptr) AccessChain 90(mytask) 61 106
             108:   85(fvec2) Load 107
             109:     94(ptr) AccessChain 90(mytask) 61 104
                              Store 109 108
             110:      6(int) Load 20(viewID)
             112:    111(ptr) AccessChain 90(mytask) 104
                              Store 112 110
                              MemoryBarrier 79 83
                              ControlBarrier 84 84 83
                              Store 113(gl_TaskCountNV) 86
                              Return
                              FunctionEnd
