add patch to disable NEON on aarch64 for vc4 driver (fixes FTBFS)

This commit is contained in:
Peter Robinson 2017-04-19 13:43:01 +01:00
parent 38f1735351
commit e07a5d5ab0
2 changed files with 42 additions and 0 deletions

View file

@ -78,6 +78,7 @@ Patch1: 0001-llvm-SONAME-without-version.patch
Patch2: 0002-hardware-gloat.patch Patch2: 0002-hardware-gloat.patch
Patch3: 0003-evergreen-big-endian.patch Patch3: 0003-evergreen-big-endian.patch
Patch4: 0004-bigendian-assert.patch Patch4: 0004-bigendian-assert.patch
Patch5: vc4-Only-build-the-NEON-code-on-arm32.patch
# glvnd support patches # glvnd support patches
# non-upstreamed ones # non-upstreamed ones

View file

@ -0,0 +1,41 @@
From patchwork Fri Apr 14 17:47:45 2017
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: [Mesa-dev,v3,4/4] vc4: Only build the NEON code on arm32.
From: Eric Anholt <eric@anholt.net>
X-Patchwork-Id: 150580
Message-Id: <20170414174745.14223-4-eric@anholt.net>
To: mesa-dev@lists.freedesktop.org
Date: Fri, 14 Apr 2017 10:47:45 -0700
NEON is sufficiently different on arm64 that we can't just reuse this
code. Disable it on arm64 for now.
Signed-off-by: Eric Anholt <eric@anholt.net>
---
src/gallium/drivers/vc4/vc4_tiling_lt.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/vc4/vc4_tiling_lt.c b/src/gallium/drivers/vc4/vc4_tiling_lt.c
index c9cbc65e2dbc..7de67b652daa 100644
--- a/src/gallium/drivers/vc4/vc4_tiling_lt.c
+++ b/src/gallium/drivers/vc4/vc4_tiling_lt.c
@@ -61,7 +61,7 @@ static void
vc4_load_utile(void *cpu, void *gpu, uint32_t cpu_stride, uint32_t cpp)
{
uint32_t gpu_stride = vc4_utile_stride(cpp);
-#if defined(VC4_BUILD_NEON) && defined(__ARM_ARCH)
+#if defined(VC4_BUILD_NEON) && defined(__ARM_ARCH) && __ARM_ARCH <= 7
if (gpu_stride == 8) {
__asm__ volatile (
/* Load from the GPU in one shot, no interleave, to
@@ -118,7 +118,7 @@ vc4_store_utile(void *gpu, void *cpu, uint32_t cpu_stride, uint32_t cpp)
{
uint32_t gpu_stride = vc4_utile_stride(cpp);
-#if defined(VC4_BUILD_NEON) && defined(__ARM_ARCH)
+#if defined(VC4_BUILD_NEON) && defined(__ARM_ARCH) && __ARM_ARCH <= 7
if (gpu_stride == 8) {
__asm__ volatile (
/* Load each 8-byte line from cpu-side source,