1
0
Fork 0
mutter-performance-source/src
Robert Mader aaae07f9dd onscreen/native: Mark GPU rendering duration as valid if supported
Since commit e30eb78891 `ClutterFrameClock` assumes that a valid CPU time
implies timestamp query support, which is also checked in
`cogl_onscreen_egl_swap_buffers_with_damage()`.

Unconditionally setting the CPU time on direct scanout meant that the
compositing path would be stuck on the last (direct scanout optimized)
result on GL implementations without timestamp query support since.

be0aa2976e (clutter/frame-clock: Avoid rapidly toggling dynamic max render time)

Fix that by explicitly marking the gpu rendering duration as valid when
querying the GPU timestamps is supported and check for it ClutterFrameClock.

Fixes: 56580ea7c9 ("backends/native: Assume zero rendering time for direct scanout buffers")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3655>
2024-03-13 16:37:16 +01:00
..
backends onscreen/native: Mark GPU rendering duration as valid if supported 2024-03-13 16:37:16 +01:00
common backend/native: Move DrmFormatBuf to cogl-drm-formats 2024-01-03 14:46:41 +01:00
compositor background: Call malloc_trim() after loading background image 2024-03-12 17:27:29 +00:00
core core: Whitespace fix 2024-03-12 12:48:20 +10:00
frames Revert "frames: Always initialize _MUTTER_FRAME_EXTENTS to zero" 2024-03-01 10:54:32 +01:00
meta meta/selection-source-memory: Use memfd instead of GBytes 2024-03-08 18:34:52 +00:00
tests monitor-manager: Add support for refresh rate modes 2024-03-02 12:08:21 +00:00
wayland wayland/output: Track protocol state for computing changed properties 2024-03-12 19:21:27 +00:00
x11 meta: Update annotations 2024-03-13 12:52:41 +00:00
meson.build build: Make exported package in gir consistent 2024-03-13 12:52:41 +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