On 12/10/16 19:30, Emil Velikov wrote:
On 12 October 2016 at 19:14, Tobias Droste <tdro...@gmx.de> wrote:
Am Mittwoch, 12. Oktober 2016, 10:42:19 CEST schrieb Emil Velikov:
On 12 October 2016 at 00:02, Tobias Droste <tdro...@gmx.de> wrote:

 gallium_require_llvm() {

-    if test "x$MESA_LLVM" = x0; then
-        case "$host" in *gnux32) return;; esac
-        case "$host_cpu" in
-        i*86|x86_64|amd64) AC_MSG_ERROR([LLVM is required to build $1 on
x86 and x86_64]);; -        esac
-    fi
+    case "$host" in *gnux32) return;; esac
+    case "$host_cpu" in
+    i*86|x86_64|amd64)
+        if test "$LLVM_VERSION_INT" -lt
required]) +        fi
+        ;;
+    esac


The function it quite "ugly" as-is and this patch changes things in a fun

Namely: before you'll get the minimum required version check
regardless of host_cpu for everyone, while now you get the opposite -
everyone is 'constrained' by the host_cpu check. Admittedly I've have
not idea if llvmpipe is a thing on outside x86 land.

Checking the gallium_require_llvm users we want:
 - swr -> bail out if host_cpu !x86/x86-64 or gallium-llvm toggle is
off || llvm version req. is not met
 - r300 -> on host_cpu eq. x86/x86-64, check the gallium-llvm toggle
(this is 'premature' optimisation which we might want to rework/drop
in the long run)

Right now --enable-gallium-llvm will be set to no if it is "auto" on non x86.

gallivm/llvm use the x86 target
I haven't look too closely at the llvm code but there's nothing in
scons/automake which supports this, perhaps Jose can confirm.

Jose, does the gallium llvm code require the x86 target or can it work
with other as well ? At least in theory.

At VMware we only use llvmpipe + LLVM with x86: we have CI in place to make sure it works.

I understand others have it working with PowerPC and ARM. The code is there. So we shouln't forbid people from enabling if they want.

(In fact, in theory llvmpipe should work any CPU that's supported by LLVM. But I wouldn't be surprised if there are bugs in practice.)

I'm not involved in these porting efforts myself. I don't know how stable llvmpipe on PowerPC/ARM is kept (whether there's any CI in place), and therefore I can't say it's OK to enable LLVM by default outside x86 or not.

mesa-dev mailing list

Reply via email to