X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=configure.ac;h=ffd51db31b7654d0c1526a086e98bcff89275da4;hb=f9b8b48bed2f35592a5e77d9404019e9603ee160;hp=dc1e995b8d5d274ffe1d2f316753339565f3da7a;hpb=2f86383091bde24a2a0b90a43c11a13165f8c397;p=mesa.git diff --git a/configure.ac b/configure.ac index dc1e995b8d5..ffd51db31b7 100644 --- a/configure.ac +++ b/configure.ac @@ -68,13 +68,13 @@ OPENCL_VERSION=1 AC_SUBST([OPENCL_VERSION]) dnl Versions for external dependencies -LIBDRM_REQUIRED=2.4.60 +LIBDRM_REQUIRED=2.4.66 LIBDRM_RADEON_REQUIRED=2.4.56 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.65 +LIBDRM_FREEDRENO_REQUIRED=2.4.67 DRI2PROTO_REQUIRED=2.6 DRI3PROTO_REQUIRED=1.0 PRESENTPROTO_REQUIRED=1.0 @@ -305,8 +305,7 @@ if test "x$GCC" = xyes; then # Flags to help ensure that certain portions of the code -- and only those # portions -- can be built with MSVC: - # - src/util, src/gallium/auxiliary, and src/gallium/drivers/llvmpipe needs - # to build with Windows SDK 7.0.7600, which bundles MSVC 2008 + # - src/util, src/gallium/auxiliary, rc/gallium/drivers/llvmpipe, and # - non-Linux/Posix OpenGL portions needs to build on MSVC 2013 (which # supports most of C99) # - the rest has no compiler compiler restrictions @@ -323,9 +322,6 @@ if test "x$GCC" = xyes; then AC_MSG_RESULT([yes])], AC_MSG_RESULT([no])); CFLAGS="$save_CFLAGS" - - MSVC2008_COMPAT_CFLAGS="$MSVC2013_COMPAT_CFLAGS -Werror=declaration-after-statement" - MSVC2008_COMPAT_CXXFLAGS="$MSVC2013_COMPAT_CXXFLAGS" fi if test "x$GXX" = xyes; then CXXFLAGS="$CXXFLAGS -Wall" @@ -353,8 +349,6 @@ fi AC_SUBST([MSVC2013_COMPAT_CFLAGS]) AC_SUBST([MSVC2013_COMPAT_CXXFLAGS]) -AC_SUBST([MSVC2008_COMPAT_CFLAGS]) -AC_SUBST([MSVC2008_COMPAT_CXXFLAGS]) dnl even if the compiler appears to support it, using visibility attributes isn't dnl going to do anything useful currently on cygwin apart from emit lots of warnings @@ -710,8 +704,10 @@ test "x$enable_asm" = xno && AC_MSG_RESULT([no]) if test "x$enable_asm" = xyes -a "x$cross_compiling" = xyes; then case "$host_cpu" in i?86 | x86_64 | amd64) - enable_asm=no - AC_MSG_RESULT([no, cross compiling]) + if test "x$host_cpu" != "x$target_cpu"; then + enable_asm=no + AC_MSG_RESULT([no, cross compiling]) + fi ;; esac fi @@ -935,12 +931,6 @@ AC_ARG_ENABLE([xlib-glx], [enable_xlib_glx="$enableval"], [enable_xlib_glx=no]) -AC_ARG_ENABLE([r600-llvm-compiler], - [AS_HELP_STRING([--enable-r600-llvm-compiler], - [Enable experimental LLVM backend for graphics shaders @<:@default=disabled@:>@])], - [enable_r600_llvm="$enableval"], - [enable_r600_llvm=no]) - AC_ARG_ENABLE([gallium-tests], [AS_HELP_STRING([--enable-gallium-tests], [Enable optional Gallium tests) @<:@default=disabled@:>@])], @@ -1741,6 +1731,7 @@ AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes) if test "x$enable_vdpau" = xyes; then PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED]) gallium_st="$gallium_st vdpau" + DEFINES="$DEFINES -DHAVE_ST_VDPAU" fi AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes) @@ -2159,7 +2150,12 @@ gallium_require_drm_loader() { 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 + case "$with_egl_platforms" in *drm*) ;; @@ -2181,7 +2177,7 @@ radeon_llvm_check() { 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" "5" "0" $1 + llvm_check_version_for "3" "6" "0" $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 @@ -2192,6 +2188,16 @@ radeon_llvm_check() { fi } +swr_llvm_check() { + gallium_require_llvm $1 + if test ${LLVM_VERSION_INT} -lt 306; then + AC_MSG_ERROR([LLVM version 3.6 or later required when building $1]) + fi + if test "x$enable_gallium_llvm" != "xyes"; then + AC_MSG_ERROR([--enable-gallium-llvm is required when building $1]) + fi +} + dnl Duplicates in GALLIUM_DRIVERS_DIRS are removed by sorting it after this block if test -n "$with_gallium_drivers"; then gallium_drivers=`IFS=', '; echo $with_gallium_drivers` @@ -2226,14 +2232,8 @@ if test -n "$with_gallium_drivers"; then PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) gallium_require_drm "Gallium R600" gallium_require_drm_loader - if test "x$enable_r600_llvm" = xyes -o "x$enable_opencl" = xyes; then - radeon_llvm_check "r600g" - LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser" - fi - if test "x$enable_r600_llvm" = xyes; then - USE_R600_LLVM_COMPILER=yes; - fi if test "x$enable_opencl" = xyes; then + radeon_llvm_check "r600g" LLVM_COMPONENTS="${LLVM_COMPONENTS} bitreader asmparser" fi ;; @@ -2264,6 +2264,30 @@ if test -n "$with_gallium_drivers"; then HAVE_GALLIUM_LLVMPIPE=yes fi ;; + xswr) + AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory]) + swr_llvm_check "swr" + + AC_MSG_CHECKING([whether $CXX supports AVX/AVX2]) + AVX_CXXFLAGS="-march=core-avx-i" + AVX2_CXXFLAGS="-march=core-avx2" + + AC_LANG_PUSH([C++]) + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$AVX_CXXFLAGS $CXXFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],[], + [AC_MSG_ERROR([AVX compiler support not detected])]) + CXXFLAGS="$save_CXXFLAGS" + + save_CFLAGS="$CXXFLAGS" + CXXFLAGS="$AVX2_CXXFLAGS $CXXFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],[], + [AC_MSG_ERROR([AVX2 compiler support not detected])]) + CXXFLAGS="$save_CXXFLAGS" + AC_LANG_POP([C++]) + + HAVE_GALLIUM_SWR=yes + ;; xvc4) HAVE_GALLIUM_VC4=yes gallium_require_drm "vc4" @@ -2296,6 +2320,9 @@ dnl in LLVM_LIBS. if test "x$MESA_LLVM" != x0; then + if ! $LLVM_CONFIG --libs ${LLVM_COMPONENTS} >/dev/null; then + AC_MSG_ERROR([Calling ${LLVM_CONFIG} failed]) + fi LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`" dnl llvm-config may not give the right answer when llvm is a built as a @@ -2350,6 +2377,7 @@ AM_CONDITIONAL(HAVE_GALLIUM_NOUVEAU, test "x$HAVE_GALLIUM_NOUVEAU" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_FREEDRENO, test "x$HAVE_GALLIUM_FREEDRENO" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_SOFTPIPE, test "x$HAVE_GALLIUM_SOFTPIPE" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_LLVMPIPE, test "x$HAVE_GALLIUM_LLVMPIPE" = xyes) +AM_CONDITIONAL(HAVE_GALLIUM_SWR, test "x$HAVE_GALLIUM_SWR" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_VC4, test "x$HAVE_GALLIUM_VC4" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_VIRGL, test "x$HAVE_GALLIUM_VIRGL" = xyes) @@ -2376,7 +2404,6 @@ AM_CONDITIONAL(NEED_RADEON_DRM_WINSYS, test "x$HAVE_GALLIUM_R300" = xyes -o \ "x$HAVE_GALLIUM_RADEONSI" = xyes) AM_CONDITIONAL(NEED_WINSYS_XLIB, test "x$NEED_WINSYS_XLIB" = xyes) AM_CONDITIONAL(NEED_RADEON_LLVM, test x$NEED_RADEON_LLVM = xyes) -AM_CONDITIONAL(USE_R600_LLVM_COMPILER, test x$USE_R600_LLVM_COMPILER = xyes) AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes) AM_CONDITIONAL(HAVE_MESA_LLVM, test x$MESA_LLVM = x1) AM_CONDITIONAL(USE_VC4_SIMULATOR, test x$USE_VC4_SIMULATOR = xyes) @@ -2459,6 +2486,9 @@ AC_CONFIG_FILES([Makefile src/gallium/drivers/rbug/Makefile src/gallium/drivers/softpipe/Makefile src/gallium/drivers/svga/Makefile + src/gallium/drivers/swr/Makefile + src/gallium/drivers/swr/avx/Makefile + src/gallium/drivers/swr/avx2/Makefile src/gallium/drivers/trace/Makefile src/gallium/drivers/vc4/Makefile src/gallium/drivers/virgl/Makefile @@ -2506,7 +2536,6 @@ AC_CONFIG_FILES([Makefile src/gallium/winsys/virgl/vtest/Makefile src/gbm/Makefile src/gbm/main/gbm.pc - src/glsl/Makefile src/glx/Makefile src/glx/apple/Makefile src/glx/tests/Makefile