Accepting request 399516 from X11:XOrg
- U_gallivm-disable-avx512-features.patch: Fix crashes on some Skykake CPUs by disabling avx512 features (bsc#980557, bsc#981532). OBS-URL: https://build.opensuse.org/request/show/399516 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Mesa?expand=0&rev=267
This commit is contained in:
commit
65f1088267
12
Mesa.changes
12
Mesa.changes
@ -1,3 +1,15 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Jun 1 14:48:38 UTC 2016 - eich@suse.com
|
||||
|
||||
- U_gallivm-disable-avx512-features.patch:
|
||||
Fix crashes on some Skykake CPUs by disabling avx512 features
|
||||
(bsc#980557, bsc#981532).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 25 11:39:12 UTC 2016 - dmueller@suse.com
|
||||
|
||||
- enable vc4 and freedreno on aarch64 as well
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 18 17:01:35 UTC 2016 - eich@suse.com
|
||||
|
||||
|
12
Mesa.spec
12
Mesa.spec
@ -25,7 +25,7 @@
|
||||
%else
|
||||
%define gallium_loader 0
|
||||
%endif
|
||||
%ifarch %ix86 x86_64 %arm ppc ppc64 ppc64le
|
||||
%ifarch %ix86 x86_64 aarch64 %arm ppc ppc64 ppc64le
|
||||
%define xvmc_support 1
|
||||
%define vdpau_nouveau 1
|
||||
%define vdpau_radeon 1
|
||||
@ -70,6 +70,7 @@ Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch
|
||||
# Already upstream
|
||||
Patch21: n_Define-GLAPIVAR-separate-from-GLAPI.patch
|
||||
Patch22: u_glxcmds-glXGetFBConfigs-fix-screen-bounds.patch
|
||||
Patch23: U_gallivm-disable-avx512-features.patch
|
||||
|
||||
BuildRequires: autoconf >= 2.60
|
||||
BuildRequires: automake
|
||||
@ -564,6 +565,7 @@ rm -rf docs/README.{VMS,WIN32,OS2}
|
||||
%patch18 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
|
||||
%build
|
||||
%if 0%{?suse_version} >= 1310
|
||||
@ -609,11 +611,11 @@ autoreconf -fvi
|
||||
--enable-va \
|
||||
--enable-xvmc \
|
||||
%endif
|
||||
%ifarch %arm ppc64 ppc64le
|
||||
%ifarch aarch64 %arm ppc64 ppc64le
|
||||
--enable-xa \
|
||||
--enable-gallium-llvm \
|
||||
--with-dri-drivers=nouveau \
|
||||
%ifarch %arm
|
||||
%ifarch %arm aarch64
|
||||
--with-gallium-drivers=r300,r600,nouveau,swrast,svga,freedreno,vc4 \
|
||||
%else
|
||||
--with-gallium-drivers=r300,r600,nouveau,swrast,svga \
|
||||
@ -629,7 +631,7 @@ autoreconf -fvi
|
||||
--with-dri-drivers=swrast \
|
||||
--with-gallium-drivers=swrast \
|
||||
%endif
|
||||
%ifarch aarch64 s390x
|
||||
%ifarch s390x
|
||||
--enable-xa \
|
||||
--enable-gallium-llvm \
|
||||
--with-dri-drivers=swrast \
|
||||
@ -947,7 +949,7 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \
|
||||
%{_libdir}/libMesaOpenCL.so*
|
||||
%endif
|
||||
|
||||
%ifnarch s390 s390x aarch64
|
||||
%ifnarch s390 s390x
|
||||
%files libva
|
||||
%defattr(-,root,root)
|
||||
%dir %{_libdir}/dri
|
||||
|
48
U_gallivm-disable-avx512-features.patch
Normal file
48
U_gallivm-disable-avx512-features.patch
Normal file
@ -0,0 +1,48 @@
|
||||
From: Roland Scheidegger <sroland@vmware.com>
|
||||
Date: Sun May 8 00:40:07 2016 +0200
|
||||
Subject: [PATCH]gallivm: disable avx512 features
|
||||
Patch-mainline: Upstream
|
||||
Git-repo: git://anongit.freedesktop.org/git/mesa/mesa
|
||||
Git-commit: 8b66e2647d5e36e318177a460e6e586d6ca8c36b
|
||||
References: bsc#980557
|
||||
Signed-off-by: Egbert Eich <eich@suse.com>
|
||||
|
||||
We don't target this yet, and some llvm versions incorrectly enable it based
|
||||
on cpu string, causing crashes.
|
||||
(Albeit this is a losing battle, it is pretty much guaranteed when the next
|
||||
new feature comes along llvm will mistakenly enable it on some future cpu,
|
||||
thus we would have to proactively disable all new features as llvm adds them.)
|
||||
|
||||
This should fix https://bugs.freedesktop.org/show_bug.cgi?id=94291 (untested)
|
||||
|
||||
Tested-by: Timo Aaltonen <tjaalton@ubuntu.com>
|
||||
Reviewed-by: Jose Fonseca <jfonseca@vmware.com
|
||||
|
||||
CC: <mesa-stable@lists.freedesktop.org>
|
||||
---
|
||||
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
index bb08892..42a53ec 100644
|
||||
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
||||
@@ -571,6 +571,18 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
|
||||
MAttrs.push_back(util_cpu_caps.has_avx ? "+avx" : "-avx");
|
||||
MAttrs.push_back(util_cpu_caps.has_f16c ? "+f16c" : "-f16c");
|
||||
MAttrs.push_back(util_cpu_caps.has_avx2 ? "+avx2" : "-avx2");
|
||||
+ /* disable avx512 and all subvariants */
|
||||
+#if HAVE_LLVM >= 0x0304
|
||||
+ MAttrs.push_back("-avx512cd");
|
||||
+ MAttrs.push_back("-avx512er");
|
||||
+ MAttrs.push_back("-avx512f");
|
||||
+ MAttrs.push_back("-avx512pf");
|
||||
+#endif
|
||||
+#if HAVE_LLVM >= 0x0305
|
||||
+ MAttrs.push_back("-avx512bw");
|
||||
+ MAttrs.push_back("-avx512dq");
|
||||
+ MAttrs.push_back("-avx512vl");
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
#if defined(PIPE_ARCH_PPC)
|
Loading…
Reference in New Issue
Block a user