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

Albert Freeman albertwdfreeman at gmail.com
Thu Nov 3 03:34:26 UTC 2016


I would remove this line from configure.ac and rerun ./autogen.sh:
AC_MSG_ERROR([gallium_osmesa requires the gallium swrast driver])
then try the top config again with these changes: Omit --enable-osmesa
since  that is the classic osmesa which is a slower alternative to
--enable-gallium-osmesa.

swr is for distributed computers, it is faster than swrast, but for
non distributed computing environments you will want to use llvmpipe
which is faster than softpipe (which in turn is faster than swrast)
but requires llvm and x86.
I don't know what "configure: error: Unknown Gallium driver: llvmpipe"
is on about.
That last configuration of yours builds no drivers so will result in
an unworkable mesa.

On 2 November 2016 at 23:39, Jeff McWilliams <jjmcwill at altair.com> wrote:
> Removing the swrast driver in order to avoid the compile error with missing llvm intrinsics causes a configuration error:
>
> ./configure --enable-opengl --disable-gles1 --disable-gles2 --disable-va --disable-xvmc --disable-vdpau --enable-shared-glapi --enable-texture-float --enable-gallium-llvm --enable-llvm-shared-libs --with-gallium-drivers=llvmpipe --disable-egl --with-egl-platforms= --disable-gbm --disable-dri --with-dri-drivers=  --disable-glx --enable-osmesa --enable-gallium-osmesa --with-llvm-prefix=$HW_ROOTDIR/third_party/llvm/llvm3.9.0/linux64 --prefix=$HW_ROOTDIR/third_party/mesagl/mesa12.0.3/linux64 --exec-prefix=$HW_ROOTDIR/third_party/mesagl/mesa12.0.3/linux64
> ...
> ...
> ...
> configure: error: gallium_osmesa requires the gallium swrast driver
>
> Removing "--enable-gallium-osmesa" in response to the above error causes another error.  Llvmpipe is an unknown gallium driver.
>
>
> ./configure --enable-opengl --disable-gles1 --disable-gles2 --disable-va --disable-xvmc --disable-vdpau --enable-shared-glapi --enable-texture-float --enable-gallium-llvm --enable-llvm-shared-libs --with-gallium-drivers=llvmpipe --disable-egl --with-egl-platforms= --disable-gbm --disable-dri --with-dri-drivers=  --disable-glx --enable-osmesa --with-llvm-prefix=$HW_ROOTDIR/third_party/llvm/llvm3.9.0/linux64 --prefix=$HW_ROOTDIR/third_party/mesagl/mesa12.0.3/linux64 --exec-prefix=$HW_ROOTDIR/third_party/mesagl/mesa12.0.3/linux64
> ...
> ...
> ...
> configure: error: Unknown Gallium driver: llvmpipe
>
> The following configuration results in no configuration errors, but is this the optimal performance configuration for OSMesa ?
>
> ./configure --enable-opengl --disable-gles1 --disable-gles2 --disable-va --disable-xvmc --disable-vdpau --enable-shared-glapi --enable-texture-float --enable-gallium-llvm --enable-llvm-shared-libs --with-gallium-drivers= --disable-egl --with-egl-platforms= --disable-gbm --disable-dri --with-dri-drivers=  --disable-glx --enable-osmesa --with-llvm-prefix=$HW_ROOTDIR/third_party/llvm/llvm3.9.0/linux64 --prefix=$HW_ROOTDIR/third_party/mesagl/mesa12.0.3/linux64 --exec-prefix=$HW_ROOTDIR/third_party/mesagl/mesa12.0.3/linux64
>
>
>
>
> Jeff
>
> -----Original Message-----
> From: mesa-users [mailto:mesa-users-bounces at lists.freedesktop.org] On Behalf Of Jeff McWilliams
> Sent: Wednesday, November 2, 2016 8:00 AM
> To: Albert Freeman <albertwdfreeman at gmail.com>
> Cc: mesa-users at lists.freedesktop.org
> Subject: Re: [Mesa-users] Trouble compiling MesaGL : llvm intrinsics seem to be missing.
>
> Thanks for the suggestions, Albert.  I will try these.
>
> I'm not 100% clear on the differences between swr and swrast.  I'm looking for the fastest OSMesa renderer.  I was under the impression that swr was faster than swrast, but I could be misinformed.
>
>
> -----Original Message-----
> From: Albert Freeman [mailto:albertwdfreeman at gmail.com]
> Sent: Tuesday, November 1, 2016 11:37 PM
> To: Jeff McWilliams <jjmcwill at altair.com>
> Cc: mesa-users at lists.freedesktop.org
> Subject: Re: [Mesa-users] Trouble compiling MesaGL : llvm intrinsics seem to be missing.
>
> Those compilation errors are with swr which you have enabled via --with-gallium-drivers=swrast,swr. Do you intend to use swr? If not remove it. I don't know if swr can even be used with osmesa.
> --with-gallium-drivers=llvmpipe might be a good idea You probably want to change --disable-texture-float to --enable-texture-float or you won't get very high OpenGL support.
> And you may or may not want to remove --with-sha1=libcrypto You may want to remove --disable-osmesa
>
> On 2 November 2016 at 03:56, Jeff McWilliams <jjmcwill at altair.com> wrote:
>> I'm trying to compile MesaGL specifically to use the OSMesa support for a project.
>>
>> I've configured and compiled llvm 3.9.0 with the following configure:
>>
>> cmake -G "Unix Makefiles" -DBUILD_SHARED_LIBS=ON
>> -DCMAKE_INSTALL_PREFIX=$HW_ROOTDIR/third_party/llvm/llvm3.9.0/linux64
>> -DLLVM_TARGETS_TO_BUILD="X86"
>> $HW_ROOTDIR/third_party/llvm/llvm3.9.0/llvm-3.9.0.src
>> make
>> make install
>>
>> And I've configured mesa 12.0.3 with:
>> ./configure ./configure --enable-opengl --disable-gles1
>> --disable-gles2 --disable-va --disable-xvmc --disable-vdpau
>> --enable-shared-glapi --disable-texture-float --with-sha1=libcrypto
>> --enable-gallium-llvm --enable-llvm-shared-libs
>> --with-gallium-drivers=swrast,swr --disable-egl --with-egl-platforms=
>> --disable-gbm --disable-dri --with-dri-drivers=  --disable-glx
>> --disable-osmesa --enable-gallium-osmesa
>> --with-llvm-prefix=$HW_ROOTDIR/third_party/llvm/llvm3.9.0/linux64
>> --prefix=$HW_ROOTDIR/third_party/mesagl/mesa12.0.3/linux64
>> --exec-prefix=$HW_ROOTDIR/third_party/mesagl/mesa12.0.3/linux64
>> make
>> make install
>>
>> I'm getting the following error building Mesa (below).  What am I doing wrong and how do I fix it?
>> Thanks
>>
>> Jeff
>>
>>
>>   CXX      libswrAVX_la-swr_query.lo
>> swr_screen.cpp: In function #boolean swr_texture_layout(swr_screen*, swr_resource*, boolean)#:
>> swr_screen.cpp:550:24: warning: comparison is always false due to limited range of data type [-Wtype-limits]
>>   CXX      rasterizer/jitter/libswrAVX_la-blend_jit.lo
>>   CXX      rasterizer/jitter/libswrAVX_la-builder.lo
>>   CXX      rasterizer/jitter/libswrAVX_la-builder_misc.lo
>>   CXX      rasterizer/jitter/libswrAVX_la-fetch_jit.lo
>>   CXX      rasterizer/jitter/libswrAVX_la-JitManager.lo
>>   CXX      rasterizer/jitter/libswrAVX_la-streamout_jit.lo
>> rasterizer/jitter/builder_misc.cpp: In member function #llvm::Value* Builder::PMAXSD(llvm::Value*, llvm::Value*)#:
>> rasterizer/jitter/builder_misc.cpp:862:77: error: #x86_sse41_pmaxsd#
>> is not a member of #llvm::Intrinsic#
>> rasterizer/jitter/builder_misc.cpp: In member function #llvm::Value* Builder::PMINSD(llvm::Value*, llvm::Value*)#:
>> rasterizer/jitter/builder_misc.cpp:891:77: error: #x86_sse41_pminsd# is not a member of #llvm::Intrinsic#
>>   CXX      rasterizer/jitter/libswrAVX_la-builder_x86.lo
>> mv: cannot stat `rasterizer/jitter/.deps/libswrAVX_la-builder_misc.Tpo': No such file or directory
>>   CXX      rasterizer/jitter/libswrAVX_la-builder_gen.lo
>>   CXX      libswrAVX2_la-swr_clear.lo
>>   CXX      libswrAVX2_la-swr_context.lo
>>   CXX      libswrAVX2_la-swr_draw.lo
>>   CXX      libswrAVX2_la-swr_screen.lo
>>   CXX      libswrAVX2_la-swr_state.lo
>>   CXX      libswrAVX2_la-swr_tex_sample.lo
>>   CXX      libswrAVX2_la-swr_scratch.lo
>>   CXX      libswrAVX2_la-swr_shader.lo
>>   CXX      libswrAVX2_la-swr_fence.lo
>>   CXX      libswrAVX2_la-swr_query.lo
>>   CXX      rasterizer/jitter/libswrAVX2_la-blend_jit.lo
>> swr_screen.cpp: In function #boolean swr_texture_layout(swr_screen*, swr_resource*, boolean)#:
>> swr_screen.cpp:550:24: warning: comparison is always false due to limited range of data type [-Wtype-limits]
>>   CXX      rasterizer/jitter/libswrAVX2_la-builder.lo
>>   CXX      rasterizer/jitter/libswrAVX2_la-builder_misc.lo
>> rasterizer/jitter/builder_x86.cpp: In member function #llvm::Value* Builder::VPMINSD(llvm::Value*, llvm::Value*)#:
>> rasterizer/jitter/builder_x86.cpp:85:71: error: #x86_avx2_pmins_d# is
>> not a member of #llvm::Intrinsic#
>> rasterizer/jitter/builder_x86.cpp: In member function #llvm::Value* Builder::VPMAXSD(llvm::Value*, llvm::Value*)#:
>> rasterizer/jitter/builder_x86.cpp:92:71: error: #x86_avx2_pmaxs_d# is
>> not a member of #llvm::Intrinsic#
>> rasterizer/jitter/builder_x86.cpp: In member function #llvm::Value* Builder::VPMOVSXBD(llvm::Value*)#:
>> rasterizer/jitter/builder_x86.cpp:148:71: error: #x86_avx2_pmovsxbd#
>> is not a member of #llvm::Intrinsic#
>> rasterizer/jitter/builder_x86.cpp: In member function #llvm::Value* Builder::VPMOVSXWD(llvm::Value*)#:
>> rasterizer/jitter/builder_x86.cpp:155:71: error: #x86_avx2_pmovsxwd#
>> is not a member of #llvm::Intrinsic#
>> mv: cannot stat `rasterizer/jitter/.deps/libswrAVX_la-builder_x86.Tpo': No such file or directory
>>   CXX      rasterizer/jitter/libswrAVX2_la-fetch_jit.lo
>>   CXX      rasterizer/jitter/libswrAVX2_la-JitManager.lo
>>   CXX      rasterizer/jitter/libswrAVX2_la-streamout_jit.lo
>>   CXX      rasterizer/jitter/libswrAVX2_la-builder_x86.lo
>>   CXX      rasterizer/jitter/libswrAVX2_la-builder_gen.lo
>>   CXXLD    libswrAVX.la
>> rasterizer/jitter/builder_misc.cpp: In member function #llvm::Value* Builder::PMAXSD(llvm::Value*, llvm::Value*)#:
>> rasterizer/jitter/builder_misc.cpp:862:77: error: #x86_sse41_pmaxsd#
>> is not a member of #llvm::Intrinsic#
>> rasterizer/jitter/builder_misc.cpp: In member function #llvm::Value* Builder::PMINSD(llvm::Value*, llvm::Value*)#:
>> rasterizer/jitter/builder_misc.cpp:891:77: error: #x86_sse41_pminsd#
>> is not a member of #llvm::Intrinsic#
>> mv: cannot stat `rasterizer/jitter/.deps/libswrAVX2_la-builder_misc.Tpo': No such file or directory
>> libtool:   error: 'rasterizer/jitter/libswrAVX_la-builder_misc.lo' is not a valid libtool object
>> rasterizer/jitter/builder_x86.cpp: In member function #llvm::Value* Builder::VPMINSD(llvm::Value*, llvm::Value*)#:
>> rasterizer/jitter/builder_x86.cpp:85:71: error: #x86_avx2_pmins_d# is
>> not a member of #llvm::Intrinsic#
>> rasterizer/jitter/builder_x86.cpp: In member function #llvm::Value* Builder::VPMAXSD(llvm::Value*, llvm::Value*)#:
>> rasterizer/jitter/builder_x86.cpp:92:71: error: #x86_avx2_pmaxs_d# is
>> not a member of #llvm::Intrinsic#
>> rasterizer/jitter/builder_x86.cpp: In member function #llvm::Value* Builder::VPMOVSXBD(llvm::Value*)#:
>> rasterizer/jitter/builder_x86.cpp:148:71: error: #x86_avx2_pmovsxbd#
>> is not a member of #llvm::Intrinsic#
>> rasterizer/jitter/builder_x86.cpp: In member function #llvm::Value* Builder::VPMOVSXWD(llvm::Value*)#:
>> rasterizer/jitter/builder_x86.cpp:155:71: error: #x86_avx2_pmovsxwd#
>> is not a member of #llvm::Intrinsic#
>> mv: cannot stat `rasterizer/jitter/.deps/libswrAVX2_la-builder_x86.Tpo': No such file or directory
>>   CXXLD    libswrAVX2.la
>> libtool:   error: 'rasterizer/jitter/libswrAVX2_la-builder_misc.lo' is not a valid libtool object
>>   GEN      .install-gallium-links
>> ln: accessing `.libs/libswrAVX.so*': No such file or directory
>> ln: accessing `.libs/libswrAVX2.so*': No such file or directory Making
>> all in winsys/sw/null
>>
>> _______________________________________________
>> mesa-users mailing list
>> mesa-users at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-users
> _______________________________________________
> mesa-users mailing list
> mesa-users at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-users


More information about the mesa-users mailing list