<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
swr is for distributed computers, it is faster than swrast, but for<br>
non distributed computing environments you will want to use llvmpipe<br></blockquote><div><br></div><div>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.<br><br>Jeff,<br>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:<br><br><span style="font-family:monospace,monospace">./configure \<br>  --enable-opengl --disable-gles1 --disable-gles2   \ # specify which APIs to enable, in this case, Only OpenGL<br>  --disable-va --disable-xvmc --disable-vdpau       \ # Disable unsed state trackers<br>  --enable-shared-glapi                             \<br>  --disable-texture-float                           \ # legal landmine<br>  --enable-gallium-llvm --enable-llvm-shared-libs   \ # need llvm for vatious things<br>  --with-gallium-drivers=swrast,swr                 \ # Turn on llvmpipe (via swrast) and swr both<br>  --disable-dri --with-dri-drivers=                 \ # Only osmesa so no need for this<br>  --disable-egl --with-egl-platforms= --disable-gbm \ # No need for EGL things<br>  --disable-glx                                     \ # again, only using osmesa<br>  --disable-osmesa                                  \ # don't use old-school osmesa<br>  --enable-gallium-osmesa                             # do use new osmesa<br></span><br></div><div>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.<br></div></div><br></div></div>