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

Jeff McWilliams jjmcwill at altair.com
Wed Nov 2 13:39:41 UTC 2016


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