[Mesa-dev] [PATCH] gallium: Disable Altivec on PPC SPE variants
Stuart Young
cefiar at gmail.com
Sun Jul 1 06:44:06 UTC 2018
Further info on this:
The original patch in Debian is at
https://sources.debian.org/src/mesa/18.1.2-1/debian/patches/07_gallium-fix-build-failure-on-powerpcspe.diff/
(URL will change based on version of Mesa in Debian - URL is current when I
sent this email).
PowerPCSPE port page in Debian which explains its quirks in more detail:
https://wiki.debian.org/PowerPCSPEPort
Patch I provided compiles fine on non-PPC platforms, but would be worth
someone with a proper PPC platform (ie: non-SPE) confirm it still produces
Altivec instructions.
On Sun, 1 Jul 2018 at 16:36, Stuart Young <cefiar at gmail.com> wrote:
> PowerPC variants with the Signal Processing Engine do not support
> Altivec instructions, as the SPE instruction set uses the same
> instruction codes as the Altivec set available in most PowerPC
> cores. Note that this is not related to the "Synergistic Processing
> Element" units on IBM Cell microprocessors.
>
> This patch prevents any Altivec specialising on these cores by
> looking for __NO_FPRS__ (should only be defined on these variants).
> ---
> src/gallium/include/pipe/p_config.h | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/src/gallium/include/pipe/p_config.h
> b/src/gallium/include/pipe/p_config.h
> index 3fa43ed797..0a6251e060 100644
> --- a/src/gallium/include/pipe/p_config.h
> +++ b/src/gallium/include/pipe/p_config.h
> @@ -103,12 +103,16 @@
> #endif
> #endif
>
> +#if defined (__NO_FPRS__)
> +/* Skip PPC tests as possible PowerPC SPE (Signal Processing Engine)
> variant */
> +#else
> #if defined(__ppc__) || defined(__ppc64__) || defined(__PPC__)
> #define PIPE_ARCH_PPC
> #if defined(__ppc64__) || defined(__PPC64__)
> #define PIPE_ARCH_PPC_64
> #endif
> #endif
> +#endif
>
> #if defined(__s390x__)
> #define PIPE_ARCH_S390
> --
> 2.11.0
>
>
--
Stuart Young (aka Cefiar)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180701/09d4a5ee/attachment.html>
More information about the mesa-dev
mailing list