[Mesa-dev] [PATCH v2 1/4] Android: fix x86 gallium builds

Rob Herring robh at kernel.org
Mon Feb 22 16:32:12 UTC 2016


On Thu, Feb 18, 2016 at 11:25 AM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> Hi Rob,
>
> On 2 February 2016 at 20:45, Rob Herring <robh at kernel.org> wrote:
>> Builds with gallium enabled fail on x86 with linker error:
>>
>> external/mesa3d/src/mesa/vbo/vbo_exec_array.c:127: error: undefined reference to '_mesa_uint_array_min_max'
>>
>> The problem is sse_minmax.c is not included in the libmesa_st_mesa
>> library. Since the SSE4.1 files are needed for both libmesa_st_mesa
>> and libmesa_dricore, move SSE4.1 files into a separate static library
>> that can be used by both.
>>
>> Signed-off-by: Rob Herring <robh at kernel.org>
> I realise it's kind of huge for stable, but considering it's Android
> only I'm willing to bite the bullet. Does that sound reasonable ?
>
> Cc: "11.1" <mesa-stable at lists.freedesktop.org
>
>> --- a/src/mesa/Android.libmesa_dricore.mk
>> +++ b/src/mesa/Android.libmesa_dricore.mk
>> @@ -48,9 +48,8 @@ endif # x86
>>  endif # MESA_ENABLE_ASM
>>
>>  ifeq ($(ARCH_X86_HAVE_SSE4_1),true)
>> -LOCAL_SRC_FILES += \
>> -       main/streaming-load-memcpy.c \
>> -       main/sse_minmax.c
>> +LOCAL_WHOLE_STATIC_LIBRARIES := \
>> +       libmesa_sse41
>>  LOCAL_CFLAGS := \
>>         -msse4.1 \
>>         -DUSE_SSE41
>
> Was about to pick this and noticed that we're should move -msse4.1 to
> the new library. I'm assuming that it gets added automatically thus
> things works as is ? If so we can/should remove it from here.

It must be on by default in the current compiler or from the Android
build system because there are other uses of SSE (maybe not 4.1?) as
well with no flags set. I'll just move it to libmesa_sse41, so I don't
change behavior if there is a case that needs it to be explicitly set
and matches the automake case.

>> --- a/src/mesa/Makefile.sources
>> +++ b/src/mesa/Makefile.sources
>> @@ -582,6 +582,10 @@ X86_64_FILES =             \
>>         x86-64/x86-64.h \
>>         x86-64/xform4.S
>>
>> +X86_SSE41_FILES = \
>> +       main/streaming-load-memcpy.c \
>> +       main/sse_minmax.c
>> +
> We might want to follow up with a separate commit which throws adds
> the respective header files in here, and reuses the variable in the
> automake build.

Okay, I can do that.

Rob


More information about the mesa-dev mailing list