1
0
Fork 0
mutter-performance-source/src
Daniel van Vugt f606a4424a compositor/x11: Sync again at the end of before_paint
The existing comment tells us this is necessary:

> there may be drawing between the last damage event and the
> XDamageSubtract() that needs to be flushed as well.

But the commit message for 551101c65c also tells us that
synchronization is necessary before-update. Assuming both are correct
then it needs to be done in both places.

I did try optimizing out the second sync to only do it if damage
arrived during the update, but that doesn't seem to be the issue.
The damage event is arriving before the update starts and it's some
secondary changes within the damage region running late that need
flushing. So this means the client is reporting damage more frequently
than the frame rate and we're ignoring the secondary damage reports
for efficiency (XDamageReportBoundingBox), which is still a good thing.

Fixes: 551101c65c ("compositor-x11: Move synchronization to before-update")
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2880
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3590>
2024-02-20 18:22:00 +08:00
..
backends build: Remove the config.h inclusion from all public headers 2024-02-17 11:58:55 +00:00
common backend/native: Move DrmFormatBuf to cogl-drm-formats 2024-01-03 14:46:41 +01:00
compositor compositor/x11: Sync again at the end of before_paint 2024-02-20 18:22:00 +08:00
core window: Add a copy of XSizeHints 2024-02-19 20:19:41 +01:00
frames frames: Notify borders on first content resize 2024-01-03 19:31:51 +00:00
meta cleanup: Remove unused defines 2024-02-17 14:16:20 +01:00
tests clutter/tests: Remove unused color check helpers 2024-02-17 14:30:19 +01:00
wayland window: Add a copy of XSizeHints 2024-02-19 20:19:41 +01:00
x11 window: Add a copy of XSizeHints 2024-02-19 20:19:41 +01:00
meson.build wayland: Introduce MetaWaylandInput/MetaWaylandEventInterface 2024-02-13 01:01:48 +01: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