Skip to content
  • Erik Kurzinger's avatar
    Call frameRendered for undamaged Wayland surfaces · f294e7a0
    Erik Kurzinger authored
    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.
    f294e7a0