[Mesa-dev] glxgears is faster but 3D render is so slow

jupiter jupiter.hce at gmail.com
Thu Mar 14 03:37:46 PDT 2013


Hi Brian,

On 3/14/13, Brian Paul <brianp at vmware.com> wrote:
> On 03/13/2013 04:11 AM, jupiter wrote:
>> Hi Brian,
>>
>> Sorry for not being clear, let me clarify it.
>>
>> On 3/13/13, Brian Paul<brianp at vmware.com>  wrote:
>>> Well, the Xlib/swrast driver does everything in software, unlike a DRI
>>> driver which does most things with the GPU.  Xlib will always be slower.
>>
>> My local test machine graphic card does not have hardware
>> acceleration, it does not support OpenGL, it does not have NVIDIA. I
>> guess the DRI driver may still implement software GL even though it
>> might access some basic functions of the low budget graphic card, but
>> correct me, if I am using wrong terminology.
>
> Yes, swrast may also be used via DRI, when there's no DRI driver for
> the hardware GPU or when the hardware driver needs a software fallback.
>
>
>>> The gallium llvmpipe driver should be quite a bit faster.
>>>
>>> Just install LLVM first, then reconfigure/rebuild Mesa, set your
>>> LD_LIBRARY_PATH to the lib/gallium/ directory and you should get
>>> llvmpipe.
>>>
>> Yes, I have already built the Mesalib with LLVM, I posted the
>> configuration in my last email, let me post it again.
>>
>> ${SOURCE}/${CONFIGURE} --prefix=${INSTALL} --enable-xlib-glx
>> --disable-dri --enable-gallium-llvm --with-llvm-shared-libs
>>
>> It did not produce a faster result, it was virtually not much
>> differences when I run Chimera comparing to use of
>> --with-gallium-drivers=swrast unless my configuration is wrong. Please
>> let me know a correct version of configuration for llvmpipe. The
>> libdrm version is 2.4.42. The libllvm version is 3.2.
>
> libdrm is irrelevant for llvmpipe.

I know it should not include the libdrm, but I could not compile the
mesa without libdrm, please see following error. How to resolve that
issue?

........
checking for clock_gettime in -lrt... yes
checking for posix_memalign... yes
checking for the pthreads library -lpthreads... no
checking whether pthreads work without any flags... no
checking whether pthreads work with -Kthread... no
checking whether pthreads work with -kthread... no
checking for the pthreads library -llthread... no
checking whether pthreads work with -pthread... yes
checking for joinable pthread attribute... PTHREAD_CREATE_JOINABLE
checking if more special flags are required for pthreads... no
checking for PTHREAD_PRIO_INHERIT... no
configure: Shared GLAPI is only useful for DRI, disabling
checking for LIBDRM... yes
checking for X11... yes
checking for XLIBGL... yes
checking for mincore... yes
checking for LIBUDEV... no
checking for XCB_DRI2... yes
checking for llvm-config... /usr/local/libllvm/3.2/bin/llvm-config
checking for RADEON... configure: error: Package requirements
(libdrm_radeon >= 2.4.42) were not met:

Requested 'libdrm_radeon >= 2.4.42' but version of libdrm_radeon is 2.4.33

I don't know there it coms from, my graphic card is "00:02.0 VGA
compatible controller: Intel Corporation Mobile GM965/GL960 Integrated
Graphics Controller (primary) (rev 03)"

I have also add libxcbproto and libxcb to the LD_LIBRARY_PATH as
requested the libraries versions in CentOS 6.2 is newer than the
system installed.


>
>> I can also use a test program to measure Mesa in different drivers if
>> you could let me know which test program can be used for benchmarking
>> the Mesalib using different drivers of swrast, or llvm or DRI? And
>> where is the test program source code I can download from?
>
> The Mesa demos git tree can be cloned per
> http://www.mesa3d.org/repository.html
>
>>
>> Please also see attached glxinfo for Mesa llvm.
>
> The key line is "OpenGL renderer string: Mesa X11".  That's not
> llvmpipe.  If you're really using llvmpipe it should say something
> like "OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.2, 128
> bits)".
>
> Perhaps your LD_LIBRARY_PATH env is pointing at the wrong libGL.so

Hmm, the LD_LIBRARY_PATH seems set properly.

$ echo $LD_LIBRARY_PATH
/usr/local/mesallvm/9.1/lib:/usr/local/libllvm/3.2/lib

I also changed to following configure:

${SOURCE}/${CONFIGURE} --prefix=${INSTALL} --enable-xlib-glx
--disable-dri --enable-gallium-llvm --with-llvm-shared-libs
--with-llvm-prefix=/usr/local/libllvm/3.2
$ make
$ make install

But still not luck, could not  get OpenGL renderer string to llvm, nor
can find Gallium .

$ glxinfo | grep -i LLVM
$ glxinfo | grep -i Gallium

Nothing coming.

Are there anything missing or setting wrong in above configure? Could
you please give me a correct configuration?

Thanks.

Kind regards,

Jupiter


More information about the mesa-dev mailing list