1617a3babSopenharmony_cispv.ext.meshShaderBuiltins.mesh
2617a3babSopenharmony_ci// Module Version 10400
3617a3babSopenharmony_ci// Generated by (magic number): 8000b
4617a3babSopenharmony_ci// Id's are bound by 158
5617a3babSopenharmony_ci
6617a3babSopenharmony_ci                              Capability ClipDistance
7617a3babSopenharmony_ci                              Capability CullDistance
8617a3babSopenharmony_ci                              Capability DrawParameters
9617a3babSopenharmony_ci                              Capability MultiView
10617a3babSopenharmony_ci                              Capability MeshShadingEXT
11617a3babSopenharmony_ci                              Extension  "SPV_EXT_mesh_shader"
12617a3babSopenharmony_ci               1:             ExtInstImport  "GLSL.std.450"
13617a3babSopenharmony_ci                              MemoryModel Logical GLSL450
14617a3babSopenharmony_ci                              EntryPoint MeshEXT 4  "main" 13 19 24 41 93 134 152 155
15617a3babSopenharmony_ci                              ExecutionMode 4 LocalSize 32 1 1
16617a3babSopenharmony_ci                              ExecutionMode 4 OutputVertices 81
17617a3babSopenharmony_ci                              ExecutionMode 4 OutputPrimitivesNV 32
18617a3babSopenharmony_ci                              ExecutionMode 4 OutputTrianglesNV
19617a3babSopenharmony_ci                              Source GLSL 460
20617a3babSopenharmony_ci                              SourceExtension  "GL_ARB_shader_draw_parameters"
21617a3babSopenharmony_ci                              SourceExtension  "GL_EXT_mesh_shader"
22617a3babSopenharmony_ci                              SourceExtension  "GL_EXT_multiview"
23617a3babSopenharmony_ci                              Name 4  "main"
24617a3babSopenharmony_ci                              Name 6  "testAdditionalBuiltins("
25617a3babSopenharmony_ci                              Name 10  "iid"
26617a3babSopenharmony_ci                              Name 13  "gl_LocalInvocationID"
27617a3babSopenharmony_ci                              Name 18  "gid"
28617a3babSopenharmony_ci                              Name 19  "gl_WorkGroupID"
29617a3babSopenharmony_ci                              Name 23  "numWorkGrous"
30617a3babSopenharmony_ci                              Name 24  "gl_NumWorkGroups"
31617a3babSopenharmony_ci                              Name 26  "vertexCount"
32617a3babSopenharmony_ci                              Name 28  "primitiveCount"
33617a3babSopenharmony_ci                              Name 38  "gl_MeshPerVertexEXT"
34617a3babSopenharmony_ci                              MemberName 38(gl_MeshPerVertexEXT) 0  "gl_Position"
35617a3babSopenharmony_ci                              MemberName 38(gl_MeshPerVertexEXT) 1  "gl_PointSize"
36617a3babSopenharmony_ci                              MemberName 38(gl_MeshPerVertexEXT) 2  "gl_ClipDistance"
37617a3babSopenharmony_ci                              MemberName 38(gl_MeshPerVertexEXT) 3  "gl_CullDistance"
38617a3babSopenharmony_ci                              Name 41  "gl_MeshVerticesEXT"
39617a3babSopenharmony_ci                              Name 90  "gl_MeshPerPrimitiveEXT"
40617a3babSopenharmony_ci                              MemberName 90(gl_MeshPerPrimitiveEXT) 0  "gl_PrimitiveID"
41617a3babSopenharmony_ci                              MemberName 90(gl_MeshPerPrimitiveEXT) 1  "gl_Layer"
42617a3babSopenharmony_ci                              MemberName 90(gl_MeshPerPrimitiveEXT) 2  "gl_ViewportIndex"
43617a3babSopenharmony_ci                              MemberName 90(gl_MeshPerPrimitiveEXT) 3  "gl_CullPrimitiveEXT"
44617a3babSopenharmony_ci                              Name 93  "gl_MeshPrimitivesEXT"
45617a3babSopenharmony_ci                              Name 134  "gl_PrimitiveTriangleIndicesEXT"
46617a3babSopenharmony_ci                              Name 150  "id"
47617a3babSopenharmony_ci                              Name 152  "gl_DrawIDARB"
48617a3babSopenharmony_ci                              Name 154  "viewIdx"
49617a3babSopenharmony_ci                              Name 155  "gl_ViewIndex"
50617a3babSopenharmony_ci                              Decorate 13(gl_LocalInvocationID) BuiltIn LocalInvocationId
51617a3babSopenharmony_ci                              Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId
52617a3babSopenharmony_ci                              Decorate 24(gl_NumWorkGroups) BuiltIn NumWorkgroups
53617a3babSopenharmony_ci                              MemberDecorate 38(gl_MeshPerVertexEXT) 0 BuiltIn Position
54617a3babSopenharmony_ci                              MemberDecorate 38(gl_MeshPerVertexEXT) 1 BuiltIn PointSize
55617a3babSopenharmony_ci                              MemberDecorate 38(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance
56617a3babSopenharmony_ci                              MemberDecorate 38(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance
57617a3babSopenharmony_ci                              Decorate 38(gl_MeshPerVertexEXT) Block
58617a3babSopenharmony_ci                              MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV
59617a3babSopenharmony_ci                              MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId
60617a3babSopenharmony_ci                              MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV
61617a3babSopenharmony_ci                              MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer
62617a3babSopenharmony_ci                              MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV
63617a3babSopenharmony_ci                              MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex
64617a3babSopenharmony_ci                              MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV
65617a3babSopenharmony_ci                              MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT
66617a3babSopenharmony_ci                              Decorate 90(gl_MeshPerPrimitiveEXT) Block
67617a3babSopenharmony_ci                              Decorate 134(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT
68617a3babSopenharmony_ci                              Decorate 152(gl_DrawIDARB) BuiltIn DrawIndex
69617a3babSopenharmony_ci                              Decorate 155(gl_ViewIndex) BuiltIn ViewIndex
70617a3babSopenharmony_ci                              Decorate 157 BuiltIn WorkgroupSize
71617a3babSopenharmony_ci               2:             TypeVoid
72617a3babSopenharmony_ci               3:             TypeFunction 2
73617a3babSopenharmony_ci               8:             TypeInt 32 0
74617a3babSopenharmony_ci               9:             TypePointer Function 8(int)
75617a3babSopenharmony_ci              11:             TypeVector 8(int) 3
76617a3babSopenharmony_ci              12:             TypePointer Input 11(ivec3)
77617a3babSopenharmony_ci13(gl_LocalInvocationID):     12(ptr) Variable Input
78617a3babSopenharmony_ci              14:      8(int) Constant 0
79617a3babSopenharmony_ci              15:             TypePointer Input 8(int)
80617a3babSopenharmony_ci19(gl_WorkGroupID):     12(ptr) Variable Input
81617a3babSopenharmony_ci              22:             TypePointer Function 11(ivec3)
82617a3babSopenharmony_ci24(gl_NumWorkGroups):     12(ptr) Variable Input
83617a3babSopenharmony_ci              27:      8(int) Constant 81
84617a3babSopenharmony_ci              29:      8(int) Constant 32
85617a3babSopenharmony_ci              32:             TypeFloat 32
86617a3babSopenharmony_ci              33:             TypeVector 32(float) 4
87617a3babSopenharmony_ci              34:      8(int) Constant 4
88617a3babSopenharmony_ci              35:             TypeArray 32(float) 34
89617a3babSopenharmony_ci              36:      8(int) Constant 3
90617a3babSopenharmony_ci              37:             TypeArray 32(float) 36
91617a3babSopenharmony_ci38(gl_MeshPerVertexEXT):             TypeStruct 33(fvec4) 32(float) 35 37
92617a3babSopenharmony_ci              39:             TypeArray 38(gl_MeshPerVertexEXT) 27
93617a3babSopenharmony_ci              40:             TypePointer Output 39
94617a3babSopenharmony_ci41(gl_MeshVerticesEXT):     40(ptr) Variable Output
95617a3babSopenharmony_ci              43:             TypeInt 32 1
96617a3babSopenharmony_ci              44:     43(int) Constant 0
97617a3babSopenharmony_ci              45:   32(float) Constant 1065353216
98617a3babSopenharmony_ci              46:   33(fvec4) ConstantComposite 45 45 45 45
99617a3babSopenharmony_ci              47:             TypePointer Output 33(fvec4)
100617a3babSopenharmony_ci              50:     43(int) Constant 1
101617a3babSopenharmony_ci              51:   32(float) Constant 1073741824
102617a3babSopenharmony_ci              52:             TypePointer Output 32(float)
103617a3babSopenharmony_ci              55:     43(int) Constant 2
104617a3babSopenharmony_ci              56:     43(int) Constant 3
105617a3babSopenharmony_ci              57:   32(float) Constant 1077936128
106617a3babSopenharmony_ci              60:   32(float) Constant 1082130432
107617a3babSopenharmony_ci              62:      8(int) Constant 1
108617a3babSopenharmony_ci              63:      8(int) Constant 264
109617a3babSopenharmony_ci              64:      8(int) Constant 2
110617a3babSopenharmony_ci              89:             TypeBool
111617a3babSopenharmony_ci90(gl_MeshPerPrimitiveEXT):             TypeStruct 43(int) 43(int) 43(int) 89(bool)
112617a3babSopenharmony_ci              91:             TypeArray 90(gl_MeshPerPrimitiveEXT) 29
113617a3babSopenharmony_ci              92:             TypePointer Output 91
114617a3babSopenharmony_ci93(gl_MeshPrimitivesEXT):     92(ptr) Variable Output
115617a3babSopenharmony_ci              95:     43(int) Constant 6
116617a3babSopenharmony_ci              96:             TypePointer Output 43(int)
117617a3babSopenharmony_ci              99:     43(int) Constant 7
118617a3babSopenharmony_ci             102:     43(int) Constant 8
119617a3babSopenharmony_ci             105:    89(bool) ConstantFalse
120617a3babSopenharmony_ci             106:             TypePointer Output 89(bool)
121617a3babSopenharmony_ci             132:             TypeArray 11(ivec3) 29
122617a3babSopenharmony_ci             133:             TypePointer Output 132
123617a3babSopenharmony_ci134(gl_PrimitiveTriangleIndicesEXT):    133(ptr) Variable Output
124617a3babSopenharmony_ci             135:      8(int) Constant 257
125617a3babSopenharmony_ci             136:   11(ivec3) ConstantComposite 135 135 135
126617a3babSopenharmony_ci             137:             TypePointer Output 11(ivec3)
127617a3babSopenharmony_ci             141:   11(ivec3) ConstantComposite 64 64 64
128617a3babSopenharmony_ci             149:             TypePointer Function 43(int)
129617a3babSopenharmony_ci             151:             TypePointer Input 43(int)
130617a3babSopenharmony_ci152(gl_DrawIDARB):    151(ptr) Variable Input
131617a3babSopenharmony_ci155(gl_ViewIndex):    151(ptr) Variable Input
132617a3babSopenharmony_ci             157:   11(ivec3) ConstantComposite 29 62 62
133617a3babSopenharmony_ci         4(main):           2 Function None 3
134617a3babSopenharmony_ci               5:             Label
135617a3babSopenharmony_ci         10(iid):      9(ptr) Variable Function
136617a3babSopenharmony_ci         18(gid):      9(ptr) Variable Function
137617a3babSopenharmony_ci23(numWorkGrous):     22(ptr) Variable Function
138617a3babSopenharmony_ci 26(vertexCount):      9(ptr) Variable Function
139617a3babSopenharmony_ci28(primitiveCount):      9(ptr) Variable Function
140617a3babSopenharmony_ci              16:     15(ptr) AccessChain 13(gl_LocalInvocationID) 14
141617a3babSopenharmony_ci              17:      8(int) Load 16
142617a3babSopenharmony_ci                              Store 10(iid) 17
143617a3babSopenharmony_ci              20:     15(ptr) AccessChain 19(gl_WorkGroupID) 14
144617a3babSopenharmony_ci              21:      8(int) Load 20
145617a3babSopenharmony_ci                              Store 18(gid) 21
146617a3babSopenharmony_ci              25:   11(ivec3) Load 24(gl_NumWorkGroups)
147617a3babSopenharmony_ci                              Store 23(numWorkGrous) 25
148617a3babSopenharmony_ci                              Store 26(vertexCount) 27
149617a3babSopenharmony_ci                              Store 28(primitiveCount) 29
150617a3babSopenharmony_ci              30:      8(int) Load 26(vertexCount)
151617a3babSopenharmony_ci              31:      8(int) Load 28(primitiveCount)
152617a3babSopenharmony_ci                              SetMeshOutputsEXT 30 31
153617a3babSopenharmony_ci              42:      8(int) Load 10(iid)
154617a3babSopenharmony_ci              48:     47(ptr) AccessChain 41(gl_MeshVerticesEXT) 42 44
155617a3babSopenharmony_ci                              Store 48 46
156617a3babSopenharmony_ci              49:      8(int) Load 10(iid)
157617a3babSopenharmony_ci              53:     52(ptr) AccessChain 41(gl_MeshVerticesEXT) 49 50
158617a3babSopenharmony_ci                              Store 53 51
159617a3babSopenharmony_ci              54:      8(int) Load 10(iid)
160617a3babSopenharmony_ci              58:     52(ptr) AccessChain 41(gl_MeshVerticesEXT) 54 55 56
161617a3babSopenharmony_ci                              Store 58 57
162617a3babSopenharmony_ci              59:      8(int) Load 10(iid)
163617a3babSopenharmony_ci              61:     52(ptr) AccessChain 41(gl_MeshVerticesEXT) 59 56 55
164617a3babSopenharmony_ci                              Store 61 60
165617a3babSopenharmony_ci                              MemoryBarrier 62 63
166617a3babSopenharmony_ci                              ControlBarrier 64 64 63
167617a3babSopenharmony_ci              65:      8(int) Load 10(iid)
168617a3babSopenharmony_ci              66:      8(int) IAdd 65 62
169617a3babSopenharmony_ci              67:      8(int) Load 10(iid)
170617a3babSopenharmony_ci              68:     47(ptr) AccessChain 41(gl_MeshVerticesEXT) 67 44
171617a3babSopenharmony_ci              69:   33(fvec4) Load 68
172617a3babSopenharmony_ci              70:     47(ptr) AccessChain 41(gl_MeshVerticesEXT) 66 44
173617a3babSopenharmony_ci                              Store 70 69
174617a3babSopenharmony_ci              71:      8(int) Load 10(iid)
175617a3babSopenharmony_ci              72:      8(int) IAdd 71 62
176617a3babSopenharmony_ci              73:      8(int) Load 10(iid)
177617a3babSopenharmony_ci              74:     52(ptr) AccessChain 41(gl_MeshVerticesEXT) 73 50
178617a3babSopenharmony_ci              75:   32(float) Load 74
179617a3babSopenharmony_ci              76:     52(ptr) AccessChain 41(gl_MeshVerticesEXT) 72 50
180617a3babSopenharmony_ci                              Store 76 75
181617a3babSopenharmony_ci              77:      8(int) Load 10(iid)
182617a3babSopenharmony_ci              78:      8(int) IAdd 77 62
183617a3babSopenharmony_ci              79:      8(int) Load 10(iid)
184617a3babSopenharmony_ci              80:     52(ptr) AccessChain 41(gl_MeshVerticesEXT) 79 55 56
185617a3babSopenharmony_ci              81:   32(float) Load 80
186617a3babSopenharmony_ci              82:     52(ptr) AccessChain 41(gl_MeshVerticesEXT) 78 55 56
187617a3babSopenharmony_ci                              Store 82 81
188617a3babSopenharmony_ci              83:      8(int) Load 10(iid)
189617a3babSopenharmony_ci              84:      8(int) IAdd 83 62
190617a3babSopenharmony_ci              85:      8(int) Load 10(iid)
191617a3babSopenharmony_ci              86:     52(ptr) AccessChain 41(gl_MeshVerticesEXT) 85 56 55
192617a3babSopenharmony_ci              87:   32(float) Load 86
193617a3babSopenharmony_ci              88:     52(ptr) AccessChain 41(gl_MeshVerticesEXT) 84 56 55
194617a3babSopenharmony_ci                              Store 88 87
195617a3babSopenharmony_ci                              MemoryBarrier 62 63
196617a3babSopenharmony_ci                              ControlBarrier 64 64 63
197617a3babSopenharmony_ci              94:      8(int) Load 10(iid)
198617a3babSopenharmony_ci              97:     96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 94 44
199617a3babSopenharmony_ci                              Store 97 95
200617a3babSopenharmony_ci              98:      8(int) Load 10(iid)
201617a3babSopenharmony_ci             100:     96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 98 50
202617a3babSopenharmony_ci                              Store 100 99
203617a3babSopenharmony_ci             101:      8(int) Load 10(iid)
204617a3babSopenharmony_ci             103:     96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 101 55
205617a3babSopenharmony_ci                              Store 103 102
206617a3babSopenharmony_ci             104:      8(int) Load 10(iid)
207617a3babSopenharmony_ci             107:    106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 104 56
208617a3babSopenharmony_ci                              Store 107 105
209617a3babSopenharmony_ci                              MemoryBarrier 62 63
210617a3babSopenharmony_ci                              ControlBarrier 64 64 63
211617a3babSopenharmony_ci             108:      8(int) Load 10(iid)
212617a3babSopenharmony_ci             109:      8(int) IAdd 108 62
213617a3babSopenharmony_ci             110:      8(int) Load 10(iid)
214617a3babSopenharmony_ci             111:     96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 110 44
215617a3babSopenharmony_ci             112:     43(int) Load 111
216617a3babSopenharmony_ci             113:     96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 109 44
217617a3babSopenharmony_ci                              Store 113 112
218617a3babSopenharmony_ci             114:      8(int) Load 10(iid)
219617a3babSopenharmony_ci             115:      8(int) IAdd 114 62
220617a3babSopenharmony_ci             116:      8(int) Load 10(iid)
221617a3babSopenharmony_ci             117:     96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 116 50
222617a3babSopenharmony_ci             118:     43(int) Load 117
223617a3babSopenharmony_ci             119:     96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 115 50
224617a3babSopenharmony_ci                              Store 119 118
225617a3babSopenharmony_ci             120:      8(int) Load 10(iid)
226617a3babSopenharmony_ci             121:      8(int) IAdd 120 62
227617a3babSopenharmony_ci             122:      8(int) Load 10(iid)
228617a3babSopenharmony_ci             123:     96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 122 55
229617a3babSopenharmony_ci             124:     43(int) Load 123
230617a3babSopenharmony_ci             125:     96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 121 55
231617a3babSopenharmony_ci                              Store 125 124
232617a3babSopenharmony_ci             126:      8(int) Load 10(iid)
233617a3babSopenharmony_ci             127:      8(int) IAdd 126 62
234617a3babSopenharmony_ci             128:      8(int) Load 10(iid)
235617a3babSopenharmony_ci             129:    106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 128 56
236617a3babSopenharmony_ci             130:    89(bool) Load 129
237617a3babSopenharmony_ci             131:    106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 127 56
238617a3babSopenharmony_ci                              Store 131 130
239617a3babSopenharmony_ci                              MemoryBarrier 62 63
240617a3babSopenharmony_ci                              ControlBarrier 64 64 63
241617a3babSopenharmony_ci             138:    137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 44
242617a3babSopenharmony_ci                              Store 138 136
243617a3babSopenharmony_ci             139:      8(int) Load 28(primitiveCount)
244617a3babSopenharmony_ci             140:      8(int) ISub 139 62
245617a3babSopenharmony_ci             142:    137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 140
246617a3babSopenharmony_ci                              Store 142 141
247617a3babSopenharmony_ci             143:      8(int) Load 18(gid)
248617a3babSopenharmony_ci             144:      8(int) Load 18(gid)
249617a3babSopenharmony_ci             145:      8(int) ISub 144 62
250617a3babSopenharmony_ci             146:    137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 145
251617a3babSopenharmony_ci             147:   11(ivec3) Load 146
252617a3babSopenharmony_ci             148:    137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 143
253617a3babSopenharmony_ci                              Store 148 147
254617a3babSopenharmony_ci                              MemoryBarrier 62 63
255617a3babSopenharmony_ci                              ControlBarrier 64 64 63
256617a3babSopenharmony_ci                              Return
257617a3babSopenharmony_ci                              FunctionEnd
258617a3babSopenharmony_ci6(testAdditionalBuiltins():           2 Function None 3
259617a3babSopenharmony_ci               7:             Label
260617a3babSopenharmony_ci         150(id):    149(ptr) Variable Function
261617a3babSopenharmony_ci    154(viewIdx):    149(ptr) Variable Function
262617a3babSopenharmony_ci             153:     43(int) Load 152(gl_DrawIDARB)
263617a3babSopenharmony_ci                              Store 150(id) 153
264617a3babSopenharmony_ci             156:     43(int) Load 155(gl_ViewIndex)
265617a3babSopenharmony_ci                              Store 154(viewIdx) 156
266617a3babSopenharmony_ci                              Return
267617a3babSopenharmony_ci                              FunctionEnd
268