Am Mittwoch, 22. Februar 2017, 22:27:42 CET schrieb Timothy Arceri: > On 23/02/17 01:57, Marc Dietrich wrote: > > Am Mittwoch, 22. Februar 2017, 15:48:18 CET schrieb Emil Velikov: > >> On 22 February 2017 at 13:31, Marc Dietrich <marvi...@gmx.de> wrote: > >>> Am Mittwoch, 22. Februar 2017, 04:45:46 CET schrieb Timothy Arceri: > >>>> For gpu generations that use LLVM we create a timestamp string > >>>> containing both the LLVM and Mesa build times, otherwise we just > >>>> use the Mesa build time. > >>>> > >>>> Reviewed-by: Marek Olšák <marek.ol...@amd.com> > >>>> Reviewed-by: Edward O'Callaghan <funfunc...@folklore1984.net> > >>>> --- > >>>> > >>>> src/gallium/drivers/radeon/r600_pipe_common.c | 43 > >>>> > >>>> +++++++++++++++++++++++++++ > >>>> src/gallium/drivers/radeon/r600_pipe_common.h > >>>> > >>>> 3 ++ > >>>> 2 files changed, 46 insertions(+) > >>>> > >>>> diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c > >>>> b/src/gallium/drivers/radeon/r600_pipe_common.c index 1781584..bae6d6f > >>>> 100644 > >>>> --- a/src/gallium/drivers/radeon/r600_pipe_common.c > >>>> +++ b/src/gallium/drivers/radeon/r600_pipe_common.c > >>>> @@ -43,6 +43,10 @@ > >>>> > >>>> #define HAVE_LLVM 0 > >>>> #endif > >>>> > >>>> +#if HAVE_LLVM > >>>> +#include <llvm-c/TargetMachine.h> > >>>> +#endif > >>>> + > >>>> > >>>> #ifndef MESA_LLVM_VERSION_PATCH > >>>> #define MESA_LLVM_VERSION_PATCH 0 > >>>> #endif > >>>> > >>>> @@ -779,6 +783,41 @@ static const char* r600_get_chip_name(struct > >>>> r600_common_screen *rscreen) } > >>>> > >>>> } > >>>> > >>>> +static void r600_disk_cache_create(struct r600_common_screen *rscreen) > >>>> +{ > >>>> + uint32_t mesa_timestamp; > >>>> + if (disk_cache_get_function_timestamp(r600_disk_cache_create, > >>>> + &mesa_timestamp)) { > >>>> + char *timestamp_str; > >>>> + int res = -1; > >>>> + if (rscreen->chip_class < SI) { > >>>> + res = asprintf(×tamp_str, > >>>> "%u",mesa_timestamp); > >>>> + } > >>>> +#if HAVE_LLVM > >>>> + else { > >>>> + uint32_t llvm_timestamp; > >>>> + if > >>>> (disk_cache_get_function_timestamp(LLVMInitializeAMDGPUTargetInfo, + > >>>> > >>>> &llvm_timestamp)) > >>>> > >>>> { + res = asprintf(×tamp_str, "%u_%u", > >>>> + mesa_timestamp, > >>>> llvm_timestamp); + } > >>>> + } > >>>> +#endif > >>> > >>> maybe this fails to link later in omx with r600 only compile. > >>> > >>> make[4]: Verzeichnis „/usr/src/dri-project/mesa/src/gallium/targets/omx“ > >>> wird betreten > >>> > >>> CXXLD libomx_mesa.la > >>> > >>> ../../../../src/gallium/drivers/radeon/.libs/libradeon.a(r600_pipe_commo > >>> n. > >>> o): In function `r600_disk_cache_create': > >>> r600_pipe_common.c:(.text+0x2000): undefined reference to > >>> `LLVMInitializeAMDGPUTargetInfo' > >>> collect2: error: ld returned 1 exit status > >>> make[4]: *** [Makefile:791: libomx_mesa.la] Fehler 1 > >>> make[4]: Verzeichnis „/usr/src/dri-project/mesa/src/gallium/targets/omx“ > >>> wird verlassen > >> > >> That should not happen since > >> > >> - Compile guard HAVE_LLVM is defined when --enable-llvm is set > >> > >> (explicitly or not) > >> > >> - Makefile/link guard HAVE_GALLIUM_LLVM is set when the --enable-llvm is > >> > >> Please make clean/git clean and report the output of make V=1 if the > >> final link still fails. > > > > still same. I added -lLLVMAMDGPUInfo to LLVM_{LDFLAGS|LIBS}. Now it > > compiles, but GL apps crash during context creation. I also tested the > > initial version posted and this worked just fine. I have llvm enabled. > > I just built it with omx and only r600 without any issues. Did you do > 'git clean -xfd' of just make clean?
yes - I always do. > If it's still failing with a git clean then please post the params you > are using to build mesa. #!/bin/sh -x git clean -fdx --exclude b.sh --exclude "0*" --exclude b2.sh COMMON_FLAGS="--prefix=/usr \ --enable-texture-float \ --enable-gles1 \ --enable-gles2 \ --enable-egl \ --enable-opengl \ --enable-shared-glapi \ --enable-gbm \ --enable-xa \ --enable-xvmc \ --enable-vdpau \ --enable-omx \ --enable-va \ --enable-nine \ --enable-gallium-osmesa \ --enable-dri3 \ --enable-gallium-llvm \ --disable-opencl-icd \ --disable-debug \ --enable-glx-tls \ --disable-opencl \ --with-gallium-drivers=r600,swrast \ --with-egl-platforms=drm,wayland,x11 \ --with-dri-drivers=no" ./autogen.sh \ $COMMON_FLAGS \ CFLAGS="$OPT_FLAGS $LTO_GCC" \ CXXFLAGS="$OPT_FLAGS $LTO_GCC" \ LDFLAGS="$OPT_FLAGS $LTO_GCC" \ CC="gcc$GCC_VER" \ CXX="g++$GCC_VER" \ LD="ld.gold" \ AR="gcc-ar$GCC_VER" \ NM="gcc-nm$GCC_VER" \ RANLIB="gcc-ranlib$GCC_VER" \ && \ make -j2 && make install
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev