1spv.320.meshShaderUserDefined.mesh
2// Module Version 10000
3// Generated by (magic number): 8000b
4// Id's are bound by 143
5
6                              Capability MeshShadingNV
7                              Extension  "SPV_NV_mesh_shader"
8               1:             ExtInstImport  "GLSL.std.450"
9                              MemoryModel Logical GLSL450
10                              EntryPoint MeshNV 4  "main" 12 19 37 106
11                              ExecutionMode 4 LocalSize 32 1 1
12                              ExecutionMode 4 OutputVertices 81
13                              ExecutionMode 4 OutputPrimitivesNV 32
14                              ExecutionMode 4 OutputTrianglesNV
15                              Source ESSL 320
16                              SourceExtension  "GL_NV_mesh_shader"
17                              Name 4  "main"
18                              Name 8  "iid"
19                              Name 12  "gl_LocalInvocationID"
20                              Name 18  "gid"
21                              Name 19  "gl_WorkGroupID"
22                              Name 33  "myblock"
23                              MemberName 33(myblock) 0  "f"
24                              MemberName 33(myblock) 1  "fArr"
25                              MemberName 33(myblock) 2  "pos"
26                              MemberName 33(myblock) 3  "posArr"
27                              MemberName 33(myblock) 4  "m"
28                              MemberName 33(myblock) 5  "mArr"
29                              Name 37  "blk"
30                              Name 102  "myblock2"
31                              MemberName 102(myblock2) 0  "f"
32                              MemberName 102(myblock2) 1  "pos"
33                              MemberName 102(myblock2) 2  "m"
34                              Name 106  "blk2"
35                              Decorate 12(gl_LocalInvocationID) BuiltIn LocalInvocationId
36                              Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId
37                              Decorate 33(myblock) Block
38                              MemberDecorate 33(myblock) 0 PerPrimitiveNV
39                              MemberDecorate 33(myblock) 1 PerPrimitiveNV
40                              MemberDecorate 33(myblock) 2 PerPrimitiveNV
41                              MemberDecorate 33(myblock) 3 PerPrimitiveNV
42                              MemberDecorate 33(myblock) 4 PerPrimitiveNV
43                              MemberDecorate 33(myblock) 5 PerPrimitiveNV
44                              Decorate 37(blk) Location 0
45                              Decorate 102(myblock2) Block
46                              Decorate 106(blk2) Location 20
47                              Decorate 142 BuiltIn WorkgroupSize
48               2:             TypeVoid
49               3:             TypeFunction 2
50               6:             TypeInt 32 1
51               7:             TypePointer Function 6(int)
52               9:             TypeInt 32 0
53              10:             TypeVector 9(int) 3
54              11:             TypePointer Input 10(ivec3)
5512(gl_LocalInvocationID):     11(ptr) Variable Input
56              13:      9(int) Constant 0
57              14:             TypePointer Input 9(int)
5819(gl_WorkGroupID):     11(ptr) Variable Input
59              23:             TypeFloat 32
60              24:      9(int) Constant 4
61              25:             TypeArray 23(float) 24
62              26:             TypeVector 23(float) 3
63              27:             TypeVector 23(float) 4
64              28:             TypeArray 27(fvec4) 24
65              29:             TypeMatrix 27(fvec4) 4
66              30:             TypeMatrix 26(fvec3) 3
67              31:      9(int) Constant 2
68              32:             TypeArray 30 31
69     33(myblock):             TypeStruct 23(float) 25 26(fvec3) 28 29 32
70              34:      9(int) Constant 32
71              35:             TypeArray 33(myblock) 34
72              36:             TypePointer Output 35
73         37(blk):     36(ptr) Variable Output
74              39:      6(int) Constant 0
75              40:   23(float) Constant 1093664768
76              41:             TypePointer Output 23(float)
77              44:      6(int) Constant 1
78              52:      6(int) Constant 2
79              54:   23(float) Constant 1096810496
80              55:   23(float) Constant 1097859072
81              56:   23(float) Constant 1095761920
82              57:   26(fvec3) ConstantComposite 54 55 56
83              58:             TypePointer Output 26(fvec3)
84              64:      6(int) Constant 3
85              69:      9(int) Constant 1
86              74:      9(int) Constant 3
87              78:      6(int) Constant 4
88              80:   23(float) Constant 1098907648
89              81:   27(fvec4) ConstantComposite 56 54 55 80
90              82:             TypePointer Output 27(fvec4)
91              87:      6(int) Constant 5
92              96:   23(float) Constant 1099431936
93              97:   23(float) Constant 1099956224
94              98:   23(float) Constant 1100480512
95              99:   26(fvec3) ConstantComposite 96 97 98
96             101:      9(int) Constant 264
97   102(myblock2):             TypeStruct 23(float) 27(fvec4) 29
98             103:      9(int) Constant 81
99             104:             TypeArray 102(myblock2) 103
100             105:             TypePointer Output 104
101       106(blk2):    105(ptr) Variable Output
102             112:   23(float) Constant 1101004800
103             116:   23(float) Constant 1101529088
104             117:   23(float) Constant 1102053376
105             118:   23(float) Constant 1102577664
106             119:   23(float) Constant 1103101952
107             120:   27(fvec4) ConstantComposite 116 117 118 119
108             132:   23(float) Constant 1105723392
109             142:   10(ivec3) ConstantComposite 34 69 69
110         4(main):           2 Function None 3
111               5:             Label
112          8(iid):      7(ptr) Variable Function
113         18(gid):      7(ptr) Variable Function
114              15:     14(ptr) AccessChain 12(gl_LocalInvocationID) 13
115              16:      9(int) Load 15
116              17:      6(int) Bitcast 16
117                              Store 8(iid) 17
118              20:     14(ptr) AccessChain 19(gl_WorkGroupID) 13
119              21:      9(int) Load 20
120              22:      6(int) Bitcast 21
121                              Store 18(gid) 22
122              38:      6(int) Load 8(iid)
123              42:     41(ptr) AccessChain 37(blk) 38 39
124                              Store 42 40
125              43:      6(int) Load 8(iid)
126              45:      6(int) IAdd 43 44
127              46:      6(int) Load 18(gid)
128              47:      6(int) Load 8(iid)
129              48:     41(ptr) AccessChain 37(blk) 47 39
130              49:   23(float) Load 48
131              50:     41(ptr) AccessChain 37(blk) 45 44 46
132                              Store 50 49
133              51:      6(int) Load 8(iid)
134              53:      6(int) SDiv 51 52
135              59:     58(ptr) AccessChain 37(blk) 53 52
136              60:   26(fvec3) Load 59
137              61:   26(fvec3) VectorShuffle 60 57 5 3 4
138                              Store 59 61
139              62:      6(int) Load 8(iid)
140              63:      6(int) IMul 62 52
141              65:      6(int) Load 8(iid)
142              66:      6(int) SDiv 65 52
143              67:     58(ptr) AccessChain 37(blk) 66 52
144              68:   26(fvec3) Load 67
145              70:     41(ptr) AccessChain 37(blk) 63 64 44 69
146              71:   23(float) CompositeExtract 68 0
147                              Store 70 71
148              72:     41(ptr) AccessChain 37(blk) 63 64 44 31
149              73:   23(float) CompositeExtract 68 1
150                              Store 72 73
151              75:     41(ptr) AccessChain 37(blk) 63 64 44 74
152              76:   23(float) CompositeExtract 68 2
153                              Store 75 76
154              77:      6(int) Load 8(iid)
155              79:      6(int) SDiv 77 78
156              83:     82(ptr) AccessChain 37(blk) 79 78 52
157              84:   27(fvec4) Load 83
158              85:   27(fvec4) VectorShuffle 84 81 7 6 5 4
159                              Store 83 85
160              86:      6(int) Load 8(iid)
161              88:      6(int) Load 8(iid)
162              89:      6(int) SDiv 88 78
163              90:     41(ptr) AccessChain 37(blk) 89 78 52 74
164              91:   23(float) Load 90
165              92:     41(ptr) AccessChain 37(blk) 86 87 39 44 69
166                              Store 92 91
167              93:      6(int) Load 8(iid)
168              94:      6(int) IMul 93 78
169              95:      6(int) Load 18(gid)
170             100:     58(ptr) AccessChain 37(blk) 94 87 44 95
171                              Store 100 99
172                              MemoryBarrier 69 101
173                              ControlBarrier 31 31 101
174             107:      6(int) Load 8(iid)
175             108:      6(int) Load 8(iid)
176             109:      6(int) ISub 108 44
177             110:     41(ptr) AccessChain 106(blk2) 109 39
178             111:   23(float) Load 110
179             113:   23(float) FAdd 111 112
180             114:     41(ptr) AccessChain 106(blk2) 107 39
181                              Store 114 113
182             115:      6(int) Load 8(iid)
183             121:     82(ptr) AccessChain 106(blk2) 115 44
184                              Store 121 120
185             122:      6(int) Load 8(iid)
186             123:      6(int) IAdd 122 44
187             124:      6(int) Load 18(gid)
188             125:      6(int) Load 8(iid)
189             126:     82(ptr) AccessChain 106(blk2) 125 44
190             127:   27(fvec4) Load 126
191             128:     82(ptr) AccessChain 106(blk2) 123 52 124
192                              Store 128 127
193             129:      6(int) Load 8(iid)
194             130:      6(int) IAdd 129 44
195             131:      6(int) Load 18(gid)
196             133:     41(ptr) AccessChain 106(blk2) 130 52 131 31
197                              Store 133 132
198             134:      6(int) Load 8(iid)
199             135:      6(int) IAdd 134 52
200             136:      6(int) Load 8(iid)
201             137:      6(int) IAdd 136 44
202             138:      6(int) Load 18(gid)
203             139:     82(ptr) AccessChain 106(blk2) 137 52 138
204             140:   27(fvec4) Load 139
205             141:     82(ptr) AccessChain 106(blk2) 135 52 64
206                              Store 141 140
207                              MemoryBarrier 69 101
208                              ControlBarrier 31 31 101
209                              Return
210                              FunctionEnd
211