Commit ae71430
Fix Adreno SIGSEGV: marshal SetSustainedPerformanceMode onto UI thread
The call in OsuGameAndroid.LoadComplete ran on the load thread, which made
ViewRootImpl.checkThread() throw CalledFromWrongThreadException after the
window state had already been partially mutated. On Adreno this invalidated
the active VkSurfaceKHR and crashed the driver inside vkCmdBeginRendering
on the next frame (SIGSEGV at vulkan.adreno.so +0x4, fault_addr=0x28).
Wrap the call in gameActivity.RunOnUiThread(...) like every other Window
mutator in this file already is.
Agent-Logs-Url: https://github.com/winnerspiros/osu/sessions/f3d3c197-120b-4c7d-b2ef-fca9776d19d2
Co-authored-by: winnerspiros <1675249+winnerspiros@users.noreply.github.com>1 parent 4d73c09 commit ae71430
1 file changed
Lines changed: 23 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
267 | 267 | | |
268 | 268 | | |
269 | 269 | | |
270 | | - | |
271 | | - | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
272 | 293 | | |
273 | 294 | | |
274 | 295 | | |
| |||
0 commit comments