diff options
-rw-r--r-- | config.tests/qpa/eglfs-viv/eglfs-viv.cpp | 4 | ||||
-rw-r--r-- | src/gui/opengl/qopenglshaderprogram.cpp | 5 | ||||
-rw-r--r-- | src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/qeglfsvivintegration.cpp | 4 |
3 files changed, 12 insertions, 1 deletions
diff --git a/config.tests/qpa/eglfs-viv/eglfs-viv.cpp b/config.tests/qpa/eglfs-viv/eglfs-viv.cpp index e6e17919dc..1f5c5dbf50 100644 --- a/config.tests/qpa/eglfs-viv/eglfs-viv.cpp +++ b/config.tests/qpa/eglfs-viv/eglfs-viv.cpp @@ -42,8 +42,12 @@ int main(int, char **) { +#if defined(__INTEGRITY) + fbGetDisplay(); +#else // Do not rely on fbGetDisplay() since the signature has changed over time. // Stick to fbGetDisplayByIndex(). fbGetDisplayByIndex(0); +#endif return 0; } diff --git a/src/gui/opengl/qopenglshaderprogram.cpp b/src/gui/opengl/qopenglshaderprogram.cpp index c9552fd321..0d0f40efee 100644 --- a/src/gui/opengl/qopenglshaderprogram.cpp +++ b/src/gui/opengl/qopenglshaderprogram.cpp @@ -3739,6 +3739,11 @@ QOpenGLProgramBinarySupportCheck::QOpenGLProgramBinarySupportCheck(QOpenGLContex : QOpenGLSharedResource(context->shareGroup()), m_supported(false) { +// Shader cache is disabled for INTEGRITY as the driver doesn't handle +// unaligned data. +#if defined(Q_OS_INTEGRITY) + return; +#endif if (QCoreApplication::testAttribute(Qt::AA_DisableShaderDiskCache)) { qCDebug(DBG_SHADER_CACHE, "Shader cache disabled via app attribute"); return; diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/qeglfsvivintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/qeglfsvivintegration.cpp index f2fcc0d3ff..763a4a462b 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/qeglfsvivintegration.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/qeglfsvivintegration.cpp @@ -63,9 +63,11 @@ void QEglFSVivIntegration::platformInit() #ifdef Q_OS_INTEGRITY VivanteInit(); + mNativeDisplay = fbGetDisplay(); +#else + mNativeDisplay = fbGetDisplayByIndex(framebufferIndex()); #endif - mNativeDisplay = fbGetDisplayByIndex(framebufferIndex()); fbGetDisplayGeometry(mNativeDisplay, &width, &height); mScreenSize.setHeight(height); mScreenSize.setWidth(width); |