[Mesa-dev] [PATCH v3 4/4] vc4: Only build the NEON code on arm32.

Emil Velikov emil.l.velikov at gmail.com
Fri Apr 14 21:41:46 UTC 2017


On 14 April 2017 at 19:21, Eric Anholt <eric at anholt.net> wrote:
> Emil Velikov <emil.l.velikov at gmail.com> writes:
>
>> On 14 April 2017 at 18:47, Eric Anholt <eric at anholt.net> wrote:
>>> 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 at 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
>>
>> This patch should be before 4/4, or it will cause intermittent breakage.
>
> I don't think there is any new breakage.  We've been setting
> VC4_BUILD_NEON already.

>From a quick skim it seemed that only the Android build is be busted,
rather than everywhere.

I think you're right. Thanks for the correction.
Emil


More information about the mesa-dev mailing list