diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/kernel/qplatformintegration.cpp | 11 | ||||
-rw-r--r-- | src/gui/kernel/qplatformintegration.h | 3 | ||||
-rw-r--r-- | src/plugins/platforms/bsdfb/qbsdfbintegration.cpp | 2 | ||||
-rw-r--r-- | src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp | 1 | ||||
-rw-r--r-- | src/plugins/platforms/minimal/qminimalintegration.cpp | 1 | ||||
-rw-r--r-- | src/plugins/platforms/offscreen/qoffscreenintegration.cpp | 1 | ||||
-rw-r--r-- | src/plugins/platforms/vnc/qvncintegration.cpp | 1 |
7 files changed, 18 insertions, 2 deletions
diff --git a/src/gui/kernel/qplatformintegration.cpp b/src/gui/kernel/qplatformintegration.cpp index ff0c9ae255..a53f0d09d7 100644 --- a/src/gui/kernel/qplatformintegration.cpp +++ b/src/gui/kernel/qplatformintegration.cpp @@ -251,6 +251,15 @@ QPlatformServices *QPlatformIntegration::services() const \value PaintEvents The platform sends paint events instead of expose events when the window needs repainting. Expose events are only sent when a window is toggled from a non-exposed to exposed state or back. + + \value RhiBasedRendering The platform supports one or more of the 3D rendering APIs + that Qt Quick and other components can use via the Qt Rendering Hardware Interface. On + platforms where it is clear upfront that the platform cannot, or does not want to, + support rendering via 3D graphics APIs such as OpenGL, Vulkan, Direct 3D, or Metal, + this capability can be reported as \c false. That in effect means that in modules + where there is an alternative, such as Qt Quick with its \c software backend, an + automatic fallback to that alternative may occur, if applicable. The default + implementation of hasCapability() returns \c true. */ /*! @@ -275,7 +284,7 @@ QPlatformServices *QPlatformIntegration::services() const bool QPlatformIntegration::hasCapability(Capability cap) const { return cap == NonFullScreenWindows || cap == NativeWidgets || cap == WindowManagement - || cap == TopStackedNativeChildWindows || cap == WindowActivation; + || cap == TopStackedNativeChildWindows || cap == WindowActivation || cap == RhiBasedRendering; } QPlatformPixmap *QPlatformIntegration::createPlatformPixmap(QPlatformPixmap::PixelType type) const diff --git a/src/gui/kernel/qplatformintegration.h b/src/gui/kernel/qplatformintegration.h index c8438a6c24..75b942f998 100644 --- a/src/gui/kernel/qplatformintegration.h +++ b/src/gui/kernel/qplatformintegration.h @@ -132,7 +132,8 @@ public: TopStackedNativeChildWindows, OpenGLOnRasterSurface, MaximizeUsingFullscreenGeometry, - PaintEvents + PaintEvents, + RhiBasedRendering }; virtual ~QPlatformIntegration() { } diff --git a/src/plugins/platforms/bsdfb/qbsdfbintegration.cpp b/src/plugins/platforms/bsdfb/qbsdfbintegration.cpp index 9abc2f81fa..db6d9fd968 100644 --- a/src/plugins/platforms/bsdfb/qbsdfbintegration.cpp +++ b/src/plugins/platforms/bsdfb/qbsdfbintegration.cpp @@ -95,6 +95,8 @@ bool QBsdFbIntegration::hasCapability(QPlatformIntegration::Capability cap) cons return true; case WindowManagement: return false; + case RhiBasedRendering: + return false; default: return QPlatformIntegration::hasCapability(cap); } diff --git a/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp b/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp index 61c4fdf768..e9f41e1a5c 100644 --- a/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp +++ b/src/plugins/platforms/linuxfb/qlinuxfbintegration.cpp @@ -111,6 +111,7 @@ bool QLinuxFbIntegration::hasCapability(QPlatformIntegration::Capability cap) co switch (cap) { case ThreadedPixmaps: return true; case WindowManagement: return false; + case RhiBasedRendering: return false; default: return QPlatformIntegration::hasCapability(cap); } } diff --git a/src/plugins/platforms/minimal/qminimalintegration.cpp b/src/plugins/platforms/minimal/qminimalintegration.cpp index 857594cc2a..e58fadc1ef 100644 --- a/src/plugins/platforms/minimal/qminimalintegration.cpp +++ b/src/plugins/platforms/minimal/qminimalintegration.cpp @@ -119,6 +119,7 @@ bool QMinimalIntegration::hasCapability(QPlatformIntegration::Capability cap) co switch (cap) { case ThreadedPixmaps: return true; case MultipleWindows: return true; + case RhiBasedRendering: return false; default: return QPlatformIntegration::hasCapability(cap); } } diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp index 930648b3ea..14218bb537 100644 --- a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp +++ b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp @@ -216,6 +216,7 @@ bool QOffscreenIntegration::hasCapability(QPlatformIntegration::Capability cap) switch (cap) { case ThreadedPixmaps: return true; case MultipleWindows: return true; + case RhiBasedRendering: return false; default: return QPlatformIntegration::hasCapability(cap); } } diff --git a/src/plugins/platforms/vnc/qvncintegration.cpp b/src/plugins/platforms/vnc/qvncintegration.cpp index 9836839274..e6586ebfa6 100644 --- a/src/plugins/platforms/vnc/qvncintegration.cpp +++ b/src/plugins/platforms/vnc/qvncintegration.cpp @@ -105,6 +105,7 @@ bool QVncIntegration::hasCapability(QPlatformIntegration::Capability cap) const switch (cap) { case ThreadedPixmaps: return true; case WindowManagement: return false; + case RhiBasedRendering: return false; default: return QPlatformIntegration::hasCapability(cap); } } |