Mesa (vulkan): configure: Add initial support for enabling Vulkan drivers

Jason Ekstrand jekstrand at kemper.freedesktop.org
Thu Apr 14 22:15:21 UTC 2016


Module: Mesa
Branch: vulkan
Commit: ca16373a2bedfaf5d5f1b668f080cda91d96171c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ca16373a2bedfaf5d5f1b668f080cda91d96171c

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Mar 29 12:00:24 2016 -0700

configure: Add initial support for enabling Vulkan drivers

---

 configure.ac          | 68 +++++++++++++++++++++++++++++++++++++++++++++++++--
 src/Makefile.am       |  2 +-
 src/intel/Makefile.am |  6 ++++-
 3 files changed, 72 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 24c069f..0d3f0ff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1545,6 +1545,59 @@ if test -n "$with_dri_drivers"; then
     DRI_DIRS=`echo $DRI_DIRS|tr " " "\n"|sort -u|tr "\n" " "`
 fi
 
+
+#
+# Vulkan driver configuration
+#
+
+# Keep this in sync with the --with-vulkan-drivers help string default value
+VULKAN_DRIVERS_DEFAULT="intel"
+
+AC_ARG_WITH([vulkan-drivers],
+    [AS_HELP_STRING([--with-vulkan-drivers@<:@=DIRS...@:>@],
+        [comma delimited Vulkan drivers list, e.g.
+        "intel"
+        @<:@default=intel@:>@])],
+    [with_vulkan_drivers="$withval"],
+    [with_vulkan_drivers="$VULKAN_DRIVERS_DEFAULT"])
+
+# Doing '--without-vulkan-drivers' will set this variable to 'no'.  Clear it
+# here so that the script doesn't choke on an unknown driver name later.
+case "$with_vulkan_drivers" in
+    yes) with_vulkan_drivers="$VULKAN_DRIVERS_DEFAULT" ;;
+    no) with_vulkan_drivers='' ;;
+esac
+
+AC_ARG_WITH([vulkan-icddir],
+    [AS_HELP_STRING([--with-vulkan-icddir=DIR],
+        [directory for the Vulkan driver icd files @<:@${libdir}/dri@:>@])],
+    [VULKAN_ICD_INSTALL_DIR="$withval"],
+    [VULKAN_ICD_INSTALL_DIR='${sysconfdir}/vulkan/icd.d'])
+AC_SUBST([VULKAN_ICD_INSTALL_DIR])
+
+if test -n "$with_vulkan_drivers"; then
+    VULKAN_DRIVERS=`IFS=', '; echo $with_vulkan_drivers`
+    for driver in $VULKAN_DRIVERS; do
+        case "x$driver" in
+        xintel)
+            if test "x$HAVE_I965_DRI" != xyes; then
+                AC_MSG_ERROR([Intel Vulkan driver requires the i965 dri driver])
+            fi
+            if test "x$with_sha1" == "x"; then
+                AC_MSG_ERROR([Intel Vulkan driver requires SHA1])
+            fi
+            HAVE_INTEL_VULKAN=yes;
+
+            ;;
+        *)
+            AC_MSG_ERROR([Vulkan driver '$driver' does not exist])
+            ;;
+        esac
+    done
+    VULKAN_DRIVERS=`echo $VULKAN_DRIVERS|tr " " "\n"|sort -u|tr "\n" " "`
+fi
+
+
 AM_CONDITIONAL(NEED_MEGADRIVER, test -n "$DRI_DIRS")
 AM_CONDITIONAL(NEED_LIBMESA, test "x$enable_xlib_glx" = xyes -o \
                                   "x$enable_osmesa" = xyes -o \
@@ -1632,8 +1685,6 @@ GBM_PC_LIB_PRIV="$DLOPEN_LIBS"
 AC_SUBST([GBM_PC_REQ_PRIV])
 AC_SUBST([GBM_PC_LIB_PRIV])
 
-AM_CONDITIONAL(HAVE_VULKAN, true)
-
 dnl
 dnl EGL configuration
 dnl
@@ -2401,6 +2452,10 @@ AM_CONDITIONAL(HAVE_R200_DRI, test x$HAVE_R200_DRI = xyes)
 AM_CONDITIONAL(HAVE_RADEON_DRI, test x$HAVE_RADEON_DRI = xyes)
 AM_CONDITIONAL(HAVE_SWRAST_DRI, test x$HAVE_SWRAST_DRI = xyes)
 
+AM_CONDITIONAL(HAVE_INTEL_VULKAN, test "x$HAVE_INTEL_VULKAN" = xyes)
+
+AM_CONDITIONAL(HAVE_INTEL_DRIVERS, test "x$HAVE_INTEL_VULKAN" = xyes)
+
 AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$HAVE_GALLIUM_R300" = xyes -o \
                                             "x$HAVE_GALLIUM_R600" = xyes -o \
                                             "x$HAVE_GALLIUM_RADEONSI" = xyes)
@@ -2647,6 +2702,15 @@ if test "$enable_egl" = yes; then
     echo "        EGL drivers:    $egl_drivers"
 fi
 
+# Vulkan
+echo ""
+if test "x$VULKAN_DRIVERS" != x; then
+    echo "        Vulkan drivers:  $VULKAN_DRIVERS"
+    echo "        Vulkan ICD dir:  $VULKAN_ICD_INSTALL_DIR"
+else
+    echo "        Vulkan drivers:  no"
+fi
+
 echo ""
 if test "x$MESA_LLVM" = x1; then
     echo "        llvm:            yes"
diff --git a/src/Makefile.am b/src/Makefile.am
index 73686a9..a0572b7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -56,7 +56,7 @@ EXTRA_DIST = \
 AM_CFLAGS = $(VISIBILITY_CFLAGS)
 AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)
 
-if HAVE_VULKAN
+if HAVE_INTEL_DRIVERS
 SUBDIRS += intel
 endif
 
diff --git a/src/intel/Makefile.am b/src/intel/Makefile.am
index d5bd0b3..c3673c6 100644
--- a/src/intel/Makefile.am
+++ b/src/intel/Makefile.am
@@ -19,4 +19,8 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
-SUBDIRS = genxml isl vulkan
+SUBDIRS = genxml isl
+
+if HAVE_INTEL_VULKAN
+SUBDIRS += vulkan
+endif




More information about the mesa-commit mailing list