[Mesa-users] osmesa state tracker

Burlen Loring burlen.loring at gmail.com
Wed Oct 14 13:35:13 PDT 2015


Hi, A while back (9.2.2) I tested the osmesa gallium llvmpipe state 
tracker and saw a big speed up compared to the older mesa. I went to 
repeat the test on a shader based algorithm with osmesa in 11.0.0 and 
found there was no speed up compared to osmesa in mesa 7.10. I was 
expecting a big speed up, it takes 40 sec in mesa 7.10 and only 5 sec on 
my gpu with nvidia driver.

Was there any change in how one should build or run the llvmpipe state 
tracker?

Thanks
Burlen

here is runtime info:
GLVendor = VMware, Inc.
GLVersion = 3.0 Mesa 11.0.0
GLRenderer = Gallium 0.4 on llvmpipe (LLVM 3.4, 256 bits)

here is how I configured:
../mesa-11.0.0/configure CXXFLAGS="-DNDEBUG -O3 -mavx -ffast-math -Wall 
-Wextra -Wno-unknown-pragmas -Wno-unused-local-typedefs 
-fopt-info-optimized -fPIC -DDEFAULT_SOFTWARE_DEPTH_BITS=31" 
CFLAGS="-DNDEBUG -O3 -mavx -ffast-math -Wall -Wextra 
-Wno-unknown-pragmas -Wno-unused-local-typedefs -fopt-info-optimized 
-fPIC -DDEFAULT_SOFTWARE_DEPTH_BITS=31" --enable-static=no 
--enable-shared=yes --disable-xvmc --disable-glx --disable-dri 
--with-dri-drivers= --with-gallium-drivers=swrast --enable-texture-float 
--disable-shared-glapi --disable-egl --disable-gles1 --disable-gles2 
--with-egl-platforms= --enable-gallium-osmesa --enable-gallium-llvm=yes 
--prefix=/work/apps//mesa/11.0.0

and the table produced:
         prefix:          /work/apps//mesa/11.0.0
         exec_prefix:     ${prefix}
         libdir:          ${exec_prefix}/lib
         includedir:      ${prefix}/include

         OpenGL:          yes (ES1: no ES2: no)

         OSMesa:          libOSMesa (Gallium)

         GLX:             no

         EGL:             no

         llvm:            yes
         llvm-config:     /bin/llvm-config
         llvm-version:    3.4.2

         Gallium:         yes

         Shared libs:     yes
         Static libs:     no
         Shared-glapi:    no

         CFLAGS:          -DNDEBUG -O3 -mavx -ffast-math -Wall -Wextra 
-Wno-unknown-pragmas -Wno-unused-local-typedefs -fopt-info-optimized 
-fPIC -DDEFAULT_SOFTWARE_DEPTH_BITS=31 -Wall -std=c99 
-Werror=implicit-function-declaration -Werror=missing-prototypes 
-fno-strict-aliasing -fno-math-errno -fno-trapping-math -fno-builtin-memcmp
         CXXFLAGS:        -DNDEBUG -O3 -mavx -ffast-math -Wall -Wextra 
-Wno-unknown-pragmas -Wno-unused-local-typedefs -fopt-info-optimized 
-fPIC -DDEFAULT_SOFTWARE_DEPTH_BITS=31 -Wall -fno-strict-aliasing 
-fno-builtin-memcmp
         Macros:          -D__STDC_LIMIT_MACROS -D_GNU_SOURCE 
-DUSE_SSE41 -DNDEBUG -DTEXTURE_FLOAT_ENABLED -DUSE_X86_64_ASM 
-DHAVE_XLOCALE_H -DHAVE_SYS_SYSCTL_H -DHAVE_STRTOF -DHAVE_MKOSTEMP 
-DHAVE_DLOPEN -DHAVE_POSIX_MEMALIGN -DMESA_EGL_NO_X11_HEADERS 
-DHAVE_LLVM=0x0304 -DMESA_LLVM_VERSION_PATCH=2

         LLVM_CFLAGS:     -I/usr/include   -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
         LLVM_CXXFLAGS:   -I/usr/include   -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS   -pipe 
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions  --param=ssp-buffer-size=4 
-grecord-gcc-switches -m64 -mtune=generic  -std=c++11
         LLVM_CPPFLAGS:   -I/usr/include   -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
         LLVM_LDFLAGS:    -L/usr/lib64/llvm  -lz -lpthread -lffi -ltinfo 
-ldl -lm

         PYTHON2:         python2

         Run 'make' to build Mesa


More information about the mesa-users mailing list