diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2018-03-13 09:46:42 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2019-12-19 07:54:19 +0100 |
commit | 00013d253e9ffac7091422a605ff4e06a1607480 (patch) | |
tree | c4af9434c1aa1ee4133645157fea60e2eaddbe41 | |
parent | bba6f45889fe1b7503bf812bb2bf6456a730c3a5 (diff) |
Use QT3D_RENDERER env var to load different renderer plugins
Change-Id: Ib66ebc77f4926b2ea1e956762ec0f286162a95e6
-rw-r--r-- | src/render/frontend/qrenderaspect.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/render/frontend/qrenderaspect.cpp b/src/render/frontend/qrenderaspect.cpp index 196b5b333..6a2b91842 100644 --- a/src/render/frontend/qrenderaspect.cpp +++ b/src/render/frontend/qrenderaspect.cpp @@ -672,13 +672,19 @@ Render::AbstractRenderer *QRenderAspectPrivate::loadRendererPlugin() // Note: for now we load the first renderer plugin that is successfully loaded // In the future we might want to offer the user a way to hint at which renderer // plugin would best be loaded + + const QByteArray envTarget = qgetenv("QT3D_RENDERER"); + const QString targetKey = !envTarget.isEmpty() ? QString::fromLatin1(envTarget) : QStringLiteral("opengl"); const QStringList keys = Render::QRendererPluginFactory::keys(); for (const QString &key : keys) { + if (key != targetKey) + continue; Render::AbstractRenderer *renderer = Render::QRendererPluginFactory::create(key, m_renderType); if (renderer) return renderer; } - qFatal("Unable to load a renderer plugin"); + const QByteArray targetKeyName = targetKey.toLatin1(); + qFatal("Unable to find renderer plugin for %s", targetKeyName.constData()); return nullptr; } |