xserver/hw/xwayland
Michel Dänzer b97c7c78c5 xwayland: Always hook up frame_callback_list in xwl_present_queue_vblank
Even if there's no pending frame callback yet.

Without this, if there was no pending frame callback yet in
xwl_present_queue_vblank, xwl_present_msc_bump would only get called
from xwl_present_timer_callback, resulting in the MSC ticking at ~58
Hertz.

Doing this requires some adjustments elsewhere:

1. xwl_present_reset_timer needs to check for a pending frame callback
   as well.
2. xwl_window_create_frame_callback needs to call
   xwl_present_reset_timer for all child windows hooked up to
   frame_callback_list, to make sure the timer length takes the pending
   frame callback into account.
3. xwl_present_flip needs to hook up the window to frame_callback_list
   before calling xwl_window_create_frame_callback, for 2. to work.

Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1309
Fixes: 9b31358c52 ("xwayland: Use frame callbacks for Present vblank events")
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
(cherry picked from commit 9e5a379610)
2022-07-20 14:41:01 +00:00
..
man Drop autotools build system 2021-02-03 17:59:31 +01:00
.gitignore xwayland: Add wp_viewport wayland extension support 2019-10-12 12:19:14 +02:00
drm.xml wayland: Sync drm.xml with Mesa 2017-07-05 10:13:04 -04:00
meson.build mi: List extensions in usage message 2021-01-29 12:52:09 +00:00
xwayland-cursor.c xwayland: Fix cursor color 2022-02-11 11:10:20 +01:00
xwayland-cursor.h xwayland: Move Xwayland cursor declarations 2019-12-20 16:19:01 +01:00
xwayland-cvt.c xwayland: Cleanup and remove xwayland.h 2019-12-20 16:19:01 +01:00
xwayland-cvt.h xwayland: Move Xwayland CVT declaration 2019-12-20 16:19:01 +01:00
xwayland-glamor-eglstream.c xwayland/glamor: Change errors to verbose messages 2021-12-02 11:45:48 +01:00
xwayland-glamor-gbm.c xwayland/glamor: Change errors to verbose messages 2021-12-02 11:45:48 +01:00
xwayland-glamor-xv.c xwayland: Cleanup and remove xwayland.h 2019-12-20 16:19:01 +01:00
xwayland-glamor.c xwayland/eglstream: Prefer EGLstream if available 2021-12-02 11:45:59 +01:00
xwayland-glamor.h xwayland/glamor: Add return status to post_damage 2021-06-21 11:16:58 +02:00
xwayland-glx.c xwayland: Add preferred GLVND vendor to xwl_screen 2021-06-21 11:16:58 +02:00
xwayland-glx.h xwayland: Move Xwayland GLX declaration 2019-12-20 16:19:01 +01:00
xwayland-input.c xwayland: Clear tablet cursor pending frame cb 2021-10-20 14:04:16 +02:00
xwayland-input.h xwayland: Delay cursor visibility update 2021-03-03 17:56:55 +01:00
xwayland-output.c xwayland: fix xdg_output leak 2021-10-18 14:17:28 +02:00
xwayland-output.h xwayland: Move Xwayland output declarations 2019-12-20 16:19:01 +01:00
xwayland-pixmap.c xwayland: Rename xwl_pixmap_cb → xwl_buffer_release_cb 2020-07-07 13:47:11 +00:00
xwayland-pixmap.h xwayland: Rename xwl_pixmap_cb → xwl_buffer_release_cb 2020-07-07 13:47:11 +00:00
xwayland-present.c xwayland: Always hook up frame_callback_list in xwl_present_queue_vblank 2022-07-20 14:41:01 +00:00
xwayland-present.h xwayland: Always hook up frame_callback_list in xwl_present_queue_vblank 2022-07-20 14:41:01 +00:00
xwayland-screen.c xwayland: non-rootless requires the XDG-WM-Base protocol 2020-11-09 08:48:16 +00:00
xwayland-screen.h xwayland: Add preferred GLVND vendor to xwl_screen 2021-06-21 11:16:58 +02:00
xwayland-shm.c xwayland/shm: Avoid integer overflow on large pixmaps 2021-10-18 14:17:28 +02:00
xwayland-shm.h xwayland: Move SHM declarations to their own header 2019-12-20 16:19:01 +01:00
xwayland-types.h xwayland: Move Xwayland structures to their own header 2019-12-20 16:19:01 +01:00
xwayland-vidmode.c xwayland: Initialise values in xwlVidModeGetGamma() 2020-07-03 10:56:43 +00:00
xwayland-vidmode.h xwayland: Move Xwayland vidmode declaration 2019-12-20 16:19:01 +01:00
xwayland-window-buffers.c xwayland: Hold window buffer until released 2020-12-10 13:49:42 +01:00
xwayland-window-buffers.h xwayland: Cleanup and remove xwayland.h 2019-12-20 16:19:01 +01:00
xwayland-window.c xwayland: Always hook up frame_callback_list in xwl_present_queue_vblank 2022-07-20 14:41:01 +00:00
xwayland-window.h xwayland: port rooted xwayland from wl_shell to xdg-shell protocol 2020-02-28 16:23:58 +00:00
xwayland.c xwayland: Add -verbose option as in xfree86 2021-01-29 10:02:14 +00:00
xwayland.pc.in xwayland: Add -verbose option as in xfree86 2021-01-29 10:02:14 +00:00