summaryrefslogtreecommitdiffstats
path: root/src/core/compositor/compositor.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move Vulkan support to NativeSkiaOutputDevicePeter Varga2024-01-121-4/+1
| | | | | | | | | | | | Ozone: keep using Vulkan backend for Chromium rendering and export the Vulkan texture from NativePixmap. Windows: use Angle backend for Chromium rendering and export the Vulkan texture from Direct3D11 texture. Pick-to: 6.7 Change-Id: I8b05a5d29d0ff74e41390dd632162895fc0d9e61 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Compositor: fix potential nullptr accessVladimir Belyavsky2023-11-021-6/+2
| | | | | | | | | | Check m_binding under the mutex to avoid data race and potentially crash on nullptr access. Fixes: QTBUG-118455 Pick-to: 6.6 6.5 Change-Id: I169c90226616e14461875aae1c72bbba2b36de8c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Clean up rendering codePeter Varga2023-07-271-1/+0
| | | | | | Pick-to: 6.6 Change-Id: I1bea5b05677791046fcd260ecac0236674730889 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Support ANGLE to CGL paintingAllan Sandfeld Jensen2023-07-061-3/+1
| | | | | | | | | | Support opengl backend for macOS without CGL support in Chromium. Means we can remove a lot of hacks. Pick-to: 6.6 Change-Id: I3773fab24ab851bc471411fb31baf93727b9c110 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Rework painting integration and support Metal RHI over ANGLEAllan Sandfeld Jensen2023-04-121-15/+6
| | | | | | | | | | | | | Move graphics details into compositor, and add support for a native buffer mode uses ANGLE on the Chromium side. The initially support is for Metal. Pick-to: 6.5 Fixes: QTBUG-112282 Task-number: QTBUG-112280 Change-Id: I066ba1d3e72508e047d259ae5797659d45335fb2 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Add Vulkan rendering supportPeter Varga2022-11-101-0/+20
| | | | | | | | | | Updates 3rdparty: * 8b7ce4ef70d Make GrVkImage external Task-number: QTBUG-107669 Change-Id: If7fbe1f20538598dd1d4f3a67be17c9f7d06a3cd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-221-38/+2
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I869ffda1080e283f231eb0dc4477b260f2054d99 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Implement more Compositor methods for software modeJüri Valdmann2020-07-151-18/+0
| | | | | | | | Add implementations of devicePixelRatio, textureSize, hasAlphaChannel also for software mode. Rename textureSize to just size. Change-Id: I5c515e4fed3330e0ecbfc17e7ec092245a13e619 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Move scenegraph handling out of coreJüri Valdmann2020-07-061-0/+215
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace Display{Producer,Consumer,FrameSink} with the new classes Compositor and Compositor::Observer. The Compositor subclasses are implemented by the OutputSurfaces, replacing DisplayProducer in this role. Unlike DisplayProducer, the new classes do not use QtQuick scenegraph types, but rather give access to the software QImage or OpenGL texture directly. The connection to the "other half" is simplified by replacing DisplayConsumer with Compositor::Observer, which is no longer implemented by RenderWidgetHostViewQt, but directly by its delegates in the quick and widgets libraries. RenderWidgetHostViewQt now only provides the delegate with a Compositor::Id which is used to connect the corresponding Compositor and Observer. The delegates are responsible for generating QtQuick scenegraph nodes from the information provided by the Compositor subclasses. Behavior with software and old OpenGL scenegraph backends is unchanged: both continue to work. As for the RHI scenegraph backend, the code here is correct but nonetheless not working: changes are needed in qtbase to make RHI use the global share context for its OpenGL context. Fixes: QTBUG-78682 Change-Id: I837da8860a18ec366ed33f6ecc44c147245e1101 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Delete old compositor and remove --disable-viz-display-compositorJüri Valdmann2020-06-081-187/+0
| | | | | Change-Id: I1b056a61e2b56b19441f559e97f785c87df61a0c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix building dev with newer QtBaseAllan Sandfeld Jensen2020-04-241-1/+1
| | | | | Change-Id: I0d52e4f6684425cb15319760e0001bdb13846997 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 79Allan Sandfeld Jensen2020-02-281-4/+2
| | | | | | | | Fixes: QTBUG-80737 Fixes: QTBUG-81556 Fixes: QTBUG-81614 Change-Id: Ie6a69cdbf46d0508bff226f1b8fed28a618e1949 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 78Allan Sandfeld Jensen2020-02-281-2/+2
| | | | | | | | | | Including removal of renderer service. [ChangeLog][QWebEngineSetting] XSS Auditing has been removed, and XSSAuditingEnabled no longer has any effect. Change-Id: I0835e2a76551057f3eea30a343e0373b642192f0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 77Allan Sandfeld Jensen2019-10-111-2/+3
| | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Set correct priorities on tasks and threadsAllan Sandfeld Jensen2019-04-101-1/+1
| | | | | Change-Id: I1dc8b466d0b45f9e1d6c973f1ad3c62033bf4409 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 73Allan Sandfeld Jensen2019-03-231-4/+3
| | | | | Change-Id: I565d1e327852110a5abebed3388d7cd6986bef06 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 72Allan Sandfeld Jensen2019-03-231-3/+5
| | | | | Change-Id: Ic355257066c7c1433862cb41e6f2bfa831147e0d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 71Allan Sandfeld Jensen2019-01-281-10/+9
| | | | | | | Change-Id: Ib650113b05dfd4771240804f94e33c07aa317bf2 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 70Allan Sandfeld Jensen2019-01-281-4/+3
| | | | | | | Change-Id: I8bb77784dbc8a0b9debd96a4c49421bd34e6a0df Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Merge branch '5.12' into devAllan Sandfeld Jensen2018-11-161-4/+7
| | | | | | | | Conflicts: src/core/compositor/compositor.cpp src/core/compositor/compositor.h Change-Id: I8a4d73d728d93d95e499849f8778cc88dda2105e
* Move compositor and scene-graph integration to its own dirAllan Sandfeld Jensen2018-11-071-0/+186
Change-Id: Ib552dc30db5ee886631a108b4ccd866459c432e2 Reviewed-by: Michal Klocek <michal.klocek@qt.io>