Skip to content

Commit a285350

Browse files
Remove invalid reading from MeshEXT output
1 parent 0036567 commit a285350

10 files changed

+513
-848
lines changed

Test/baseResults/spv.460.subgroupEXT.mesh.out

Lines changed: 200 additions & 264 deletions
Large diffs are not rendered by default.
Lines changed: 75 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
spv.ext.meshShaderBuiltins.mesh
22
// Module Version 10400
33
// Generated by (magic number): 8000b
4-
// Id's are bound by 158
4+
// Id's are bound by 107
55

66
Capability ClipDistance
77
Capability CullDistance
@@ -11,7 +11,7 @@ spv.ext.meshShaderBuiltins.mesh
1111
Extension "SPV_EXT_mesh_shader"
1212
1: ExtInstImport "GLSL.std.450"
1313
MemoryModel Logical GLSL450
14-
EntryPoint MeshEXT 4 "main" 13 19 24 41 93 134 152 155
14+
EntryPoint MeshEXT 4 "main" 13 19 24 41 69 86 101 104
1515
ExecutionMode 4 LocalSize 32 1 1
1616
ExecutionMode 4 OutputVertices 81
1717
ExecutionMode 4 OutputPrimitivesNV 32
@@ -36,17 +36,17 @@ spv.ext.meshShaderBuiltins.mesh
3636
MemberName 38(gl_MeshPerVertexEXT) 2 "gl_ClipDistance"
3737
MemberName 38(gl_MeshPerVertexEXT) 3 "gl_CullDistance"
3838
Name 41 "gl_MeshVerticesEXT"
39-
Name 90 "gl_MeshPerPrimitiveEXT"
40-
MemberName 90(gl_MeshPerPrimitiveEXT) 0 "gl_PrimitiveID"
41-
MemberName 90(gl_MeshPerPrimitiveEXT) 1 "gl_Layer"
42-
MemberName 90(gl_MeshPerPrimitiveEXT) 2 "gl_ViewportIndex"
43-
MemberName 90(gl_MeshPerPrimitiveEXT) 3 "gl_CullPrimitiveEXT"
44-
Name 93 "gl_MeshPrimitivesEXT"
45-
Name 134 "gl_PrimitiveTriangleIndicesEXT"
46-
Name 150 "id"
47-
Name 152 "gl_DrawIDARB"
48-
Name 154 "viewIdx"
49-
Name 155 "gl_ViewIndex"
39+
Name 66 "gl_MeshPerPrimitiveEXT"
40+
MemberName 66(gl_MeshPerPrimitiveEXT) 0 "gl_PrimitiveID"
41+
MemberName 66(gl_MeshPerPrimitiveEXT) 1 "gl_Layer"
42+
MemberName 66(gl_MeshPerPrimitiveEXT) 2 "gl_ViewportIndex"
43+
MemberName 66(gl_MeshPerPrimitiveEXT) 3 "gl_CullPrimitiveEXT"
44+
Name 69 "gl_MeshPrimitivesEXT"
45+
Name 86 "gl_PrimitiveTriangleIndicesEXT"
46+
Name 99 "id"
47+
Name 101 "gl_DrawIDARB"
48+
Name 103 "viewIdx"
49+
Name 104 "gl_ViewIndex"
5050
Decorate 13(gl_LocalInvocationID) BuiltIn LocalInvocationId
5151
Decorate 19(gl_WorkGroupID) BuiltIn WorkgroupId
5252
Decorate 24(gl_NumWorkGroups) BuiltIn NumWorkgroups
@@ -55,19 +55,19 @@ spv.ext.meshShaderBuiltins.mesh
5555
MemberDecorate 38(gl_MeshPerVertexEXT) 1 BuiltIn PointSize
5656
MemberDecorate 38(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance
5757
MemberDecorate 38(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance
58-
Decorate 90(gl_MeshPerPrimitiveEXT) Block
59-
MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId
60-
MemberDecorate 90(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV
61-
MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer
62-
MemberDecorate 90(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV
63-
MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex
64-
MemberDecorate 90(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV
65-
MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT
66-
MemberDecorate 90(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV
67-
Decorate 134(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT
68-
Decorate 152(gl_DrawIDARB) BuiltIn DrawIndex
69-
Decorate 155(gl_ViewIndex) BuiltIn ViewIndex
70-
Decorate 157 BuiltIn WorkgroupSize
58+
Decorate 66(gl_MeshPerPrimitiveEXT) Block
59+
MemberDecorate 66(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId
60+
MemberDecorate 66(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV
61+
MemberDecorate 66(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer
62+
MemberDecorate 66(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV
63+
MemberDecorate 66(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex
64+
MemberDecorate 66(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV
65+
MemberDecorate 66(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT
66+
MemberDecorate 66(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV
67+
Decorate 86(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT
68+
Decorate 101(gl_DrawIDARB) BuiltIn DrawIndex
69+
Decorate 104(gl_ViewIndex) BuiltIn ViewIndex
70+
Decorate 106 BuiltIn WorkgroupSize
7171
2: TypeVoid
7272
3: TypeFunction 2
7373
8: TypeInt 32 0
@@ -107,29 +107,30 @@ spv.ext.meshShaderBuiltins.mesh
107107
62: 8(int) Constant 1
108108
63: 8(int) Constant 264
109109
64: 8(int) Constant 2
110-
89: TypeBool
111-
90(gl_MeshPerPrimitiveEXT): TypeStruct 43(int) 43(int) 43(int) 89(bool)
112-
91: TypeArray 90(gl_MeshPerPrimitiveEXT) 29
113-
92: TypePointer Output 91
114-
93(gl_MeshPrimitivesEXT): 92(ptr) Variable Output
115-
95: 43(int) Constant 6
116-
96: TypePointer Output 43(int)
117-
99: 43(int) Constant 7
118-
102: 43(int) Constant 8
119-
105: 89(bool) ConstantFalse
120-
106: TypePointer Output 89(bool)
121-
132: TypeArray 11(ivec3) 29
122-
133: TypePointer Output 132
123-
134(gl_PrimitiveTriangleIndicesEXT): 133(ptr) Variable Output
124-
135: 8(int) Constant 257
125-
136: 11(ivec3) ConstantComposite 135 135 135
126-
137: TypePointer Output 11(ivec3)
127-
141: 11(ivec3) ConstantComposite 64 64 64
128-
149: TypePointer Function 43(int)
129-
151: TypePointer Input 43(int)
130-
152(gl_DrawIDARB): 151(ptr) Variable Input
131-
155(gl_ViewIndex): 151(ptr) Variable Input
132-
157: 11(ivec3) ConstantComposite 29 62 62
110+
65: TypeBool
111+
66(gl_MeshPerPrimitiveEXT): TypeStruct 43(int) 43(int) 43(int) 65(bool)
112+
67: TypeArray 66(gl_MeshPerPrimitiveEXT) 29
113+
68: TypePointer Output 67
114+
69(gl_MeshPrimitivesEXT): 68(ptr) Variable Output
115+
71: 43(int) Constant 6
116+
72: TypePointer Output 43(int)
117+
75: 43(int) Constant 7
118+
78: 43(int) Constant 8
119+
81: 65(bool) ConstantFalse
120+
82: TypePointer Output 65(bool)
121+
84: TypeArray 11(ivec3) 29
122+
85: TypePointer Output 84
123+
86(gl_PrimitiveTriangleIndicesEXT): 85(ptr) Variable Output
124+
87: 8(int) Constant 257
125+
88: 11(ivec3) ConstantComposite 87 87 87
126+
89: TypePointer Output 11(ivec3)
127+
93: 11(ivec3) ConstantComposite 64 64 64
128+
96: 11(ivec3) ConstantComposite 14 14 14
129+
98: TypePointer Function 43(int)
130+
100: TypePointer Input 43(int)
131+
101(gl_DrawIDARB): 100(ptr) Variable Input
132+
104(gl_ViewIndex): 100(ptr) Variable Input
133+
106: 11(ivec3) ConstantComposite 29 62 62
133134
4(main): 2 Function None 3
134135
5: Label
135136
10(iid): 9(ptr) Variable Function
@@ -164,104 +165,40 @@ spv.ext.meshShaderBuiltins.mesh
164165
Store 61 60
165166
MemoryBarrier 62 63
166167
ControlBarrier 64 64 63
167-
65: 8(int) Load 10(iid)
168-
66: 8(int) IAdd 65 62
169-
67: 8(int) Load 10(iid)
170-
68: 47(ptr) AccessChain 41(gl_MeshVerticesEXT) 67 44
171-
69: 33(fvec4) Load 68
172-
70: 47(ptr) AccessChain 41(gl_MeshVerticesEXT) 66 44
173-
Store 70 69
174-
71: 8(int) Load 10(iid)
175-
72: 8(int) IAdd 71 62
176-
73: 8(int) Load 10(iid)
177-
74: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 73 50
178-
75: 32(float) Load 74
179-
76: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 72 50
168+
70: 8(int) Load 10(iid)
169+
73: 72(ptr) AccessChain 69(gl_MeshPrimitivesEXT) 70 44
170+
Store 73 71
171+
74: 8(int) Load 10(iid)
172+
76: 72(ptr) AccessChain 69(gl_MeshPrimitivesEXT) 74 50
180173
Store 76 75
181174
77: 8(int) Load 10(iid)
182-
78: 8(int) IAdd 77 62
183-
79: 8(int) Load 10(iid)
184-
80: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 79 55 56
185-
81: 32(float) Load 80
186-
82: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 78 55 56
187-
Store 82 81
188-
83: 8(int) Load 10(iid)
189-
84: 8(int) IAdd 83 62
190-
85: 8(int) Load 10(iid)
191-
86: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 85 56 55
192-
87: 32(float) Load 86
193-
88: 52(ptr) AccessChain 41(gl_MeshVerticesEXT) 84 56 55
194-
Store 88 87
175+
79: 72(ptr) AccessChain 69(gl_MeshPrimitivesEXT) 77 55
176+
Store 79 78
177+
80: 8(int) Load 10(iid)
178+
83: 82(ptr) AccessChain 69(gl_MeshPrimitivesEXT) 80 56
179+
Store 83 81
195180
MemoryBarrier 62 63
196181
ControlBarrier 64 64 63
197-
94: 8(int) Load 10(iid)
198-
97: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 94 44
199-
Store 97 95
200-
98: 8(int) Load 10(iid)
201-
100: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 98 50
202-
Store 100 99
203-
101: 8(int) Load 10(iid)
204-
103: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 101 55
205-
Store 103 102
206-
104: 8(int) Load 10(iid)
207-
107: 106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 104 56
208-
Store 107 105
209-
MemoryBarrier 62 63
210-
ControlBarrier 64 64 63
211-
108: 8(int) Load 10(iid)
212-
109: 8(int) IAdd 108 62
213-
110: 8(int) Load 10(iid)
214-
111: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 110 44
215-
112: 43(int) Load 111
216-
113: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 109 44
217-
Store 113 112
218-
114: 8(int) Load 10(iid)
219-
115: 8(int) IAdd 114 62
220-
116: 8(int) Load 10(iid)
221-
117: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 116 50
222-
118: 43(int) Load 117
223-
119: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 115 50
224-
Store 119 118
225-
120: 8(int) Load 10(iid)
226-
121: 8(int) IAdd 120 62
227-
122: 8(int) Load 10(iid)
228-
123: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 122 55
229-
124: 43(int) Load 123
230-
125: 96(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 121 55
231-
Store 125 124
232-
126: 8(int) Load 10(iid)
233-
127: 8(int) IAdd 126 62
234-
128: 8(int) Load 10(iid)
235-
129: 106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 128 56
236-
130: 89(bool) Load 129
237-
131: 106(ptr) AccessChain 93(gl_MeshPrimitivesEXT) 127 56
238-
Store 131 130
239-
MemoryBarrier 62 63
240-
ControlBarrier 64 64 63
241-
138: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 44
242-
Store 138 136
243-
139: 8(int) Load 28(primitiveCount)
244-
140: 8(int) ISub 139 62
245-
142: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 140
246-
Store 142 141
247-
143: 8(int) Load 18(gid)
248-
144: 8(int) Load 18(gid)
249-
145: 8(int) ISub 144 62
250-
146: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 145
251-
147: 11(ivec3) Load 146
252-
148: 137(ptr) AccessChain 134(gl_PrimitiveTriangleIndicesEXT) 143
253-
Store 148 147
182+
90: 89(ptr) AccessChain 86(gl_PrimitiveTriangleIndicesEXT) 44
183+
Store 90 88
184+
91: 8(int) Load 28(primitiveCount)
185+
92: 8(int) ISub 91 62
186+
94: 89(ptr) AccessChain 86(gl_PrimitiveTriangleIndicesEXT) 92
187+
Store 94 93
188+
95: 8(int) Load 18(gid)
189+
97: 89(ptr) AccessChain 86(gl_PrimitiveTriangleIndicesEXT) 95
190+
Store 97 96
254191
MemoryBarrier 62 63
255192
ControlBarrier 64 64 63
256193
Return
257194
FunctionEnd
258195
6(testAdditionalBuiltins(): 2 Function None 3
259196
7: Label
260-
150(id): 149(ptr) Variable Function
261-
154(viewIdx): 149(ptr) Variable Function
262-
153: 43(int) Load 152(gl_DrawIDARB)
263-
Store 150(id) 153
264-
156: 43(int) Load 155(gl_ViewIndex)
265-
Store 154(viewIdx) 156
197+
99(id): 98(ptr) Variable Function
198+
103(viewIdx): 98(ptr) Variable Function
199+
102: 43(int) Load 101(gl_DrawIDARB)
200+
Store 99(id) 102
201+
105: 43(int) Load 104(gl_ViewIndex)
202+
Store 103(viewIdx) 105
266203
Return
267204
FunctionEnd

0 commit comments

Comments
 (0)