Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-74406 Abstract away the graphics APIs in Qt
  3. QTBUG-76701

Are QPlatformSurfaceEvent::Surface* events sufficient to handle all platforms?

    XMLWordPrintable

Details

    • Linux/Wayland

    Description

      The assumption that the native window or surface object (whichever is applicable on a plaform) backing a QPlatformWindow follows the QPlatformWindow's lifetime is wrong.

      (the events are sent from QtGui currently, without accurately following the underlying native objects' lifetime, hence the assumption)

      On at least one platform, Wayland, the wl_surface can disappear and can get recreated during the lifetime of the QWaylandWindow (the QPlatformWindow implementation).

      While Wayland-specific users (such as th Qt Application Manager) can handle this via private APIs exposed from waylandclient (a shared lib part of the wayland platform plugin), generic Qt users cannot. (see https://codereview.qt-project.org/c/qt/qtwayland/+/266329 )

      Would this then present an issue on Vulkan for example, where application- or QtQuick- managed swapchains are tied to a VkSurfaceKHR that is in turn created for the wl_surface?

      Attachments

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

        Activity

          People

            lagocs Laszlo Agocs
            lagocs Laszlo Agocs
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes