Other than the two comments in patch 6 and 8 this series is Reviewed-by: Andreas Boll <andreas.boll....@gmail.com>
I'll test it with various configs tomorrow. 2013/2/25 Matt Turner <matts...@gmail.com>: > --- > configure.ac | 38 +++++++++++++--------- > src/gallium/winsys/Makefile.am | 62 > ++++++++++++++++++++++++++++++++++++- > src/gallium/winsys/sw/Makefile.am | 37 ---------------------- > 3 files changed, 84 insertions(+), 53 deletions(-) > delete mode 100644 src/gallium/winsys/sw/Makefile.am > > diff --git a/configure.ac b/configure.ac > index db77eb1..59146c2 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -769,7 +769,7 @@ xyesyes) > GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib" > GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS libgl-xlib" > GALLIUM_STATE_TRACKERS_DIRS="glx $GALLIUM_STATE_TRACKERS_DIRS" > - HAVE_WINSYS_XLIB="yes" > + NEED_WINSYS_XLIB="yes" > ;; > esac > > @@ -778,7 +778,6 @@ if test "x$enable_dri" = xyes; then > GALLIUM_STATE_TRACKERS_DIRS="dri $GALLIUM_STATE_TRACKERS_DIRS" > fi > > -AC_SUBST([GALLIUM_WINSYS_DIRS]) > AC_SUBST([MESA_LLVM]) > > # Check for libdrm > @@ -1483,10 +1482,6 @@ fi > egl_platforms=`IFS=', '; echo $with_egl_platforms` > for plat in $egl_platforms; do > case "$plat" in > - fbdev|null) > - GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/$plat" > - ;; > - > wayland) > PKG_CHECK_MODULES([WAYLAND], [wayland-client >= 1.0.2 > wayland-server >= 1.0.2]) > GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/wayland" > @@ -1509,7 +1504,7 @@ for plat in $egl_platforms; do > AC_MSG_ERROR([EGL platform drm needs gbm]) > ;; > > - android|gdi) > + android|fbdev|gdi|null) > ;; > > *) > @@ -1534,6 +1529,9 @@ fi > > EGL_PLATFORMS="$egl_platforms" > > +if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then > + NEED_WINSYS_XLIB=yes > +fi > AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' > >/dev/null 2>&1) > AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep > 'wayland' >/dev/null 2>&1) > AM_CONDITIONAL(HAVE_EGL_PLATFORM_DRM, echo "$egl_platforms" | grep 'drm' > >/dev/null 2>&1) > @@ -1713,9 +1711,7 @@ dnl > dnl Gallium helper functions > dnl > gallium_check_st() { > - if test "x$enable_dri" = xyes -o "x$enable_xorg" = xyes -o \ > - "x$enable_xa" = xyes -o "x$enable_xvmc" = xyes -o \ > - "x$enable_vdpau" = xyes; then > + if test "x$NEED_NONNULL_WINSYS" = xyes; then > if test "x$have_libdrm" != xyes; then > AC_MSG_ERROR([DRI or Xorg DDX requires libdrm >= > $LIBDRM_REQUIRED]) > fi > @@ -1776,6 +1772,13 @@ radeon_llvm_check() { > } > > dnl Gallium drivers > +if test "x$enable_dri" = xyes -o "x$enable_xorg" = xyes -o \ > + "x$enable_xa" = xyes -o "x$enable_xvmc" = xyes -o \ > + "x$enable_vdpau" = xyes; then > + NEED_NONNULL_WINSYS=yes > +fi > +AM_CONDITIONAL(NEED_NONNULL_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes) > + > dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this > block > if test "x$with_gallium_drivers" != x; then > gallium_drivers=`IFS=', '; echo $with_gallium_drivers` > @@ -1856,9 +1859,8 @@ if test "x$with_gallium_drivers" != x; then > GALLIUM_TARGET_DIRS="$GALLIUM_TARGET_DIRS xvmc-softpipe" > fi > if test "x$enable_vdpau" = xyes -o "x$enable_xvmc" = xyes; then > - if test "x$HAVE_WINSYS_XLIB" != xyes; then > - GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib" > - fi > + NEED_WINSYS_XLIB=yes > + GALLIUM_WINSYS_DIRS="$GALLIUM_WINSYS_DIRS sw/xlib" > fi > ;; > *) > @@ -1933,7 +1935,7 @@ if test "x$enable_gallium_loader" = xyes; then > > GALLIUM_PIPE_LOADER_LIBS="\$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la" > GALLIUM_PIPE_LOADER_LIBS="$GALLIUM_PIPE_LOADER_LIBS > \$(top_builddir)/src/gallium/winsys/sw/null/libws_null.la" > > - if test "x$HAVE_WINSYS_XLIB" = xyes; then > + if test "x$NEED_WINSYS_XLIB" = xyes; then > GALLIUM_PIPE_LOADER_DEFINES="$GALLIUM_PIPE_LOADER_DEFINES > -DHAVE_PIPE_LOADER_XLIB" > GALLIUM_PIPE_LOADER_LIBS="$GALLIUM_PIPE_LOADER_LIBS > \$(top_builddir)/src/gallium/winsys/sw/xlib/libws_xlib.la" > fi > @@ -1952,6 +1954,13 @@ if test "x$enable_gallium_loader" = xyes; then > AC_SUBST([GALLIUM_PIPE_LOADER_LIBS]) > fi > > +AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$NEED_NONNULL_WINSYS" = xyes > -a \ > + "x$HAVE_GALLIUM_R300" = xyes -o \ > + "x$HAVE_GALLIUM_R600" = xyes -o \ > + "x$HAVE_GALLIUM_RADEONSI" = xyes) > +AM_CONDITIONAL(NEED_WINSYS_WRAPPER, test "x$HAVE_GALLIUM_I915" = xyes -o \ > + "x$HAVE_GALLIUM_SVGA" = xyes) > +AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes) > AM_CONDITIONAL(NEED_RADEON_GALLIUM, test x$NEED_RADEON_GALLIUM = xyes) > AM_CONDITIONAL(R600_NEED_RADEON_GALLIUM, test x$R600_NEED_RADEON_GALLIUM = > xyes) > AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes) > @@ -2069,7 +2078,6 @@ AC_CONFIG_FILES([Makefile > src/gallium/winsys/nouveau/drm/Makefile > src/gallium/winsys/radeon/drm/Makefile > src/gallium/winsys/svga/drm/Makefile > - src/gallium/winsys/sw/Makefile > src/gallium/winsys/sw/dri/Makefile > src/gallium/winsys/sw/fbdev/Makefile > src/gallium/winsys/sw/null/Makefile > diff --git a/src/gallium/winsys/Makefile.am b/src/gallium/winsys/Makefile.am > index f2c96b3..533a03a 100644 > --- a/src/gallium/winsys/Makefile.am > +++ b/src/gallium/winsys/Makefile.am > @@ -1 +1,61 @@ > -SUBDIRS = $(GALLIUM_WINSYS_DIRS) > +# Copyright © 2013 Intel Corporation > +# > +# Permission is hereby granted, free of charge, to any person obtaining a > +# copy of this software and associated documentation files (the "Software"), > +# to deal in the Software without restriction, including without limitation > +# the rights to use, copy, modify, merge, publish, distribute, sublicense, > +# and/or sell copies of the Software, and to permit persons to whom the > +# Software is furnished to do so, subject to the following conditions: > +# > +# The above copyright notice and this permission notice (including the next > +# paragraph) shall be included in all copies or substantial portions of the > +# Software. > +# > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND > +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT > +# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, > +# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, > +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > +# DEALINGS IN THE SOFTWARE. > + > +SUBDIRS = sw/null > + > +if NEED_WINSYS_XLIB > +SUBDIRS += sw/xlib > +endif > + > +if HAVE_DRI > +SUBDIRS += sw/dri > +endif > + > +if HAVE_EGL_PLATFORM_FBDEV > +SUBDIRS += sw/fbdev > +endif > + > +if HAVE_EGL_PLATFORM_WAYLAND > +SUBDIRS += sw/wayland > +endif > + > +if NEED_WINSYS_WRAPPER > +SUBDIRS += sw/wrapper > +endif > + > +if NEED_NONNULL_WINSYS > +if HAVE_GALLIUM_I915 > +SUBDIRS += i915/sw i915/drm > +endif > + > +if HAVE_GALLIUM_NOUVEAU > +SUBDIRS += nouveau/drm > +endif > + > +if NEED_RADEON_DRM_WINSYS > +SUBDIRS += radeon/drm > +endif > + > +if HAVE_GALLIUM_SVGA > +SUBDIRS += svga/drm > +endif > +endif > diff --git a/src/gallium/winsys/sw/Makefile.am > b/src/gallium/winsys/sw/Makefile.am > deleted file mode 100644 > index ae8984c..0000000 > --- a/src/gallium/winsys/sw/Makefile.am > +++ /dev/null > @@ -1,37 +0,0 @@ > -# Copyright © 2012 Intel Corporation > -# > -# Permission is hereby granted, free of charge, to any person obtaining a > -# copy of this software and associated documentation files (the "Software"), > -# to deal in the Software without restriction, including without limitation > -# the rights to use, copy, modify, merge, publish, distribute, sublicense, > -# and/or sell copies of the Software, and to permit persons to whom the > -# Software is furnished to do so, subject to the following conditions: > -# > -# The above copyright notice and this permission notice (including the next > -# paragraph) shall be included in all copies or substantial portions of the > -# Software. > -# > -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND > -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT > -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, > -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, > -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > -# DEALINGS IN THE SOFTWARE. > - > -SUBDIRS = null wrapper > - > -# TODO: this should go through a further indirection level > -# (i.e. EGL should set a variable that is checked here) > -if HAVE_EGL_PLATFORM_X11 > -SUBDIRS += xlib > -endif > - > -if HAVE_EGL_PLATFORM_FBDEV > -SUBDIRS += fbdev > -endif > - > -if HAVE_EGL_PLATFORM_WAYLAND > -SUBDIRS += wayland > -endif > -- > 1.7.8.6 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev