Re: [Mesa-dev] [PATCH v3 24/25] configure.ac: Only add default LLVM components if needed
Am Mittwoch, 12. Oktober 2016, 12:03:38 CEST schrieb Emil Velikov: > > Does this mean that the "default" components are required only by the > > gallivm module ? Please rename the function to reflect that. > > > > Don't recall if swr driver is/was using any of it, but the nv30 path > > of nouveau does use it, iirc. In the latter you want to call the > > function if --enable-gallium-llvm is set. Alternatively keep > > llvm_add_default_components within the "test enable_gallium_llvm != > > xno" block. > > In case you're wondering how the above might happen: > > Some drivers (i915g, softpipe/llvmpipe, nv30, r300, svga?... ) use the > aux/draw module. The latter of which has LLVM codepaths which get > build if --enable-gallium-llvm is set. > > Search "\Emil I didn't know that. Then I have to change this a little bit. I need to think about that. So don't bother with patch 24 right now until I came up with a better way. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v3 24/25] configure.ac: Only add default LLVM components if needed
Am Mittwoch, 12. Oktober 2016, 10:57:14 CEST schrieb Emil Velikov: > On 12 October 2016 at 00:02, Tobias Drostewrote: > > Each driver has to expllicitly call llvm_add_default_components to > > add the shared components. > > This way we can fail the build if a component is not found and avoid > > the recursive solution from a previous version of the pach series. > > s/pach/patch/ > > Does this mean that the "default" components are required only by the > gallivm module ? Please rename the function to reflect that. No, there's probably some of them that are only used by gallivm, but not all of them. That's something I wanted to do on a follow up to explicitly add all llvm components for each driver. But this needs some forensics, to actually find out what's really needed ;-) > > Don't recall if swr driver is/was using any of it, but the nv30 path > of nouveau does use it, iirc. In the latter you want to call the > function if --enable-gallium-llvm is set. Alternatively keep > llvm_add_default_components within the "test enable_gallium_llvm != > xno" block. I'm going to add it to nv30. swr was calling that function before my changes too. So it probably uses it. > > -Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v3 24/25] configure.ac: Only add default LLVM components if needed
On 12 October 2016 at 10:57, Emil Velikovwrote: > On 12 October 2016 at 00:02, Tobias Droste wrote: >> Each driver has to expllicitly call llvm_add_default_components to >> add the shared components. >> This way we can fail the build if a component is not found and avoid >> the recursive solution from a previous version of the pach series. >> > s/pach/patch/ > > Does this mean that the "default" components are required only by the > gallivm module ? Please rename the function to reflect that. > > Don't recall if swr driver is/was using any of it, but the nv30 path > of nouveau does use it, iirc. In the latter you want to call the > function if --enable-gallium-llvm is set. Alternatively keep > llvm_add_default_components within the "test enable_gallium_llvm != > xno" block. > In case you're wondering how the above might happen: Some drivers (i915g, softpipe/llvmpipe, nv30, r300, svga?... ) use the aux/draw module. The latter of which has LLVM codepaths which get build if --enable-gallium-llvm is set. Search "\
Re: [Mesa-dev] [PATCH v3 24/25] configure.ac: Only add default LLVM components if needed
On 12 October 2016 at 00:02, Tobias Drostewrote: > Each driver has to expllicitly call llvm_add_default_components to > add the shared components. > This way we can fail the build if a component is not found and avoid > the recursive solution from a previous version of the pach series. > s/pach/patch/ Does this mean that the "default" components are required only by the gallivm module ? Please rename the function to reflect that. Don't recall if swr driver is/was using any of it, but the nv30 path of nouveau does use it, iirc. In the latter you want to call the function if --enable-gallium-llvm is set. Alternatively keep llvm_add_default_components within the "test enable_gallium_llvm != xno" block. -Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH v3 24/25] configure.ac: Only add default LLVM components if needed
Each driver has to expllicitly call llvm_add_default_components to add the shared components. This way we can fail the build if a component is not found and avoid the recursive solution from a previous version of the pach series. Signed-off-by: Tobias Droste--- configure.ac | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 26861f5..4847704 100644 --- a/configure.ac +++ b/configure.ac @@ -947,8 +947,6 @@ llvm_get_version() { LLVM_VERSION_INT=`echo $LLVM_VERSION | sed -e 's/\([[0-9]]\)\.\([[0-9]]\)/\10\2/g'` fi -llvm_add_default_components - DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DMESA_LLVM_VERSION_PATCH=$LLVM_VERSION_PATCH" MESA_LLVM=1 else @@ -984,8 +982,8 @@ llvm_add_component() { if $LLVM_CONFIG --components | grep -iqw $new_llvm_component ; then LLVM_COMPONENTS="${LLVM_COMPONENTS} ${new_llvm_component}" -#else -#AC_MSG_ERROR([LLVM component '$new_llvm_component' not enabled in your LLVM build. Required by $driver_name.]) +else +AC_MSG_ERROR([LLVM component '$new_llvm_component' not enabled in your LLVM build. Required by $driver_name.]) fi } @@ -1010,6 +1008,8 @@ radeon_llvm_check() { llvm_check_version_for $* llvm_add_target $amdgpu_llvm_target_name $4 + +llvm_add_default_components llvm_add_component "bitreader" $4 llvm_add_component "ipo" $4 @@ -2179,6 +2179,7 @@ if test "x$enable_opencl" = xyes; then llvm_check_version_for "3" "6" "0" "opencl" +llvm_add_default_components llvm_add_component "all-targets" "opencl" llvm_add_component "ipos" "opencl" llvm_add_component "linker" "opencl" @@ -2394,6 +2395,7 @@ gallium_require_llvm() { llvm_check_version_for "3" "3" "0" "gallium" llvm_add_target "x86" "gallium" +llvm_add_default_components ;; esac } -- 2.10.0 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev