Add eglfs-viv support for INTEGRITY

Change-Id: I5ea23eeac930dcc628047e3322061d543bddb643
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Nikola Velinov <nvelinov@ghs.com>
bb10
Kimmo Ollila 2017-01-13 05:13:24 +02:00 committed by Kimmo Ollila
parent d3eec16862
commit daf2aa0047
3 changed files with 12 additions and 1 deletions

View File

@ -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;
}

View File

@ -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;

View File

@ -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);