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

Qt on macOS Graphics/integration update

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • P2: Important
    • None
    • None
    • QPA
    • None
    • macOS

    Description

      Topics

      Core Animation layer-backed QWindow QTBUG-49856
      Make QCocoaWindow work well when embedded in NSView hierarchies where Core Animation compositing is enabled.

      Externally driven/unified animations and updates (via CVDisplayLink) QTBUG-49859
      An unified invalidate/update API for raster and OpenGL QtWidgets, and Qt Quick.

      QWindow embedding API QTBUG-49977
      Improve API and implementation for Qt-as-plugin use cases.

      Color Space support QTBUG-47660
      Basic color space support: Give Qt Apps some options to get correct color management.

      NSWindow-backed QWindow
      Child QWindows backed by a NSWindow, giving each an independent OpenGL context.

      Manual and Auto Testing
      Unit tests for the Cocoa platform plugin: QTBUG-50552

      OS X Raster Child Window Update Optimizations
      QTBUG-54933

      Code

      qtbase-remac
      qt-osx-testbench

      Transition Planning

      Initial development is in a separate branch. Initial integration will be mainly as opt-in modes, to ease the transition and avoid regressing for current users. (The modes are to some degree already present: environment variables
      QT_MAC_WANTS_LAYER and QT_MAC_USE_NSWINDOW). Removing old code paths and selecting default configurations can be done once the new code paths are stable.

      General Implementation plan

      Build from the ground up:

      1. Implement cases in native code only (No Qt)
      2. Simple use cases: QOpenGLWindow, QRasterWindow
      3. QWidgetWindow, QQuickWindow(gui-thread rendering)
      4. QGLWidget
      5. Multithreaded OpenGL

      Attachments

        Issue Links

          Activity

            People

              vestbo Tor Arne Vestbø
              sorvig Morten Sørvig
              Votes:
              7 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: