Commit 2bf640b
[dawn][d3d] Adds loop for WaitForMultipleObjects with INFINITY.
- Adding the loop addresses the reverted workaround.
- Also includes a small fix for potential race in spontaneous
event handling.
- Re-enables all the related tests now that they seem to be
passing fine now on the arm64 Qualcomm devices with this fix.
- Also reverts "Fix MapAsyncAndWait use-after-free"
commit 37905ab.
Original change's description:
> Fix MapAsyncAndWait use-after-free
>
> Fixes an issue where the callback registered in
> DawnTestBase::MapAsyncAndWait could cause an access violation during
> global test teardown due to trying to run a callback that was allocated
> on the stack and had already gone out of scope. This only occurred when
> instance.WaitAny() timed out, which would cause the callback to still
> be around until the instance got destroyed and ensured that all pending
> callbacks were complete.
>
> Now, the actual callback to run is provided via a shared_ptr and the
> lambda provided to buffer.MapAsync() checks if it is null before running
> it. After instance.WaitAny() returns but before we make any asserts, we
> set the pointer to null, preventing the soon-to-be-dangling pointer from
> being used in the future.
>
> This is meant as a temporary workaround, as WaitAny() should always run
> the provided callback. This can be reverted once the underlying issue
> is fixed.
>
> Bug: 459864803, 460743383
> Change-Id: I5384e74ff6ab9da6104b07e6d9d235bf5d4b40c2
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/273736
> Commit-Queue: Brian Sheedy <bsheedy@google.com>
> Reviewed-by: Loko Kung <lokokung@google.com>
> Auto-Submit: Brian Sheedy <bsheedy@google.com>
> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Bug: 459864803, 460743383, 461837996, 469328928, 465497435
Change-Id: Iabf26a66fbd6c92bf788a283c05b64d72e6f12ee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/277975
Reviewed-by: Brian Sheedy <bsheedy@google.com>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Auto-Submit: Loko Kung <lokokung@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>1 parent fff9da2 commit 2bf640b
File tree
5 files changed
+44
-90
lines changed- src/dawn
- native
- tests
- end2end
5 files changed
+44
-90
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
317 | 317 | | |
318 | 318 | | |
319 | 319 | | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
| 320 | + | |
328 | 321 | | |
329 | 322 | | |
330 | 323 | | |
| |||
341 | 334 | | |
342 | 335 | | |
343 | 336 | | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
344 | 347 | | |
345 | 348 | | |
346 | 349 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | 88 | | |
96 | | - | |
97 | | - | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
98 | 114 | | |
99 | 115 | | |
100 | 116 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2087 | 2087 | | |
2088 | 2088 | | |
2089 | 2089 | | |
2090 | | - | |
2091 | | - | |
2092 | | - | |
2093 | | - | |
2094 | | - | |
2095 | | - | |
2096 | | - | |
2097 | | - | |
2098 | | - | |
2099 | | - | |
2100 | | - | |
2101 | | - | |
2102 | | - | |
2103 | | - | |
2104 | | - | |
2105 | | - | |
2106 | | - | |
2107 | | - | |
2108 | | - | |
2109 | | - | |
2110 | | - | |
2111 | | - | |
2112 | | - | |
2113 | | - | |
2114 | | - | |
2115 | | - | |
2116 | | - | |
2117 | | - | |
| 2090 | + | |
| 2091 | + | |
| 2092 | + | |
| 2093 | + | |
| 2094 | + | |
| 2095 | + | |
| 2096 | + | |
| 2097 | + | |
2118 | 2098 | | |
2119 | 2099 | | |
2120 | 2100 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | 128 | | |
134 | 129 | | |
135 | 130 | | |
| |||
144 | 139 | | |
145 | 140 | | |
146 | 141 | | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | 142 | | |
153 | 143 | | |
154 | 144 | | |
| |||
158 | 148 | | |
159 | 149 | | |
160 | 150 | | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | 151 | | |
167 | 152 | | |
168 | 153 | | |
| |||
180 | 165 | | |
181 | 166 | | |
182 | 167 | | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | 168 | | |
189 | 169 | | |
190 | 170 | | |
| |||
204 | 184 | | |
205 | 185 | | |
206 | 186 | | |
207 | | - | |
208 | | - | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | 187 | | |
213 | 188 | | |
214 | 189 | | |
| |||
224 | 199 | | |
225 | 200 | | |
226 | 201 | | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | 202 | | |
233 | 203 | | |
234 | 204 | | |
| |||
264 | 234 | | |
265 | 235 | | |
266 | 236 | | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | 237 | | |
273 | 238 | | |
274 | 239 | | |
| |||
1373 | 1338 | | |
1374 | 1339 | | |
1375 | 1340 | | |
1376 | | - | |
1377 | | - | |
1378 | | - | |
1379 | | - | |
1380 | 1341 | | |
1381 | 1342 | | |
1382 | 1343 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
665 | 665 | | |
666 | 666 | | |
667 | 667 | | |
668 | | - | |
669 | | - | |
670 | | - | |
671 | 668 | | |
672 | 669 | | |
673 | 670 | | |
| |||
1220 | 1217 | | |
1221 | 1218 | | |
1222 | 1219 | | |
1223 | | - | |
1224 | | - | |
1225 | | - | |
1226 | 1220 | | |
1227 | 1221 | | |
1228 | 1222 | | |
| |||
0 commit comments