summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-03-29 12:00:24 -0700
committerJason Ekstrand <[email protected]>2016-04-14 15:15:00 -0700
commitca16373a2bedfaf5d5f1b668f080cda91d96171c (patch)
tree164ba59023f3cc4fdb2dfacbfb48d1ca57710747
parente61c812f76eda0cf70317ee8c4070e80e3312e67 (diff)
configure: Add initial support for enabling Vulkan drivers
-rw-r--r--configure.ac68
-rw-r--r--src/Makefile.am2
-rw-r--r--src/intel/Makefile.am6
3 files changed, 72 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index 24c069f23a3..0d3f0ff3c9d 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 73686a93b3c..a0572b7a563 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 d5bd0b3b5df..c3673c6e7c8 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