From e37e3d90453dc3e57eaba95f0b7108ed8978f036 Mon Sep 17 00:00:00 2001 From: Lauri Pohjanheimo Date: Mon, 3 Feb 2025 15:57:01 +0200 Subject: [PATCH] Unblacklist tst_QRhi::RenderToFloatTexture and skip on Android-Sim On CI an Android emulator with SwiftShader software graphics implementation is used. SwiftShader implementation is unable to emulate this OpenGL functionality. Blacklisting removed. QSKIP the test if it is run in Android platform, OpenGL and SwiftShader sw graphics implementation is found. Task-number: QTQAINFRA-6332 Pick-to: 6.8 Change-Id: I241a2c6772291795d26b9c2a563f4f9412605cf6 Reviewed-by: Assam Boudjelthia --- tests/auto/gui/rhi/qrhi/BLACKLIST | 2 -- tests/auto/gui/rhi/qrhi/tst_qrhi.cpp | 23 ++++++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/tests/auto/gui/rhi/qrhi/BLACKLIST b/tests/auto/gui/rhi/qrhi/BLACKLIST index 713e4ca18fb..f1f54e160cc 100644 --- a/tests/auto/gui/rhi/qrhi/BLACKLIST +++ b/tests/auto/gui/rhi/qrhi/BLACKLIST @@ -4,7 +4,5 @@ android # QTBUG-92211 [renderPassDescriptorCompatibility] android -[renderToFloatTexture] -android [tessellation vulkan] android diff --git a/tests/auto/gui/rhi/qrhi/tst_qrhi.cpp b/tests/auto/gui/rhi/qrhi/tst_qrhi.cpp index dcb5a319547..d6fc9b71745 100644 --- a/tests/auto/gui/rhi/qrhi/tst_qrhi.cpp +++ b/tests/auto/gui/rhi/qrhi/tst_qrhi.cpp @@ -161,6 +161,7 @@ private slots: private: void setWindowType(QWindow *window, QRhi::Implementation impl); + bool isAndroidOpenGLSwiftShader(QRhi::Implementation impl, const QRhi *rhi); struct { QRhiNullInitParams null; @@ -257,6 +258,15 @@ void tst_QRhi::rhiTestData() #endif } +bool tst_QRhi::isAndroidOpenGLSwiftShader(QRhi::Implementation impl, const QRhi *rhi) +{ +#ifdef Q_OS_ANDROID + if (impl == QRhi::OpenGLES2 && rhi->driverInfo().deviceName.contains("SwiftShader")) + return true; +#endif + return false; +} + void tst_QRhi::create_data() { rhiTestData(); @@ -6038,6 +6048,11 @@ void tst_QRhi::renderToFloatTexture() if (!rhi->isTextureFormatSupported(QRhiTexture::RGBA16F)) QSKIP("RGBA16F is not supported, skipping test"); + if (isAndroidOpenGLSwiftShader(impl, rhi.get())) { + QSKIP("SwiftShader software acceleration is used which does not support this OpenGLES " + "feature. See QTBUG-132934"); + } + const QSize outputSize(1920, 1080); QScopedPointer texture(rhi->newTexture(QRhiTexture::RGBA16F, outputSize, 1, QRhiTexture::RenderTarget | QRhiTexture::UsedAsTransferSource)); @@ -6127,12 +6142,10 @@ void tst_QRhi::renderToRgb10Texture() if (!rhi->isTextureFormatSupported(QRhiTexture::RGB10A2)) QSKIP("RGB10A2 is not supported, skipping test"); -#ifdef Q_OS_ANDROID - if (impl == QRhi::OpenGLES2) { - if (rhi->driverInfo().deviceName.contains("SwiftShader")) - QSKIP("SwiftShader software acceleration is used which does not support this OpenGLES feature. See QTBUG-132934"); + if (isAndroidOpenGLSwiftShader(impl, rhi.get())) { + QSKIP("SwiftShader software acceleration is used which does not support this OpenGLES " + "feature. See QTBUG-132934"); } -#endif const QSize outputSize(1920, 1080); QScopedPointer texture(rhi->newTexture(QRhiTexture::RGB10A2, outputSize, 1,