[Mesa-users] OpenGL 3.2 with SWR?

Chuck Atkins chuck.atkins at kitware.com
Fri Apr 8 18:35:31 UTC 2016


What does the end of your configure output look like?  You should see a
summary at the end of configure.  I suspect you may be missing some
dependent library.  On Fedora, I typically build a stripped down mesa that
only contains llvmpipe and swr for both GL and OSMesa.  My build looks like
this:

First I apply the following patch to src/mesa/Makefile.am to prevent a bug
in the auto-make scripts that install conflicting libgl versions for BOTH
dri and gallium.  Note, there may be a better way to patch this bug but
patches posted to the dev list were ignored and this way seems to work at
least:
-- a/src/mesa/Makefile.am
+++ b/src/mesa/Makefile.am
@@ -22,8 +22,10 @@
 SUBDIRS = . main/tests

 if HAVE_X11_DRIVER
+if !HAVE_GALLIUM
 SUBDIRS += drivers/x11
 endif
+endif

 if HAVE_DRICOMMON
 SUBDIRS += drivers/dri

Then I configure with:
./autogen.sh \
  --disable-va --disable-gbm --disable-xvmc --disable-vdpau \
  --disable-dri --with-dri-drivers= \
  --disable-egl --with-egl-platforms= --disable-gles1 --disable-gles2 \
  --enable-texture-float \
  --enable-glx --enable-xlib-glx \
  --enable-gallium-llvm=yes --enable-gallium-osmesa \
  --with-gallium-drivers=swrast,swr \
  --prefix=/path/to/install

My output looks like (specifically note the "Gallium drivers:" line):

...
bunch-o-stuff
..
        prefix:          /home/
khq.kitware.com/chuck.atkins/Code/Mesa/install/master
        exec_prefix:     ${prefix}
        libdir:          ${exec_prefix}/lib
        includedir:      ${prefix}/include

        OpenGL:          yes (ES1: no ES2: no)

        OSMesa:          libOSMesa (Gallium)

        GLX:             Xlib-based

        EGL:             no

        llvm:            yes
        llvm-config:     /usr/bin/llvm-config
        llvm-version:    3.7.0

        Gallium drivers: swrast swr
        Gallium st:      mesa

        Shader cache:    yes
        With SHA1 from:  libcrypto

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

        CFLAGS:          -g -O2 -Wall -std=c99
-Werror=implicit-function-declaration -Werror=missing-prototypes
-fno-strict-aliasing -fno-math-errno -fno-trapping-math -fno-builtin-memcmp
        CXXFLAGS:        -g -O2 -Wall -fno-strict-aliasing
-fno-builtin-memcmp -std=c++11
        Macros:          -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_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 -DHAVE_LIBDRM -DHAVE_SHA1
-DHAVE_LIBUDEV -DUSE_XSHM -DMESA_EGL_NO_X11_HEADERS -DHAVE_LLVM=0x0307
-DMESA_LLVM_VERSION_PATCH=0

        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   -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

        PYTHON2:         python2.7

        Run 'make' to build Mesa


Then I make -j8 install.  The resulting install then has the following
libraries:

libglapi.la
libglapi.so -> libglapi.so.0.0.0
libglapi.so.0 -> libglapi.so.0.0.0
libglapi.so.0.0.0
libGL.la
libGL.so -> libGL.so.1.5.0
libGL.so.1 -> libGL.so.1.5.0
libGL.so.1.5.0
libOSMesa.la
libOSMesa.so -> libOSMesa.so.8.0.0
libOSMesa.so.8 -> libOSMesa.so.8.0.0
libOSMesa.so.8.0.0
libswrAVX2.la
libswrAVX2.so -> libswrAVX2.so.0.0.0
libswrAVX2.so.0 -> libswrAVX2.so.0.0.0
libswrAVX2.so.0.0.0
libswrAVX.la
libswrAVX.so -> libswrAVX.so.0.0.0
libswrAVX.so.0 -> libswrAVX.so.0.0.0
libswrAVX.so.0.0.0

Does your build produce similar output?

- Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-users/attachments/20160408/5655f197/attachment-0001.html>


More information about the mesa-users mailing list