1
0
Fork 0
mutter-performance-source/src
Doğukan Korkmaztürk 95f9bb2f03 stage-impl: Ensure that a sync object is created in headless mode
During an onscreen swap, the cogl_onscreen_swap_buffers_with_damage()
function ensures that the Cogl renderer creates a sync object every
frame. This sync object is later shared with the Wayland clients that
utilize the explicit sync protocol.

However, in headless mode, the function mentioned above is not called.
As a result, the sync object the Cogl renderer stores seems to be not
created. This causes cogl_context_get_latest_sync_fd() function to
return an invalid sync fd, causing Mutter to not be able to materialize
the sync timeline point that the clients wait for when the explicit sync
protocol is in use.

This change simply adds a call to the cogl_framebuffer_flush() function
to the offscreen swap path to make sure that there is a sync object that
can be shared with the clients, which will be signalled when all the
queued operations before the swap are completed.

Signed-off-by: Doğukan Korkmaztürk <dkorkmazturk@nvidia.com>
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4056>


(cherry picked from commit 6a0cc1371c)
2024-10-15 13:07:26 +00:00
..
backends stage-impl: Ensure that a sync object is created in headless mode 2024-10-15 13:07:26 +00:00
common drm-timeline: Add meta_drm_timeline_is_signaled 2024-08-30 21:07:16 +00:00
compositor window-actor/x11: Fix region leak when updating frame bounds 2024-09-01 11:29:12 +02:00
core display: Do not crash attempting to display OSD for unknown Wacom device 2024-10-07 10:06:52 -07:00
frames frames: Load libadwaita on GNOME 2024-08-28 15:29:22 +00:00
meta Add debug topic "session-management" 2024-09-14 13:47:21 +00:00
tests tests: Add some basic tests for XDG session management 2024-09-14 13:47:21 +00:00
third_party x11: Use the embedded xcursor functions where possible 2024-05-24 13:02:42 +00:00
wayland Revert "window/wayland: Use scale for configured rect in configuration" 2024-09-23 23:34:52 +00:00
x11 x11: Reduce chances XPending does recvmsg() syscall 2024-09-17 11:12:41 +00:00
meson.build wayland: Implement the XDG session management protocol 2024-09-14 13:47:21 +00:00
meta-private-enum-types.c.in build: Add missing include 2022-08-10 20:28:40 +02:00
meta-private-enum-types.h.in cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00