diff options
author | Mike Krus <mike.krus@kdab.com> | 2020-09-13 20:45:00 +0100 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2020-09-14 14:42:40 +0100 |
commit | 71686e9a0f0753940d7da058a609064b950f4f34 (patch) | |
tree | a7ac4741ef04e4323b4a673d134c87661ef418f5 | |
parent | 959f3a35a089f5380ce9a84408dd8ecd090c633f (diff) |
Enable RHI Renderer by default
Also make sure Scene3D defaults to the RHI renderer since old
OpenGL code path no longer works.
Handle issue with GCC not supporting use of this in method declarations.
Change-Id: I7d8f3ec3ec7405f42161506b21d8a9dee24cc962
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
-rw-r--r-- | src/plugins/renderers/configure.cmake | 1 | ||||
-rw-r--r-- | src/plugins/renderers/rhi/renderer/rendercommand_p.h | 2 | ||||
-rw-r--r-- | src/quick3d/imports/scene3d/scene3ditem.cpp | 7 |
3 files changed, 4 insertions, 6 deletions
diff --git a/src/plugins/renderers/configure.cmake b/src/plugins/renderers/configure.cmake index 54c20d9ab..49d8a8d04 100644 --- a/src/plugins/renderers/configure.cmake +++ b/src/plugins/renderers/configure.cmake @@ -22,7 +22,6 @@ qt_feature("qt3d_rhi_renderer" PRIVATE SECTION "Qt 3D Renderers" LABEL "RHI Renderer" PURPOSE "Build the RHI renderer" - AUTODETECT OFF ) qt_configure_add_summary_section(NAME "Qt3D Renderers") diff --git a/src/plugins/renderers/rhi/renderer/rendercommand_p.h b/src/plugins/renderers/rhi/renderer/rendercommand_p.h index a4f7332de..9e2585588 100644 --- a/src/plugins/renderers/rhi/renderer/rendercommand_p.h +++ b/src/plugins/renderers/rhi/renderer/rendercommand_p.h @@ -189,7 +189,7 @@ public: } template<typename F> - auto visit(F&& f) const noexcept(noexcept(std::visit(f, (const variant&) *this))) + auto visit(F&& f) const { return std::visit(f, (const variant&) *this); } diff --git a/src/quick3d/imports/scene3d/scene3ditem.cpp b/src/quick3d/imports/scene3d/scene3ditem.cpp index f086ab2ae..7d4b60bdd 100644 --- a/src/quick3d/imports/scene3d/scene3ditem.cpp +++ b/src/quick3d/imports/scene3d/scene3ditem.cpp @@ -204,6 +204,9 @@ Scene3DItem::Scene3DItem(QQuickItem *parent) // we still won't get ignored by the QtQuick SG when in Underlay mode setWidth(1); setHeight(1); + + if (qgetenv("QT3D_RENDERER").isEmpty()) + qputenv("QT3D_RENDERER", "rhi"); // QtQuick requires RHI } Scene3DItem::~Scene3DItem() @@ -820,10 +823,6 @@ QSGNode *Scene3DItem::updatePaintNode(QSGNode *node, QQuickItem::UpdatePaintNode // If the render aspect wasn't created yet, do so now if (!managerNode->isInitialized()) { - // Requested API of OpenGLRhi implies OpenGL renderer - if (windowApi != QSGRendererInterface::OpenGLRhi && qgetenv("QT3D_RENDERER").isEmpty()) - qputenv("QT3D_RENDERER", "rhi"); // else Qt3D still defaults to OpenGL - auto *rw = QQuickRenderControl::renderWindowFor(window()); auto renderAspectPriv = static_cast<QRenderAspectPrivate*>(QRenderAspectPrivate::get(renderAspect)); renderAspectPriv->m_screen = (rw ? rw->screen() : window()->screen()); |