From ae2a637c4763880126733d1755f933390b6d94d5 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 8 May 2019 14:49:31 -0500 Subject: [PATCH] Blacklist nouveau and llvmpipe for multithreading (#1706420) --- ...veau-and-llvmpipe-for-multithreading.patch | 58 +++++++++++++++++++ qt5-qtbase.spec | 9 ++- 2 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 0234-Blacklist-nouveau-and-llvmpipe-for-multithreading.patch diff --git a/0234-Blacklist-nouveau-and-llvmpipe-for-multithreading.patch b/0234-Blacklist-nouveau-and-llvmpipe-for-multithreading.patch new file mode 100644 index 0000000..ebe96c2 --- /dev/null +++ b/0234-Blacklist-nouveau-and-llvmpipe-for-multithreading.patch @@ -0,0 +1,58 @@ +From 96f6cab22cab252cbe7a98bbeadde95497e0bd75 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +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 +--- + .../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 + diff --git a/qt5-qtbase.spec b/qt5-qtbase.spec index bd31611..e475a8b 100644 --- a/qt5-qtbase.spec +++ b/qt5-qtbase.spec @@ -53,7 +53,7 @@ BuildRequires: pkgconfig(libsystemd) Name: qt5-qtbase Summary: Qt5 - QtBase components Version: 5.12.1 -Release: 5%{?dist} +Release: 6%{?dist} # See LGPL_EXCEPTIONS.txt, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -129,6 +129,7 @@ Patch68: qtbase-everywhere-src-5.11.1-python3.patch # glibc stat ## upstream patches +Patch234: 0234-Blacklist-nouveau-and-llvmpipe-for-multithreading.patch # Do not check any files in %%{_qt5_plugindir}/platformthemes/ for requires. # 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} ## upstream fixes - - +%patch234 -p1 -b .0234 %patch4 -p1 -b .QTBUG-35459 # omit '-b .tell-the-truth-about-private-api' so it doesn't end up in installed files -- rdieter @@ -1014,6 +1014,9 @@ fi %changelog +* Wed May 08 2019 Rex Dieter - 5.12.1-6 +- Blacklist nouveau and llvmpipe for multithreading (#1706420) + * Thu May 02 2019 Rex Dieter - 5.12.1-5 - keep mkspecs/modules/*_private.pri in -devel #1705280)