• Michel Dänzer's avatar
    xwayland: Complete "synchronous" Present flips from xwl_present_msc_bump · ace551d8
    Michel Dänzer authored
    Completing them from xwl_present_sync_callback had at least two issues:
    
    * It was before the MSC was incremented in xwl_present_frame_callback,
      so the MSC value in the completion event could be lower than the
      target specified by the client. This could cause hangs with the Mesa
      Vulkan drivers.
    * It allowed clients to run at a frame-rate higher than the Wayland
      compositor's frame-rate, wasting energy on generating frames which
      were never displayed. This isn't expected to happen unless the client
      specified PresentOptionAsync (in which case flips are still completed
      from xwl_present_sync_callback, allowing higher frame-rates).
    
    v2:
    * Make xwl_present_has_events return true when there's a pending
      "synchronous" flip, so those complete after at most ~1 second even if
      the Wayland server doesn't send a frame event.
    
    Bugzilla: https://bugs.freedesktop.org/106713
    ace551d8
Name
Last commit
Last update
Xext Loading commit data...
Xi Loading commit data...
composite Loading commit data...
config Loading commit data...
damageext Loading commit data...
dbe Loading commit data...
dix Loading commit data...
doc Loading commit data...
dri3 Loading commit data...
exa Loading commit data...
fb Loading commit data...
glamor Loading commit data...
glx Loading commit data...
hw Loading commit data...
include Loading commit data...
m4 Loading commit data...
man Loading commit data...
mi Loading commit data...
miext Loading commit data...
os Loading commit data...
present Loading commit data...
pseudoramiX Loading commit data...
randr Loading commit data...
record Loading commit data...
render Loading commit data...
test Loading commit data...
xfixes Loading commit data...
xkb Loading commit data...
.appveyor.yml Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
.travis.yml Loading commit data...
COPYING Loading commit data...
Makefile.am Loading commit data...
README Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
devbook.am Loading commit data...
docbook.am Loading commit data...
manpages.am Loading commit data...
meson.build Loading commit data...
meson_options.txt Loading commit data...
xorg-server.m4 Loading commit data...
xorg-server.pc.in Loading commit data...
xserver.ent.in Loading commit data...