X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=configure.ac;h=f62bc61e50255ab94357dc7787d67ef9a5cfba70;hb=d8ce8acdfa1eab4749f631bb09ea294484ac961a;hp=6ea1f2c6a2f2703356dae6292aa477d81f370ff1;hpb=d66cb7c84f2b35b76ad47f6f9add2c0512375815;p=mesa.git diff --git a/configure.ac b/configure.ac index 6ea1f2c6a2f..f62bc61e502 100644 --- a/configure.ac +++ b/configure.ac @@ -74,11 +74,11 @@ LIBDRM_AMDGPU_REQUIRED=2.4.63 LIBDRM_INTEL_REQUIRED=2.4.61 LIBDRM_NVVIEUX_REQUIRED=2.4.66 LIBDRM_NOUVEAU_REQUIRED=2.4.66 -LIBDRM_FREEDRENO_REQUIRED=2.4.67 +LIBDRM_FREEDRENO_REQUIRED=2.4.74 +LIBDRM_VC4_REQUIRED=2.4.69 DRI2PROTO_REQUIRED=2.6 DRI3PROTO_REQUIRED=1.0 PRESENTPROTO_REQUIRED=1.0 -LIBUDEV_REQUIRED=151 GLPROTO_REQUIRED=1.4.14 LIBOMXIL_BELLAGIO_REQUIRED=0.0 LIBVA_REQUIRED=0.38.0 @@ -89,7 +89,8 @@ XCBDRI2_REQUIRED=1.8 XCBGLX_REQUIRED=1.8.1 XSHMFENCE_REQUIRED=1.1 XVMC_REQUIRED=1.0.6 -PYTHON_MAKO_REQUIRED=0.3.4 +PYTHON_MAKO_REQUIRED=0.8.0 +LIBSENSORS_REQUIRED=4.0.0 dnl Check for progs AC_PROG_CPP @@ -108,6 +109,7 @@ LT_PREREQ([2.2]) LT_INIT([disable-static]) AC_CHECK_PROG(RM, rm, [rm -f]) +AC_CHECK_PROG(XXD, xxd, [xxd]) AX_PROG_BISON([], AS_IF([test ! -f "$srcdir/src/compiler/glsl/glcpp/glcpp-parse.c"], @@ -225,6 +227,7 @@ AX_GCC_FUNC_ATTRIBUTE([packed]) AX_GCC_FUNC_ATTRIBUTE([pure]) AX_GCC_FUNC_ATTRIBUTE([returns_nonnull]) AX_GCC_FUNC_ATTRIBUTE([unused]) +AX_GCC_FUNC_ATTRIBUTE([visibility]) AX_GCC_FUNC_ATTRIBUTE([warn_unused_result]) AX_GCC_FUNC_ATTRIBUTE([weak]) @@ -298,16 +301,9 @@ if test "x$GCC" = xyes; then # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed. CFLAGS=$save_CFLAGS - # Work around aliasing bugs - developers should comment this out - CFLAGS="$CFLAGS -fno-strict-aliasing" - # We don't want floating-point math functions to set errno or trap CFLAGS="$CFLAGS -fno-math-errno -fno-trapping-math" - # gcc's builtin memcmp is slower than glibc's - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052 - CFLAGS="$CFLAGS -fno-builtin-memcmp" - # Flags to help ensure that certain portions of the code -- and only those # portions -- can be built with MSVC: # - src/util, src/gallium/auxiliary, rc/gallium/drivers/llvmpipe, and @@ -344,12 +340,8 @@ if test "x$GXX" = xyes; then # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed. CXXFLAGS=$save_CXXFLAGS - # Work around aliasing bugs - developers should comment this out - CXXFLAGS="$CXXFLAGS -fno-strict-aliasing" - - # gcc's builtin memcmp is slower than glibc's - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43052 - CXXFLAGS="$CXXFLAGS -fno-builtin-memcmp" + # We don't want floating-point math functions to set errno or trap + CXXFLAGS="$CXXFLAGS -fno-math-errno -fno-trapping-math" fi AC_SUBST([MSVC2013_COMPAT_CFLAGS]) @@ -395,6 +387,17 @@ fi AM_CONDITIONAL([SSE41_SUPPORTED], [test x$SSE41_SUPPORTED = x1]) AC_SUBST([SSE41_CFLAGS], $SSE41_CFLAGS) +dnl Check for new-style atomic builtins +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ +int main() { + int n; + return __atomic_load_n(&n, __ATOMIC_ACQUIRE); +}]])], GCC_ATOMIC_BUILTINS_SUPPORTED=1) +if test "x$GCC_ATOMIC_BUILTINS_SUPPORTED" = x1; then + DEFINES="$DEFINES -DUSE_GCC_ATOMIC_BUILTINS" +fi +AM_CONDITIONAL([GCC_ATOMIC_BUILTINS_SUPPORTED], [test x$GCC_ATOMIC_BUILTINS_SUPPORTED = x1]) + dnl Check for Endianness AC_C_BIGENDIAN( little_endian=no, @@ -780,6 +783,7 @@ if test "x$enable_asm" = xyes; then esac fi +AC_HEADER_MAJOR AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"]) AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"]) AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"]) @@ -819,8 +823,11 @@ if test "x$ax_pthread_ok" = xno; then fi dnl AX_PTHREADS leaves PTHREAD_LIBS empty for gcc and sets PTHREAD_CFLAGS dnl to -pthread, which causes problems if we need -lpthread to appear in -dnl pkgconfig files. -test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread" +dnl pkgconfig files. Since Android doesn't have a pthread lib, this check +dnl is not valid for that platform. +if test "x$android" = xno; then + test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread" +fi dnl pthread-stubs is mandatory on targets where it exists case "$host_os" in @@ -879,6 +886,32 @@ AC_ARG_ENABLE([dri], [enable_dri="$enableval"], [enable_dri=yes]) +AC_ARG_ENABLE([gallium-extra-hud], + [AS_HELP_STRING([--enable-gallium-extra-hud], + [enable HUD block/NIC I/O HUD stats support @<:@default=disabled@:>@])], + [enable_gallium_extra_hud="$enableval"], + [enable_gallium_extra_hud=no]) +AM_CONDITIONAL(HAVE_GALLIUM_EXTRA_HUD, test "x$enable_gallium_extra_hud" = xyes) +if test "x$enable_gallium_extra_hud" = xyes ; then + DEFINES="${DEFINES} -DHAVE_GALLIUM_EXTRA_HUD=1" +fi + +#TODO: no pkgconfig .pc available for libsensors. +#PKG_CHECK_MODULES([LIBSENSORS], [libsensors >= $LIBSENSORS_REQUIRED], [enable_lmsensors=yes], [enable_lmsensors=no]) +AC_ARG_ENABLE([lmsensors], + [AS_HELP_STRING([--enable-lmsensors], + [enable HUD lmsensor support @<:@default=disabled@:>@])], + [enable_lmsensors="$enableval"], + [enable_lmsensors=no]) +AM_CONDITIONAL(HAVE_LIBSENSORS, test "x$enable_lmsensors" = xyes) +if test "x$enable_lmsensors" = xyes ; then + DEFINES="${DEFINES} -DHAVE_LIBSENSORS=1" + LIBSENSORS_LDFLAGS="-lsensors" +else + LIBSENSORS_LDFLAGS="" +fi +AC_SUBST(LIBSENSORS_LDFLAGS) + case "$host_os" in linux*) dri3_default=yes @@ -925,9 +958,16 @@ AC_ARG_ENABLE([xa], [enable_xa=no]) AC_ARG_ENABLE([gbm], [AS_HELP_STRING([--enable-gbm], - [enable gbm library @<:@default=auto@:>@])], + [enable gbm library @<:@default=yes except cygwin@:>@])], [enable_gbm="$enableval"], - [enable_gbm=auto]) + [case "$host_os" in + cygwin*) + enable_gbm=no + ;; + *) + enable_gbm=yes + ;; + esac]) AC_ARG_ENABLE([nine], [AS_HELP_STRING([--enable-nine], [enable build of the nine Direct3D9 API @<:@default=no@:>@])], @@ -1110,11 +1150,20 @@ if test "x$have_libdrm" = xyes; then DEFINES="$DEFINES -DHAVE_LIBDRM" fi +require_libdrm() { + if test "x$have_libdrm" != xyes; then + AC_MSG_ERROR([$1 requires libdrm >= $LIBDRM_REQUIRED]) + fi +} + + # Select which platform-dependent DRI code gets built case "$host_os" in darwin*) dri_platform='apple' ;; -gnu*|cygwin*) +cygwin*) + dri_platform='windows' ;; +gnu*) dri_platform='none' ;; *) dri_platform='drm' ;; @@ -1130,6 +1179,9 @@ AM_CONDITIONAL(HAVE_DRISW_KMS, test "x$have_drisw_kms" = xyes ) AM_CONDITIONAL(HAVE_DRI2, test "x$enable_dri" = xyes -a "x$dri_platform" = xdrm -a "x$have_libdrm" = xyes ) AM_CONDITIONAL(HAVE_DRI3, test "x$enable_dri3" = xyes -a "x$dri_platform" = xdrm -a "x$have_libdrm" = xyes ) AM_CONDITIONAL(HAVE_APPLEDRI, test "x$enable_dri" = xyes -a "x$dri_platform" = xapple ) +AM_CONDITIONAL(HAVE_LMSENSORS, test "x$enable_lmsensors" = xyes ) +AM_CONDITIONAL(HAVE_GALLIUM_EXTRA_HUD, test "x$enable_gallium_extra_hud" = xyes ) +AM_CONDITIONAL(HAVE_WINDOWSDRI, test "x$enable_dri" = xyes -a "x$dri_platform" = xwindows ) AC_ARG_ENABLE([shared-glapi], [AS_HELP_STRING([--enable-shared-glapi], @@ -1309,24 +1361,9 @@ if test "x$with_sha1" = "x"; then AC_MSG_ERROR([Cannot enable shader cache (no SHA-1 implementation found)]) fi fi -AM_CONDITIONAL([ENABLE_SHADER_CACHE], [test x$enable_shader_cache = xyes]) - -case "$host_os" in -linux*) - need_pci_id=yes ;; -*) - need_pci_id=no ;; -esac - -PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED], - have_libudev=yes, have_libudev=no) - -AC_ARG_ENABLE([sysfs], - [AS_HELP_STRING([--enable-sysfs], - [enable /sys PCI identification @<:@default=disabled@:>@])], - [have_sysfs="$enableval"], - [have_sysfs=no] -) +if test "x$enable_shader_cache" = "xyes"; then + AC_DEFINE([ENABLE_SHADER_CACHE], [1], [Enable shader cache]) +fi if test "x$enable_dri" = xyes; then if test "$enable_static" = yes; then @@ -1370,9 +1407,7 @@ xdri) if test x"$driglx_direct" = xyes; then if test x"$dri_platform" = xdrm ; then DEFINES="$DEFINES -DGLX_USE_DRM" - if test "x$have_libdrm" != xyes; then - AC_MSG_ERROR([Direct rendering requires libdrm >= $LIBDRM_REQUIRED]) - fi + require_libdrm "Direct rendering" PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= $DRI2PROTO_REQUIRED]) GL_PC_REQ_PRIV="$GL_PC_REQ_PRIV libdrm >= $LIBDRM_REQUIRED" @@ -1394,6 +1429,9 @@ xdri) if test x"$dri_platform" = xapple ; then DEFINES="$DEFINES -DGLX_USE_APPLEGL" fi + if test x"$dri_platform" = xwindows ; then + DEFINES="$DEFINES -DGLX_USE_WINDOWSGL" + fi fi # add xf86vidmode if available @@ -1413,17 +1451,6 @@ xdri) ;; esac -have_pci_id=no -if test "$have_libudev" = yes; then - DEFINES="$DEFINES -DHAVE_LIBUDEV" - have_pci_id=yes -fi - -if test "$have_sysfs" = yes; then - DEFINES="$DEFINES -DHAVE_SYSFS" - have_pci_id=yes -fi - # This is outside the case (above) so that it is invoked even for non-GLX # builds. AM_CONDITIONAL(HAVE_XF86VIDMODE, test "x$HAVE_XF86VIDMODE" = xyes) @@ -1532,10 +1559,6 @@ if test "x$enable_dri" = xyes; then DEFINES="$DEFINES -DHAVE_DRI3" fi - if test "x$have_pci_id" != xyes; then - AC_MSG_ERROR([libudev-dev or sysfs required for building DRI]) - fi - case "$host_cpu" in powerpc* | sparc*) # Build only the drivers for cards that exist on PowerPC/sparc @@ -1667,6 +1690,13 @@ if test -n "$with_vulkan_drivers"; then HAVE_INTEL_VULKAN=yes; ;; + xradeon) + PKG_CHECK_MODULES([AMDGPU], [libdrm_amdgpu >= $LIBDRM_AMDGPU_REQUIRED]) + HAVE_RADEON_VULKAN=yes; + if test "x$with_sha1" == "x"; then + AC_MSG_ERROR([radv vulkan driver requires SHA1]) + fi + ;; *) AC_MSG_ERROR([Vulkan driver '$driver' does not exist]) ;; @@ -1727,19 +1757,7 @@ AC_SUBST([OSMESA_PC_LIB_PRIV]) dnl dnl gbm configuration dnl -if test "x$enable_gbm" = xauto; then - case "$with_egl_platforms" in - *drm*) - enable_gbm=yes ;; - *) - enable_gbm=no ;; - esac -fi if test "x$enable_gbm" = xyes; then - if test "x$need_pci_id$have_pci_id" = xyesno; then - AC_MSG_ERROR([gbm requires udev >= $LIBUDEV_REQUIRED or sysfs]) - fi - if test "x$enable_dri" = xyes; then if test "x$enable_shared_glapi" = xno; then AC_MSG_ERROR([gbm_dri requires --enable-shared-glapi]) @@ -1754,11 +1772,8 @@ if test "x$enable_gbm" = xyes; then fi fi AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes) -if test "x$need_pci_id$have_libudev" = xyesyes; then - GBM_PC_REQ_PRIV="libudev >= $LIBUDEV_REQUIRED" -else - GBM_PC_REQ_PRIV="" -fi +# FINISHME: GBM has a number of dependencies which we should add below +GBM_PC_REQ_PRIV="" GBM_PC_LIB_PRIV="$DLOPEN_LIBS" AC_SUBST([GBM_PC_REQ_PRIV]) AC_SUBST([GBM_PC_LIB_PRIV]) @@ -1997,17 +2012,21 @@ AC_ARG_WITH([egl-platforms], "x11,drm" @<:@default=auto@:>@])], [with_egl_platforms="$withval"], [if test "x$enable_egl" = xyes; then - with_egl_platforms="x11" + if test "x$enable_gbm" = xyes; then + with_egl_platforms="x11,drm" + else + with_egl_platforms="x11" + fi else - with_egl_platforms="" + with_egl_platforms="" fi]) if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then AC_MSG_ERROR([cannot build egl state tracker without EGL library]) fi -PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland_scanner], - WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland_scanner`, +PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], + WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, WAYLAND_SCANNER='') if test "x$WAYLAND_SCANNER" = x; then AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) @@ -2018,8 +2037,6 @@ egl_platforms=`IFS=', '; echo $with_egl_platforms` for plat in $egl_platforms; do case "$plat" in wayland) - test "x$have_libdrm" != xyes && - AC_MSG_ERROR([EGL platform wayland requires libdrm >= $LIBDRM_REQUIRED]) PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED]) @@ -2035,16 +2052,13 @@ for plat in $egl_platforms; do drm) test "x$enable_gbm" = "xno" && AC_MSG_ERROR([EGL platform drm needs gbm]) - test "x$have_libdrm" != xyes && - AC_MSG_ERROR([EGL platform drm requires libdrm >= $LIBDRM_REQUIRED]) ;; surfaceless) - test "x$have_libdrm" != xyes && - AC_MSG_ERROR([EGL platform surfaceless requires libdrm >= $LIBDRM_REQUIRED]) ;; android) + PKG_CHECK_MODULES([ANDROID], [cutils hardware sync]) ;; *) @@ -2052,10 +2066,11 @@ for plat in $egl_platforms; do ;; esac - case "$plat$need_pci_id$have_pci_id" in - waylandyesno|drmyesno) - AC_MSG_ERROR([cannot build $plat platform without udev >= $LIBUDEV_REQUIRED or sysfs]) ;; - esac + case "$plat" in + wayland|drm|surfaceless) + require_libdrm "Platform $plat" + ;; + esac done # libEGL wants to default to the first platform specified in @@ -2150,7 +2165,7 @@ if test "x$enable_gallium_llvm" = xauto; then i*86|x86_64|amd64) enable_gallium_llvm=yes;; esac fi -if test "x$enable_gallium_llvm" = xyes; then +if test "x$enable_gallium_llvm" = xyes || test "x$HAVE_RADEON_VULKAN" = xyes; then if test -n "$llvm_prefix"; then AC_PATH_TOOL([LLVM_CONFIG], [llvm-config], [no], ["$llvm_prefix/bin"]) else @@ -2191,6 +2206,10 @@ if test "x$enable_gallium_llvm" = xyes; then LLVM_COMPONENTS="engine bitwriter mcjit mcdisassembler" + if $LLVM_CONFIG --components | grep -q inteljitevents ; then + LLVM_COMPONENTS="${LLVM_COMPONENTS} inteljitevents" + fi + if test "x$enable_opencl" = xyes; then llvm_check_version_for "3" "6" "0" "opencl" @@ -2271,12 +2290,6 @@ AC_SUBST([D3D_DRIVER_INSTALL_DIR]) dnl dnl Gallium helper functions dnl -gallium_require_drm() { - if test "x$have_libdrm" != xyes; then - AC_MSG_ERROR([$1 requires libdrm >= $LIBDRM_REQUIRED]) - fi -} - gallium_require_llvm() { if test "x$MESA_LLVM" = x0; then case "$host" in *gnux32) return;; esac @@ -2286,28 +2299,21 @@ gallium_require_llvm() { fi } -gallium_require_drm_loader() { - if test "x$need_pci_id$have_pci_id" = xyesno; then - AC_MSG_ERROR([Gallium drm loader requires libudev >= $LIBUDEV_REQUIRED or sysfs]) - fi -} - -dnl This is for Glamor. Skip this if OpenGL is disabled. -require_egl_drm() { - if test "x$enable_opengl" = xno; then - return 0 - fi - +dnl +dnl DRM is needed by X, Wayland, and offscreen rendering. +dnl Surfaceless is an alternative for the last one. +dnl +require_basic_egl() { case "$with_egl_platforms" in - *drm*) + *drm*|*surfaceless*) ;; - *) - AC_MSG_ERROR([--with-egl-platforms=drm is required to build the $1 driver.]) + *) + AC_MSG_ERROR([$1 requires one of these: + 1) --with-egl-platforms=drm (X, Wayland, offscreen rendering based on DRM) + 2) --with-egl-platforms=surfaceless (offscreen only) + Recommended options: drm,x11]) ;; esac - if test "x$enable_gbm" != xyes; then - AC_MSG_ERROR([--enable-gbm is required to build the $1 driver.]) - fi } radeon_llvm_check() { @@ -2316,10 +2322,7 @@ radeon_llvm_check() { else amdgpu_llvm_target_name='amdgpu' fi - if test "x$enable_gallium_llvm" != "xyes"; then - AC_MSG_ERROR([--enable-gallium-llvm is required when building $1]) - fi - llvm_check_version_for "3" "6" "0" $1 + llvm_check_version_for $2 $3 $4 $1 if test true && $LLVM_CONFIG --targets-built | grep -iqvw $amdgpu_llvm_target_name ; then AC_MSG_ERROR([LLVM $amdgpu_llvm_target_name not enabled in your LLVM build.]) fi @@ -2330,6 +2333,13 @@ radeon_llvm_check() { fi } +radeon_gallium_llvm_check() { + if test "x$enable_gallium_llvm" != "xyes"; then + AC_MSG_ERROR([--enable-gallium-llvm is required when building $1]) + fi + radeon_llvm_check $* +} + swr_llvm_check() { gallium_require_llvm $1 if test ${LLVM_VERSION_INT} -lt 306; then @@ -2386,35 +2396,30 @@ if test -n "$with_gallium_drivers"; then case "x$driver" in xsvga) HAVE_GALLIUM_SVGA=yes - gallium_require_drm "svga" - gallium_require_drm_loader + require_libdrm "svga" ;; xi915) HAVE_GALLIUM_I915=yes PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED]) - gallium_require_drm "Gallium i915" - gallium_require_drm_loader + require_libdrm "Gallium i915" ;; xilo) HAVE_GALLIUM_ILO=yes PKG_CHECK_MODULES([INTEL], [libdrm_intel >= $LIBDRM_INTEL_REQUIRED]) - gallium_require_drm "Gallium i965/ilo" - gallium_require_drm_loader + require_libdrm "Gallium i965/ilo" ;; xr300) HAVE_GALLIUM_R300=yes PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) - gallium_require_drm "Gallium R300" - gallium_require_drm_loader + require_libdrm "Gallium R300" gallium_require_llvm "Gallium R300" ;; xr600) HAVE_GALLIUM_R600=yes PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) - gallium_require_drm "Gallium R600" - gallium_require_drm_loader + require_libdrm "Gallium R600" if test "x$enable_opencl" = xyes; then - radeon_llvm_check "r600g" + radeon_gallium_llvm_check "r600g" "3" "6" "0" LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser" fi ;; @@ -2422,22 +2427,19 @@ if test -n "$with_gallium_drivers"; then HAVE_GALLIUM_RADEONSI=yes PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) PKG_CHECK_MODULES([AMDGPU], [libdrm_amdgpu >= $LIBDRM_AMDGPU_REQUIRED]) - gallium_require_drm "radeonsi" - gallium_require_drm_loader - radeon_llvm_check "radeonsi" - require_egl_drm "radeonsi" + require_libdrm "radeonsi" + radeon_gallium_llvm_check "radeonsi" "3" "6" "0" + require_basic_egl "radeonsi" ;; xnouveau) HAVE_GALLIUM_NOUVEAU=yes PKG_CHECK_MODULES([NOUVEAU], [libdrm_nouveau >= $LIBDRM_NOUVEAU_REQUIRED]) - gallium_require_drm "nouveau" - gallium_require_drm_loader + require_libdrm "nouveau" ;; xfreedreno) HAVE_GALLIUM_FREEDRENO=yes PKG_CHECK_MODULES([FREEDRENO], [libdrm_freedreno >= $LIBDRM_FREEDRENO_REQUIRED]) - gallium_require_drm "freedreno" - gallium_require_drm_loader + require_libdrm "freedreno" ;; xswrast) HAVE_GALLIUM_SOFTPIPE=yes @@ -2467,8 +2469,8 @@ if test -n "$with_gallium_drivers"; then ;; xvc4) HAVE_GALLIUM_VC4=yes - gallium_require_drm "vc4" - gallium_require_drm_loader + PKG_CHECK_MODULES([VC4], [libdrm_vc4 >= $LIBDRM_VC4_REQUIRED]) + require_libdrm "vc4" PKG_CHECK_MODULES([SIMPENROSE], [simpenrose], [USE_VC4_SIMULATOR=yes; @@ -2477,9 +2479,8 @@ if test -n "$with_gallium_drivers"; then ;; xvirgl) HAVE_GALLIUM_VIRGL=yes - gallium_require_drm "virgl" - gallium_require_drm_loader - require_egl_drm "virgl" + require_libdrm "virgl" + require_basic_egl "virgl" ;; *) AC_MSG_ERROR([Unknown Gallium driver: $driver]) @@ -2488,6 +2489,10 @@ if test -n "$with_gallium_drivers"; then done fi +if test "x$HAVE_RADEON_VULKAN" = "xyes"; then + radeon_llvm_check "radv" "3" "9" "0" +fi + dnl Set LLVM_LIBS - This is done after the driver configuration so dnl that drivers can add additional components to LLVM_COMPONENTS. dnl Previously, gallium drivers were updating LLVM_LIBS directly @@ -2536,7 +2541,7 @@ if test "x$MESA_LLVM" != x0; then AC_MSG_WARN([Building mesa with statically linked LLVM may cause compilation issues]) dnl We need to link to llvm system libs when using static libs dnl However, only llvm 3.5+ provides --system-libs - if test $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 5; then + if test $LLVM_VERSION_MAJOR -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 5; then LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --system-libs`" fi fi @@ -2579,8 +2584,13 @@ 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_RADEON_VULKAN, test "x$HAVE_RADEON_VULKAN" = xyes) AM_CONDITIONAL(HAVE_INTEL_VULKAN, test "x$HAVE_INTEL_VULKAN" = xyes) +AM_CONDITIONAL(HAVE_AMD_DRIVERS, test "x$HAVE_GALLIUM_R600" = xyes -o \ + "x$HAVE_GALLIUM_RADEONSI" = xyes -o \ + "x$HAVE_RADEON_VULKAN" = xyes) + AM_CONDITIONAL(HAVE_INTEL_DRIVERS, test "x$HAVE_INTEL_VULKAN" = xyes -o \ "x$HAVE_I965_DRI" = xyes) @@ -2599,6 +2609,8 @@ fi AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes) AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_OSMESA, test "x$enable_gallium_osmesa" = xyes) +AM_CONDITIONAL(HAVE_COMMON_OSMESA, test "x$enable_osmesa" = xyes -o \ + "x$enable_gallium_osmesa" = xyes) AM_CONDITIONAL(HAVE_X86_ASM, test "x$asm_arch" = xx86 -o "x$asm_arch" = xx86_64) AM_CONDITIONAL(HAVE_X86_64_ASM, test "x$asm_arch" = xx86_64) @@ -2617,6 +2629,8 @@ VA_MINOR=`$PKG_CONFIG --modversion libva | $SED -n 's/.*\.\(.*\)\..*$/\1/p'` AC_SUBST([VA_MAJOR], $VA_MAJOR) AC_SUBST([VA_MINOR], $VA_MINOR) +AM_CONDITIONAL(HAVE_VULKAN_COMMON, test "x$VULKAN_DRIVERS" != "x") + AC_SUBST([XVMC_MAJOR], 1) AC_SUBST([XVMC_MINOR], 0) @@ -2630,8 +2644,6 @@ AC_SUBST([XA_MINOR], $XA_MINOR) AC_SUBST([XA_TINY], $XA_TINY) AC_SUBST([XA_VERSION], "$XA_MAJOR.$XA_MINOR.$XA_TINY") -AC_SUBST([TIMESTAMP_CMD], '`test $(SOURCE_DATE_EPOCH) && echo $(SOURCE_DATE_EPOCH) || date +%s`') - AC_ARG_ENABLE(valgrind, [AS_HELP_STRING([--enable-valgrind], [Build mesa with valgrind support (default: auto)])], @@ -2670,6 +2682,8 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS" dnl Substitute the config AC_CONFIG_FILES([Makefile src/Makefile + src/amd/Makefile + src/amd/vulkan/Makefile src/compiler/Makefile src/egl/Makefile src/egl/main/egl.pc @@ -2744,10 +2758,11 @@ AC_CONFIG_FILES([Makefile src/glx/Makefile src/glx/apple/Makefile src/glx/tests/Makefile + src/glx/windows/Makefile + src/glx/windows/windowsdriproto.pc src/gtest/Makefile src/intel/Makefile - src/intel/genxml/Makefile - src/intel/isl/Makefile + src/intel/tools/Makefile src/intel/vulkan/Makefile src/loader/Makefile src/mapi/Makefile @@ -2771,16 +2786,14 @@ AC_CONFIG_FILES([Makefile src/mesa/drivers/x11/Makefile src/mesa/main/tests/Makefile src/util/Makefile - src/util/tests/hash_table/Makefile]) + src/util/tests/hash_table/Makefile + src/vulkan/wsi/Makefile]) AC_OUTPUT # Fix up dependencies in *.Plo files, where we changed the extension of a # source file $SED -i -e 's/brw_blorp.cpp/brw_blorp.c/' src/mesa/drivers/dri/i965/.deps/brw_blorp.Plo -$SED -i -e 's/gen6_blorp.cpp/gen6_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen6_blorp.Plo -$SED -i -e 's/gen7_blorp.cpp/gen7_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen7_blorp.Plo -$SED -i -e 's/gen8_blorp.cpp/gen8_blorp.c/' src/mesa/drivers/dri/i965/.deps/gen8_blorp.Plo dnl @@ -2852,6 +2865,11 @@ if test "$enable_egl" = yes; then echo " EGL drivers: $egl_drivers" fi +if test "x$enable_gbm" = xyes; then + echo " GBM: yes" +else + echo " GBM: no" +fi # Vulkan echo "" @@ -2879,6 +2897,19 @@ else echo " Gallium: no" fi +echo "" +if test "x$enable_gallium_extra_hud" != xyes; then + echo " HUD extra stats: no" +else + echo " HUD extra stats: yes" +fi + +if test "x$enable_lmsensors" != xyes; then + echo " HUD lmsensors: no" +else + echo " HUD lmsensors: yes" +fi + dnl Shader cache echo "" echo " Shader cache: $enable_shader_cache"