Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-46396

Wayland clients spuriously commit last frame after window hidden

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • Not Evaluated
    • None
    • 5.4.0
    • QPA: Wayland
    • None
    • iMX.6, imx6qsabresd with Vivante GPU and Vivante binary driver
      Yocto dizzy with QtWayland 5.4.0

    Description

      After hiding a window using QWindow::hide(), Wayland QPA clients spuriously send one or two additional frames to the compositor. The result is that the window stays visible in the compositor, always showing that last frrame.

      Works fine on the desktop with Mesa drivers, but breaks on iMX.6 with Vivante drivers.

      This happens with both the Weston compositor and with a custom QWaylandQuickCompositor, so it is either a bug in the QtWayland QPA plugin, or in the Vivante driver.

      This only happens when an animation is running in the window that is being hidden.

      Simple testcase is attached, and a WAYLAND_DEBUG=client log for the relevant part is also attached, clearly showing the spurious calls wl_surface::attach() and wl_surface::commit(). These spurious calls probably originate from a call to eglSwapBuffers().

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              janichol Andy Nichols
              tmcguire Thomas McGuire
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes