ladybird/Services
Aliaksandr Kalenik 8950da276d LibGfx+LibWeb+Compositor: Remove sync wait on GPU flush
The compositor present path submitted Skia work with a synchronous GPU
wait, so each present_frame call stayed blocked until the backend
finished the submitted work. That serialized compositor processing
behind GPU completion even though the presented-bitmap acknowledgement
already controls backing-store reuse.

Add an async Skia flush-and-submit entrypoint and have the compositor
track pending presents until the Skia finished callback runs back on the
compositor event loop. did_present_frame now fires from that completion
path, while the existing presented_bitmap_ready_to_paint acknowledgement
remains the reuse gate for client-presented bitmaps.

Ganesh does not reliably run the finished proc without explicit async
work polling on this backend, so pending presents keep a completion
timer alive to call checkAsyncWorkCompletion().
2026-05-26 22:44:17 +01:00
..
Compositor LibGfx+LibWeb+Compositor: Remove sync wait on GPU flush 2026-05-26 22:44:17 +01:00
ImageDecoder LibThreading/LibSync: Split out sync primitives 2026-05-08 18:58:35 -05:00
RequestServer RequestServer: Send bytecode cache sidecars as files 2026-05-16 08:13:35 +02:00
WebContent LibWebView: Fast-close pages without beforeunload prompts 2026-05-26 20:40:25 +02:00
WebDriver LibThreading/LibSync: Split out sync primitives 2026-05-08 18:58:35 -05:00
WebWorker LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
CMakeLists.txt Compositor+LibWebView+WebContent: Scaffold opt-in Compositor process 2026-05-22 19:50:42 +01:00