You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Browse filesBrowse the repository at this point in the historyBrowse files
Ubuntu
committed
fix: prevent black screen by setting surface event before format change
When the surface is born as RGB565 on Vulkan, the RGB565 guard in
SurfaceChanged calls SetFormat(RGBA8888) to trigger a surface recreate.
Previously, this reset surfaceEvent and returned early, blocking the
draw thread on surfaceEvent.Wait(5000) while the UI thread was stuck
in the synchronous SetFormat call. This blocked the entire managed
runtime from sending heartbeats, causing the native watchdog to fire
at 10s and producing a black screen.
The fix sets surfaceEvent BEFORE calling SetFormat, so the draw thread
can proceed with the current (soon-to-be-recreated) surface. The new
surface triggers another SurfaceChanged which sets surfaceEvent again
with the correct RGBA8888 format.
Fixes the issue where the APK shows a black screen after the last build.
0 commit comments