mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
extra/mesa to 20.0.7-3
This commit is contained in:
parent
1fecfd1738
commit
c71e70f264
2 changed files with 58 additions and 1 deletions
|
@ -0,0 +1,53 @@
|
|||
From 979ae78318c3e37cc0e0579b8d1f05c46bb76e7d Mon Sep 17 00:00:00 2001
|
||||
From: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
|
||||
Date: Tue, 19 May 2020 20:35:49 +0300
|
||||
Subject: [PATCH] meson: Disable GCC's dead store elimination for memory
|
||||
zeroing custom new
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Some classes use custom new operator which zeroes memory, however gcc does
|
||||
aggressive dead-store elimination which threats all writes to the memory
|
||||
before the constructor as "dead stores".
|
||||
|
||||
For now we disable this optimization.
|
||||
|
||||
The new operators in question are declared via:
|
||||
DECLARE_RZALLOC_CXX_OPERATORS
|
||||
DECLARE_LINEAR_ZALLOC_CXX_OPERATORS
|
||||
|
||||
The issue was found with lto builds, however there is no guarantee that
|
||||
it didn't happen with ordinary ones.
|
||||
|
||||
CC: <mesa-stable@lists.freedesktop.org>
|
||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2977
|
||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/1358
|
||||
Signed-off-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com>
|
||||
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
|
||||
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5104>
|
||||
(cherry picked from commit 5500a2b7fc558217bbd4c2a966ab6fcadaed8b3b)
|
||||
Signed-off-by: Laurent Carlier <lordheavym@gmail.com>
|
||||
---
|
||||
meson.build | 5 +++++
|
||||
1 files changed, 5 insertions(+), 0 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index ba4fdb2a59f..434684c8bcc 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -980,6 +980,11 @@ else
|
||||
'-fno-math-errno',
|
||||
'-fno-trapping-math',
|
||||
'-Qunused-arguments',
|
||||
+ # Some classes use custom new operator which zeroes memory, however
|
||||
+ # gcc does aggressive dead-store elimination which threats all writes
|
||||
+ # to the memory before the constructor as "dead stores".
|
||||
+ # For now we disable this optimization.
|
||||
+ '-flifetime-dse=1',
|
||||
]
|
||||
# MinGW chokes on format specifiers and I can't get it all working
|
||||
if not (cc.get_id() == 'gcc' and host_machine.system() == 'windows')
|
||||
--
|
||||
2.26.2
|
||||
|
|
@ -10,7 +10,7 @@ pkgbase=mesa
|
|||
pkgname=('vulkan-mesa-layer' 'opencl-mesa' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau' 'mesa')
|
||||
pkgdesc="An open-source implementation of the OpenGL specification"
|
||||
pkgver=20.0.7
|
||||
pkgrel=2
|
||||
pkgrel=3
|
||||
arch=('x86_64')
|
||||
makedepends=('python-mako' 'libxml2' 'libx11' 'xorgproto' 'libdrm' 'libxshmfence' 'libxxf86vm'
|
||||
'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols' 'zstd'
|
||||
|
@ -22,12 +22,14 @@ source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
|
|||
0001-Rip-out-VC4-forced-NEON.patch
|
||||
0001-swr-Fix-build-with-GCC-10.patch
|
||||
0001-omx-fix-build-with-gcc-10.patch
|
||||
0001-meson-Disable-GCC-s-dead-store-elimination-for-memor.patch
|
||||
LICENSE)
|
||||
sha512sums=('00baae50f14bf2b08b5654dffb11cf67499dc1825e1700b137fb5719e767e0e78e789979df2c194f677ea9c5e531f34965d47b9e37c239944c38d0570c7a9685'
|
||||
'SKIP'
|
||||
'ba55fd9816ebd9147be120da1fd4fa0364d19967a11570e6d5dd9d8b4f7971df46ced8b151ee07afaaa98043e131eed14918ec25f8c9b0f7e5c53f452674ee5c'
|
||||
'296a7502e959ccd2a6f1279878c0562a853ecdd78b5960196fc8f99ed8dd995c6e1106551aef7a53db891295235ca55676788e7cf78e336e2d5ee49e4e463be5'
|
||||
'e1f0fa2a8802184580d9d95777f02a1c35bf71c3ab380d88e5b9268f84c2ac338fa517d20065094b7764490bbbfb290c1c5ad6dec6d27f3dbf737dfa0b6c7263'
|
||||
'566ad6f4195124b4af05d4bba1e01cc5e9ac466f11ddd900a2f5bfd830aa19cdccb3f9625901340b5fe62e7d8ea50aa336ab5031a658fe90916d847b2e9946e0'
|
||||
'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7')
|
||||
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
|
||||
'946D09B5E4C9845E63075FF1D961C596A7203456' # Andres Gomez <tanty@igalia.com>
|
||||
|
@ -42,6 +44,8 @@ prepare() {
|
|||
# fix building with gcc 10
|
||||
patch -Np1 -i ../0001-swr-Fix-build-with-GCC-10.patch
|
||||
patch -Np1 -i ../0001-omx-fix-build-with-gcc-10.patch
|
||||
# LTO fix
|
||||
patch -Np1 -i ../0001-meson-Disable-GCC-s-dead-store-elimination-for-memor.patch
|
||||
|
||||
[[ $CARCH == "armv6h" || $CARCH == "armv7h" ]] && patch -p1 -i ../0001-Rip-out-VC4-forced-NEON.patch || true
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue