diff --git a/src/gui/painting/qbackingstorerhisupport.cpp b/src/gui/painting/qbackingstorerhisupport.cpp index 81b3f0eb7df..f55fbc5a153 100644 --- a/src/gui/painting/qbackingstorerhisupport.cpp +++ b/src/gui/painting/qbackingstorerhisupport.cpp @@ -232,25 +232,6 @@ QRhi::Implementation QBackingStoreRhiSupport::apiToRhiBackend(QPlatformBackingSt return QRhi::Null; } -const char *QBackingStoreRhiSupport::apiName(QPlatformBackingStoreRhiConfig::Api api) -{ - switch (api) { - case QPlatformBackingStoreRhiConfig::OpenGL: - return "OpenGL"; - case QPlatformBackingStoreRhiConfig::Metal: - return "Metal"; - case QPlatformBackingStoreRhiConfig::Vulkan: - return "Vulkan"; - case QPlatformBackingStoreRhiConfig::D3D11: - return "D3D11"; - case QPlatformBackingStoreRhiConfig::Null: - return "Null"; - default: - break; - } - return "Unknown"; -} - bool QBackingStoreRhiSupport::checkForceRhi(QPlatformBackingStoreRhiConfig *outConfig, QSurface::SurfaceType *outType) { static QPlatformBackingStoreRhiConfig config; @@ -304,7 +285,7 @@ bool QBackingStoreRhiSupport::checkForceRhi(QPlatformBackingStoreRhiConfig *outC } qCDebug(lcQpaBackingStore) << "Check for forced use of QRhi resulted in enable" - << config.isEnabled() << "with api" << apiName(config.api()); + << config.isEnabled() << "with api" << QRhi::backendName(apiToRhiBackend(config.api())); } if (config.isEnabled()) { diff --git a/src/gui/painting/qbackingstorerhisupport_p.h b/src/gui/painting/qbackingstorerhisupport_p.h index c67ea6dd6ab..c8aa8f46eab 100644 --- a/src/gui/painting/qbackingstorerhisupport_p.h +++ b/src/gui/painting/qbackingstorerhisupport_p.h @@ -44,7 +44,6 @@ public: static bool checkForceRhi(QPlatformBackingStoreRhiConfig *outConfig, QSurface::SurfaceType *outType); static QRhi::Implementation apiToRhiBackend(QPlatformBackingStoreRhiConfig::Api api); - static const char *apiName(QPlatformBackingStoreRhiConfig::Api api); QRhi *rhi() const { return m_rhi; } diff --git a/src/gui/rhi/qrhi.cpp b/src/gui/rhi/qrhi.cpp index d5c9cebac8b..402902e24f2 100644 --- a/src/gui/rhi/qrhi.cpp +++ b/src/gui/rhi/qrhi.cpp @@ -5456,11 +5456,12 @@ QRhi::Implementation QRhi::backend() const } /*! - \return the backend type as string for this QRhi. + \return a friendly name for the backend \a impl, usually the name of the 3D + API in use. */ -const char *QRhi::backendName() const +const char *QRhi::backendName(Implementation impl) { - switch (d->implType) { + switch (impl) { case QRhi::Null: return "Null"; case QRhi::Vulkan: @@ -5474,7 +5475,15 @@ const char *QRhi::backendName() const } Q_UNREACHABLE(); - return nullptr; + return "Unknown"; +} + +/*! + \return the backend type as string for this QRhi. + */ +const char *QRhi::backendName() const +{ + return backendName(d->implType); } /*! diff --git a/src/gui/rhi/qrhi_p.h b/src/gui/rhi/qrhi_p.h index f8258665855..6e95e4542b6 100644 --- a/src/gui/rhi/qrhi_p.h +++ b/src/gui/rhi/qrhi_p.h @@ -1701,6 +1701,7 @@ public: Implementation backend() const; const char *backendName() const; + static const char *backendName(Implementation impl); QRhiDriverInfo driverInfo() const; QThread *thread() const; diff --git a/tests/auto/gui/rhi/qrhi/tst_qrhi.cpp b/tests/auto/gui/rhi/qrhi/tst_qrhi.cpp index 6409c43bc4a..799cc0743d7 100644 --- a/tests/auto/gui/rhi/qrhi/tst_qrhi.cpp +++ b/tests/auto/gui/rhi/qrhi/tst_qrhi.cpp @@ -255,6 +255,7 @@ void tst_QRhi::create() QCOMPARE(rhi->backend(), impl); QVERIFY(strcmp(rhi->backendName(), "")); + QVERIFY(!strcmp(rhi->backendName(), QRhi::backendName(rhi->backend()))); QVERIFY(!rhi->driverInfo().deviceName.isEmpty()); QCOMPARE(rhi->thread(), QThread::currentThread());