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 <assam.boudjelthia@qt.io>
This commit is contained in:
Lauri Pohjanheimo 2025-02-03 15:57:01 +02:00
parent 8e94b67ba1
commit e37e3d9045
2 changed files with 18 additions and 7 deletions

View File

@ -4,7 +4,5 @@ android
# QTBUG-92211
[renderPassDescriptorCompatibility]
android
[renderToFloatTexture]
android
[tessellation vulkan]
android

View File

@ -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<QRhiTexture> 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<QRhiTexture> texture(rhi->newTexture(QRhiTexture::RGB10A2, outputSize, 1,