aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/qsgrhisupport.cpp
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2020-06-22 12:26:23 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2020-06-22 16:10:36 +0200
commit38bd2bd83144e3b7e7935e3730c109358b3e5740 (patch)
treef34b84d7837a0162f134283c5b050f15ce5c8838 /src/quick/scenegraph/qsgrhisupport.cpp
parentfdba8facd0093e3dbc18eaefa08a864d15606909 (diff)
Add test for rendercontrol + rendererinterface
Also add support for doing QQuickWindow::setSceneGraphBackend(QSGRendererInterface::Unknown). This becomes relevant especially in tests, where we may request a specific graphics API, but then want to switch back to the default behavior. Change-Id: Ib09c411432fc37bd4d36ce55d54d20af3f83860a Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/quick/scenegraph/qsgrhisupport.cpp')
-rw-r--r--src/quick/scenegraph/qsgrhisupport.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/quick/scenegraph/qsgrhisupport.cpp b/src/quick/scenegraph/qsgrhisupport.cpp
index aa5661fc94..4ba0cca65e 100644
--- a/src/quick/scenegraph/qsgrhisupport.cpp
+++ b/src/quick/scenegraph/qsgrhisupport.cpp
@@ -268,11 +268,18 @@ void QSGRhiSupport::checkEnvQSgInfo()
void QSGRhiSupport::configure(QSGRendererInterface::GraphicsApi api)
{
- Q_ASSERT(QSGRendererInterface::isApiRhiBased(api));
- QSGRhiSupport *inst = staticInst();
- inst->m_requested.valid = true;
- inst->m_requested.api = api;
- inst->applySettings();
+ if (api == QSGRendererInterface::Unknown) {
+ // behave as if nothing was explicitly requested
+ QSGRhiSupport *inst = staticInst();
+ inst->m_requested.valid = false;
+ inst->applySettings();
+ } else {
+ Q_ASSERT(QSGRendererInterface::isApiRhiBased(api));
+ QSGRhiSupport *inst = staticInst();
+ inst->m_requested.valid = true;
+ inst->m_requested.api = api;
+ inst->applySettings();
+ }
}
QSGRhiSupport *QSGRhiSupport::instance()