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
|
Wed May 18 17:01:35 UTC 2016 - eich@suse.com
|
||||||
|
|
||||||
|
12
Mesa.spec
12
Mesa.spec
@ -25,7 +25,7 @@
|
|||||||
%else
|
%else
|
||||||
%define gallium_loader 0
|
%define gallium_loader 0
|
||||||
%endif
|
%endif
|
||||||
%ifarch %ix86 x86_64 %arm ppc ppc64 ppc64le
|
%ifarch %ix86 x86_64 aarch64 %arm ppc ppc64 ppc64le
|
||||||
%define xvmc_support 1
|
%define xvmc_support 1
|
||||||
%define vdpau_nouveau 1
|
%define vdpau_nouveau 1
|
||||||
%define vdpau_radeon 1
|
%define vdpau_radeon 1
|
||||||
@ -70,6 +70,7 @@ Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch
|
|||||||
# Already upstream
|
# Already upstream
|
||||||
Patch21: n_Define-GLAPIVAR-separate-from-GLAPI.patch
|
Patch21: n_Define-GLAPIVAR-separate-from-GLAPI.patch
|
||||||
Patch22: u_glxcmds-glXGetFBConfigs-fix-screen-bounds.patch
|
Patch22: u_glxcmds-glXGetFBConfigs-fix-screen-bounds.patch
|
||||||
|
Patch23: U_gallivm-disable-avx512-features.patch
|
||||||
|
|
||||||
BuildRequires: autoconf >= 2.60
|
BuildRequires: autoconf >= 2.60
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
@ -564,6 +565,7 @@ rm -rf docs/README.{VMS,WIN32,OS2}
|
|||||||
%patch18 -p1
|
%patch18 -p1
|
||||||
%patch21 -p1
|
%patch21 -p1
|
||||||
%patch22 -p1
|
%patch22 -p1
|
||||||
|
%patch23 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if 0%{?suse_version} >= 1310
|
%if 0%{?suse_version} >= 1310
|
||||||
@ -609,11 +611,11 @@ autoreconf -fvi
|
|||||||
--enable-va \
|
--enable-va \
|
||||||
--enable-xvmc \
|
--enable-xvmc \
|
||||||
%endif
|
%endif
|
||||||
%ifarch %arm ppc64 ppc64le
|
%ifarch aarch64 %arm ppc64 ppc64le
|
||||||
--enable-xa \
|
--enable-xa \
|
||||||
--enable-gallium-llvm \
|
--enable-gallium-llvm \
|
||||||
--with-dri-drivers=nouveau \
|
--with-dri-drivers=nouveau \
|
||||||
%ifarch %arm
|
%ifarch %arm aarch64
|
||||||
--with-gallium-drivers=r300,r600,nouveau,swrast,svga,freedreno,vc4 \
|
--with-gallium-drivers=r300,r600,nouveau,swrast,svga,freedreno,vc4 \
|
||||||
%else
|
%else
|
||||||
--with-gallium-drivers=r300,r600,nouveau,swrast,svga \
|
--with-gallium-drivers=r300,r600,nouveau,swrast,svga \
|
||||||
@ -629,7 +631,7 @@ autoreconf -fvi
|
|||||||
--with-dri-drivers=swrast \
|
--with-dri-drivers=swrast \
|
||||||
--with-gallium-drivers=swrast \
|
--with-gallium-drivers=swrast \
|
||||||
%endif
|
%endif
|
||||||
%ifarch aarch64 s390x
|
%ifarch s390x
|
||||||
--enable-xa \
|
--enable-xa \
|
||||||
--enable-gallium-llvm \
|
--enable-gallium-llvm \
|
||||||
--with-dri-drivers=swrast \
|
--with-dri-drivers=swrast \
|
||||||
@ -947,7 +949,7 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \
|
|||||||
%{_libdir}/libMesaOpenCL.so*
|
%{_libdir}/libMesaOpenCL.so*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifnarch s390 s390x aarch64
|
%ifnarch s390 s390x
|
||||||
%files libva
|
%files libva
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%dir %{_libdir}/dri
|
%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