- 
    Task 
- 
    Resolution: Done
- 
    P2: Important 
- 
    None
- 
    None
- 
    None
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
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:
- Implement cases in native code only (No Qt)
- Simple use cases: QOpenGLWindow, QRasterWindow
- QWidgetWindow, QQuickWindow(gui-thread rendering)
- QGLWidget
- Multithreaded OpenGL
- depends on
- 
                    QTBUG-47660 [OS X]: Fix qt_mac_displayColorSpace() so that it correctly checks the display at that point in time -         
- Closed
 
-         
- 
                    QTBUG-50552 Unit and manual tests for the Cocoa platform plugin -         
- Reported
 
-         
- 
                    QTBUG-49856 OS X: Core Animation layer-backed QWindow -         
- Closed
 
-         
- 
                    QTBUG-49859 OS X: Unified Expose and Update events via CVDisplayLink/drawRect -         
- Closed
 
-         
- 
                    QTBUG-49977 OS X: Improve QWindow embedding support -         
- Closed
 
-         
- is required for
- 
                    QTBUG-57831 macOS 10.12.1 fullscreen show a double toolbar -         
- Closed
 
-         
- relates to
- 
                    PYSIDE-1444 PySide 5.15.1 & .2 on macOS 11 (Big Sur) hangs without opening window -         
- Closed
 
-