summaryrefslogtreecommitdiffstats
path: root/src/core/compositor/display_software_output_surface.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Chromium 116 adaptationsAllan Sandfeld Jensen2023-12-091-1/+1
| | | | | Change-Id: Ie297e6ddef21cda8d71ef3daeaa4bcb82e806911 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* 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>
* Adaptations for Chromium 112Allan Sandfeld Jensen2023-07-061-4/+4
| | | | | | Pick-to: 6.6 Change-Id: I1bb84b20a080d7f615bf0795ac2d97739e99ac1d Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Adaptations for Chromium 110Allan Sandfeld Jensen2023-07-061-2/+2
| | | | | | Pick-to: 6.6 Change-Id: I56e1695ee4fc2b0e12da6580a5673df80bba8b6d Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Rework painting integration and support Metal RHI over ANGLEAllan Sandfeld Jensen2023-04-121-3/+10
| | | | | | | | | | | | | 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>
* Adapt to painting cleanupAllan Sandfeld Jensen2023-04-041-8/+11
| | | | | | | | | | Pass through alphaChannel requirement correctly, instead of having a nonfunctional hasAlphaChannel(). Pick-to: 6.5 Change-Id: I99adb17aa38fd91ea8fd93b86a352bc476690837 Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* 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>
* Fix accumulation of compositor-observer bindings for skia-on-glKirill Burtsev2022-02-041-6/+0
| | | | | | | | | | | | | One of Compositor's derived classes, DisplaySkiaOutputDevice, was missing call to 'unbind' from its observer, leading to not releasing binding from global cache on destroy. Since unbind is done on destroy, remove all explicit calls to unbind from derived classes, and just do them in their base implementations. Ammends b117909825. Pick-to: 6.2 6.3 Change-Id: I75c909eaa22ca1946ad67aa5093a8ee268c3562b Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix rendering deadlock for software compositingKirill Burtsev2021-10-201-3/+6
| | | | | | | | | | With software compositing render thread of Qt's scene graph and Viz's thread may hit the same mutex inside output surface during frame update. Pick-to: 6.2 Fixes: QTBUG-97598 Change-Id: Ic02e161f7b16b22c9099b93f2b1a91e78347975f Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Refactor how frame sink id is passed to OutputSurfaceJüri Valdmann2021-06-221-5/+2
| | | | | | | | | Use dedicated method viz::OutputSurface::SetFrameSinkId instead of getter on Display. Needs corresponding 3rdparty change. Pick-to: 6.2 Change-Id: I3cfdde56ae1e6204714881c2bdcb688bdbae1dc1 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Implement more Compositor methods for software modeJüri Valdmann2020-07-151-0/+12
| | | | | | | | 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-47/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Fix DisplaySoftwareOutputSurface swap with transparent backgroundJüri Valdmann2020-04-091-1/+3
| | | | | | | | | Change QPainter's compositing mode from the default SourceOver (alpha-blending) to Source (copy). Fixes: QTBUG-81250 Change-Id: I670772b77cdd89ec42de96808608693ad50f726a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Adaptations for Chromium 77Allan Sandfeld Jensen2019-10-111-7/+7
| | | | | | Fixes: QTBUG-77267 Change-Id: I181e24cf80ebee6991b95dde6c636f0d169b40a4 Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
* Use ui::CompositorJüri Valdmann2019-08-221-0/+173
Needs corresponding 3rdparty change. Fixes: QTBUG-71885 Change-Id: I791bc3da5a7a66e03470e9e05bf25a997101b018 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>