D18307: Call frameRendered for undamaged Wayland surfaces

Erik Kurzinger <[email protected]>
Newsgroups gmane.comp.kde.devel.kwin
Message-ID <[email protected]>
ekurzinger created this revision.
Herald added a project: KWin.
Herald edited subscribers, added: kwin; removed: KWin.
ekurzinger requested review of this revision.

REVISION SUMMARY
  Currently, if a Wayland surface registers a frame callback but does not send a damage event, the callback will not be serviced even after KWin has completed a compositing cycle and is therefore ready to render a new frame for the surface. Since some clients, including any using NVIDIA's Wayland EGL implementation, wait for frame events before preparing each frame this behavior can result in hangs if a compositing cycle occurs between registering the frame callback and sending the damage event.
  
  Instead, in accordance with the Wayland specification, frame callbacks should be serviced (via KWayland::Server::SurfaceInterface::frameRendered) for all visible windows - not just those damaged since the last compositing cycle.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D18307

AFFECTED FILES
  composite.cpp

To: ekurzinger
Cc: kwin, jraleigh, GB_2, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, ngraham, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.