[Mesa-dev] Mesa (master): mesa/x86: Support SSE 4.1 detection on x86-64.
Jose Fonseca
jfonseca at vmware.com
Thu May 22 12:30:34 PDT 2014
----- Original Message -----
> Module: Mesa
> Branch: master
> Commit: 8b9302f2b4b0536abb91cb73682ec13640fe9eaf
> URL:
> https://urldefense.proofpoint.com/v1/url?u=http://cgit.freedesktop.org/mesa/mesa/commit/?id%3D8b9302f2b4b0536abb91cb73682ec13640fe9eaf&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=NMr9uy2iTjWVixC0wOcYCWEIYhfo80qKwRgdodpoDzA%3D%0A&m=AHdyjIRaIN8X%2FncnNP4l%2F2q0EVpdwrRXXlwYLuND8t0%3D%0A&s=ea1ec7f75f3ac94752601b896023c1f6f1d82af5cda565f7be3ea404c9b70866
>
> Author: Matt Turner <mattst88 at gmail.com>
> Date: Fri May 2 12:10:17 2014 -0700
>
> mesa/x86: Support SSE 4.1 detection on x86-64.
>
> Uses the cpuid.h header provided by gcc and clang. Other platforms are
> encouraged to switch.
>
> ---
>
> src/mesa/main/cpuinfo.c | 2 +-
> src/mesa/main/cpuinfo.h | 2 +-
> src/mesa/x86/common_x86.c | 11 +++++++++++
> 3 files changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/main/cpuinfo.c b/src/mesa/main/cpuinfo.c
> index 8d482a6..73e295c 100644
> --- a/src/mesa/main/cpuinfo.c
> +++ b/src/mesa/main/cpuinfo.c
> @@ -34,7 +34,7 @@
> void
> _mesa_get_cpu_features(void)
> {
> -#ifdef USE_X86_ASM
> +#if defined USE_X86_ASM || (defined __x86_64__ && !defined _MSC_VER)
> _mesa_get_x86_features();
> #endif
This broke several build types because it assumes that assembly is always used on 64 bits except MSVC, which is not true. Windows builds are not using assembly neither.
I think that `(defined __x86_64__ && !defined _MSC_VER)` should be replaced with `defined USE_X86_64_ASM` . After all that's why we have the USE_*_ASM defines -- so that C code doesn't need to guess (and miserably) if/when assembly is being used.
I'll draft a patch.
Jose
More information about the mesa-dev
mailing list