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

Albert Freeman albertwdfreeman at gmail.com
Sun Nov 6 10:33:45 UTC 2016


Okay seems you are right, either configuration options have at some
point changed or I somehow with my mesa configs magically got by. In
the case of the latter it must seem pretty funny/sad that I am
imagining configure flags.

Thanks for the information on llvmpipe vs swr it is interesting
(assuming those numbers are on a single PC). Sorry I mispredicted the
quality of swr.

On 4 November 2016 at 23:34, Chuck Atkins <chuck.atkins at kitware.com> wrote:
>> So you should actually do (without removing anything out of files like
>> I said to): --with-gallium-drivers=swrast,llvmpipe
>
>
> Still no.  llvmpipe isn't a driver option.  --with-gallium-drivers=swrast
> specifies to use the gallium software rasterizer.  This will eable softpipe
> AND, if llvm is enabled (i.e.  --enable-gallium-llvm) also llvmpipe.  If you
> want the fastest software render usable with osmesa then use swr.  OSMesa
> requires that at least swrast be enabled, hence enabling swrast and swr.
> This will give you OSMesa with softpipe, llvmpipe, and swr, with llvmpipe
> being the default.
>
>
>>
>> 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.
>
>
> Nope.  It's a common misunderstanding though since large distributed systems
> without GPUs was the target as most other environments will have GPUs.  It's
> developed entirely though for a single node with no awareness to distributed
> systems.  Anything beyond that is the applications responsibilty.
>
>
>
>>
>> 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.
>
>
> They're vary close to feature parity.  From the current git / master (just
> past the 13.0 release):
>
> llvmpipe:
> OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.8, 256 bits)
> OpenGL core profile version string: 3.3 (Core Profile) Mesa 13.1.0-devel
> (git-e3e5b1a)
> OpenGL version string: 3.0 Mesa 13.1.0-devel (git-e3e5b1a)
>
> swr:
> OpenGL renderer string: Gallium 0.4 on SWR
> OpenGL core profile version string: 3.3 (Core Profile) Mesa 13.1.0-devel
> (git-e3e5b1a)
> OpenGL version string: 3.0 Mesa 13.1.0-devel (git-e3e5b1a)
>
> As for extensions, llvmpipe -> swr:
> -GL_AMD_vertex_shader_viewport_index
> -GL_ARB_copy_image
> -GL_ARB_enhanced_layouts
> -GL_ARB_fragment_layer_viewport
> -GL_ARB_texture_buffer_range
> -GL_ARB_texture_cube_map_array
> -GL_ARB_texture_gather
> -GL_ARB_texture_view
> -GL_ARB_viewport_array
> +GL_ARB_pipeline_statistics_query
>
>
>> 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.
>
>
> It's come a long way since 12.0.1.  The current 13.0.0 release is a major
> step forward since the inital release.  While I'm not one of the swr
> developers we do make extensive use of it in production environments.
> Regarding performance diffferences, you'll likely see an increase by a
> factor of 10x - 100x over llvmpipe, that's typically what we see in VTK and
> ParaView.


More information about the mesa-users mailing list