Call frameRendered for undamaged Wayland surfaces
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.
Showing with 1 addition and 1 deletion