[Mesa-users] Trouble compiling MesaGL : llvm intrinsics seem to be missing.

Albert Freeman albertwdfreeman at gmail.com
Fri Nov 4 05:34:50 UTC 2016


Oops sorry, I was thinking of the non gallium swrast. Actually when I
just read some makefile.am in the gallium directories it actually
doesn't respond to swrast so it shouldn't have mattered either way.
>From what I am seeing swrast for gallium is unnecessary configure.ac
annoyance (which puts to rest my sudden freakout that I was missing
this swrast thing in gallium).
So you should actually do (without removing anything out of files like
I said to): --with-gallium-drivers=swrast,llvmpipe

I actually don't know terribly much about openswr I just assumed it
would be optimized in someway for distributed systems that hinders non
distributed ones or designed with distributed as priority leaving out
minor optimizations or something. And I am also not sure which version
of OpenGL it supports or the extensions.+ the fact that it is the
cause of a compilation error on the compilers system. For mesa 12.0.1
swr is behind llvmpipe with extensions (at least from 4.0 core). So I
still say llvmpipe is probably preferable but perhaps swr does have
some performance advantage or is less buggy.

On 4 November 2016 at 02:07, Chuck Atkins <chuck.atkins at kitware.com> wrote:
>> swr is for distributed computers, it is faster than swrast, but for
>> non distributed computing environments you will want to use llvmpipe
>
>
> Albert, I respectfully disagree.  While distributed HPC is certaily one of
> the most compelling use cases for swr, it's still pretty awesome for single
> node non-distributed systems as well so I'd definitely stick with it.
>
> Jeff,
> swrast is the other software renderer that will end up implemented by either
> softpipe or llvmpipe.  Regarding your build error, it's a known
> incompatibility with llvm-3.9.  If you build against 3.8.1 then everything
> should work great.  For a minimal osmesa configuration with swr (that's the
> typical configuration I use for developing and deploying VTK and ParaView),
> use the following set of configuiration options:
>
> ./configure \
>   --enable-opengl --disable-gles1 --disable-gles2   \ # specify which APIs
> to enable, in this case, Only OpenGL
>   --disable-va --disable-xvmc --disable-vdpau       \ # Disable unsed state
> trackers
>   --enable-shared-glapi                             \
>   --disable-texture-float                           \ # legal landmine
>   --enable-gallium-llvm --enable-llvm-shared-libs   \ # need llvm for
> vatious things
>   --with-gallium-drivers=swrast,swr                 \ # Turn on llvmpipe
> (via swrast) and swr both
>   --disable-dri --with-dri-drivers=                 \ # Only osmesa so no
> need for this
>   --disable-egl --with-egl-platforms= --disable-gbm \ # No need for EGL
> things
>   --disable-glx                                     \ # again, only using
> osmesa
>   --disable-osmesa                                  \ # don't use old-school
> osmesa
>   --enable-gallium-osmesa                             # do use new osmesa
>
> This will result in an osmesa that has both llvmpipe and swr with llvmpipe
> the default.  You can set the environment variable GALLIUM_DRIVER=swr at
> runtime to switch which one gets used.
>


More information about the mesa-users mailing list