Blacklist nouveau and llvmpipe for multithreading (#1706420)
This commit is contained in:
parent
d3250a64e0
commit
ae2a637c47
|
@ -0,0 +1,58 @@
|
||||||
|
From 96f6cab22cab252cbe7a98bbeadde95497e0bd75 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
||||||
|
Date: Tue, 26 Feb 2019 10:38:58 +0100
|
||||||
|
Subject: [PATCH 234/518] 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>
|
||||||
|
---
|
||||||
|
.../xcb_glx/qglxintegration.cpp | 18 ++++++++++++++++++
|
||||||
|
1 file changed, 18 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||||
|
index d42a33c22b..476de6d1e5 100644
|
||||||
|
--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||||
|
+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
|
||||||
|
@@ -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),
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
|
@ -53,7 +53,7 @@ BuildRequires: pkgconfig(libsystemd)
|
||||||
Name: qt5-qtbase
|
Name: qt5-qtbase
|
||||||
Summary: Qt5 - QtBase components
|
Summary: Qt5 - QtBase components
|
||||||
Version: 5.12.1
|
Version: 5.12.1
|
||||||
Release: 5%{?dist}
|
Release: 6%{?dist}
|
||||||
|
|
||||||
# See LGPL_EXCEPTIONS.txt, for exception details
|
# See LGPL_EXCEPTIONS.txt, for exception details
|
||||||
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
License: LGPLv2 with exceptions or GPLv3 with exceptions
|
||||||
|
@ -129,6 +129,7 @@ Patch68: qtbase-everywhere-src-5.11.1-python3.patch
|
||||||
# glibc stat
|
# glibc stat
|
||||||
|
|
||||||
## upstream patches
|
## upstream patches
|
||||||
|
Patch234: 0234-Blacklist-nouveau-and-llvmpipe-for-multithreading.patch
|
||||||
|
|
||||||
# Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires.
|
# Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires.
|
||||||
# Those themes are there for platform integration. If the required libraries are
|
# Those themes are there for platform integration. If the required libraries are
|
||||||
|
@ -373,8 +374,7 @@ Qt5 libraries used for drawing widgets and OpenGL items.
|
||||||
%setup -q -n %{qt_module}-everywhere-src-%{version}
|
%setup -q -n %{qt_module}-everywhere-src-%{version}
|
||||||
|
|
||||||
## upstream fixes
|
## upstream fixes
|
||||||
|
%patch234 -p1 -b .0234
|
||||||
|
|
||||||
|
|
||||||
%patch4 -p1 -b .QTBUG-35459
|
%patch4 -p1 -b .QTBUG-35459
|
||||||
# omit '-b .tell-the-truth-about-private-api' so it doesn't end up in installed files -- rdieter
|
# omit '-b .tell-the-truth-about-private-api' so it doesn't end up in installed files -- rdieter
|
||||||
|
@ -1014,6 +1014,9 @@ fi
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed May 08 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-6
|
||||||
|
- Blacklist nouveau and llvmpipe for multithreading (#1706420)
|
||||||
|
|
||||||
* Thu May 02 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-5
|
* Thu May 02 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-5
|
||||||
- keep mkspecs/modules/*_private.pri in -devel #1705280)
|
- keep mkspecs/modules/*_private.pri in -devel #1705280)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue