Blacklist nouveau and llvmpipe for multithreading

After removing Mesa drivers from being blank blacklisted, we still need
to blacklist nouveau specifically due to their lack of proper locking:
https://bugs.freedesktop.org/show_bug.cgi?id=91632

llvmpipe is similarly blacklisted for now, as we lack enough information
to know if the underlying issue behind QTCREATORBUG-10666 has been solved.

Fixes: QTBUG-73715
Change-Id: I1a60b562cd9db94fa8462b922d6bfeebf0088dc5
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
bb10
Allan Sandfeld Jensen 2019-02-26 10:38:58 +01:00
parent 90959f7080
commit 96f6cab22c
1 changed files with 18 additions and 0 deletions

View File

@ -652,6 +652,12 @@ static const char *qglx_threadedgl_blacklist_renderer[] = {
0
};
static const char *qglx_threadedgl_blacklist_vendor[] = {
"llvmpipe", // QTCREATORBUG-10666
"nouveau", // https://bugs.freedesktop.org/show_bug.cgi?id=91632
nullptr
};
void QGLXContext::queryDummyContext()
{
if (m_queriedDummyContext)
@ -710,6 +716,18 @@ void QGLXContext::queryDummyContext()
}
}
}
if (const char *vendor = (const char *) glGetString(GL_VENDOR)) {
for (int i = 0; qglx_threadedgl_blacklist_vendor[i]; ++i) {
if (strstr(vendor, qglx_threadedgl_blacklist_vendor[i]) != 0) {
qCDebug(lcQpaGl).nospace() << "Multithreaded OpenGL disabled: "
"blacklisted vendor \""
<< qglx_threadedgl_blacklist_vendor[i]
<< "\"";
m_supportsThreading = false;
break;
}
}
}
if (glxvendor && m_supportsThreading) {
// Blacklist Mesa drivers due to QTCREATORBUG-10875 (crash in creator),