diff -Nru mesa-17.2.4/aclocal.m4 mesa-17.3.3/aclocal.m4 --- mesa-17.2.4/aclocal.m4 2017-10-30 14:49:56.000000000 +0000 +++ mesa-17.3.3/aclocal.m4 2018-01-18 21:30:37.000000000 +0000 @@ -1524,6 +1524,7 @@ AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([m4/ax_check_compile_flag.m4]) m4_include([m4/ax_check_gnu_make.m4]) m4_include([m4/ax_check_python_mako_module.m4]) m4_include([m4/ax_gcc_builtin.m4]) diff -Nru mesa-17.2.4/bin/git_sha1_gen.py mesa-17.3.3/bin/git_sha1_gen.py --- mesa-17.2.4/bin/git_sha1_gen.py 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/bin/git_sha1_gen.py 2018-01-18 21:30:28.000000000 +0000 @@ -0,0 +1,36 @@ +#!/usr/bin/env python + +""" +Generate the contents of the git_sha1.h file. +The output of this script goes to stdout. +""" + + +import os +import os.path +import subprocess +import sys + + +def get_git_sha1(): + """Try to get the git SHA1 with git rev-parse.""" + git_dir = os.path.join(os.path.dirname(sys.argv[0]), '..', '.git') + try: + git_sha1 = subprocess.check_output([ + 'git', + '--git-dir=' + git_dir, + 'rev-parse', + 'HEAD', + ], stderr=open(os.devnull, 'w')).decode("ascii") + except: + # don't print anything if it fails + git_sha1 = '' + return git_sha1 + + +git_sha1 = os.environ.get('MESA_GIT_SHA1_OVERRIDE', get_git_sha1())[:10] +if git_sha1: + git_sha1_h_in_path = os.path.join(os.path.dirname(sys.argv[0]), + '..', 'src', 'git_sha1.h.in') + with open(git_sha1_h_in_path , 'r') as git_sha1_h_in: + sys.stdout.write(git_sha1_h_in.read().replace('@VCS_TAG@', git_sha1)) diff -Nru mesa-17.2.4/bin/git_sha1_gen.sh mesa-17.3.3/bin/git_sha1_gen.sh --- mesa-17.2.4/bin/git_sha1_gen.sh 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/bin/git_sha1_gen.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -#!/bin/sh - -# run git from the sources directory -cd "$(dirname "$0")" - -# don't print anything if git fails -if ! git_sha1=$(git --git-dir=../.git rev-parse --short=10 HEAD 2>/dev/null) -then - exit -fi - -printf '#define MESA_GIT_SHA1 "git-%s"\n' "$git_sha1" diff -Nru mesa-17.2.4/bin/install_megadrivers.py mesa-17.3.3/bin/install_megadrivers.py --- mesa-17.2.4/bin/install_megadrivers.py 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/bin/install_megadrivers.py 2018-02-01 16:17:32.000000000 +0000 @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# encoding=utf-8 +# Copyright © 2017 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 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. + +"""Script to install megadriver symlinks for meson.""" + +from __future__ import print_function +import argparse +import os +import shutil + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('megadriver') + parser.add_argument('libdir') + parser.add_argument('drivers', nargs='+') + args = parser.parse_args() + + to = os.path.join(os.environ.get('MESON_INSTALL_DESTDIR_PREFIX'), args.libdir) + master = os.path.join(to, os.path.basename(args.megadriver)) + + if not os.path.exists(to): + os.makedirs(to) + shutil.copy(args.megadriver, master) + + for each in args.drivers: + driver = os.path.join(to, each) + if os.path.exists(driver): + os.unlink(driver) + print('installing {} to {}'.format(args.megadriver, to)) + os.link(master, driver) + os.unlink(master) + + +if __name__ == '__main__': + main() diff -Nru mesa-17.2.4/build-support/conftest.dyn mesa-17.3.3/build-support/conftest.dyn --- mesa-17.2.4/build-support/conftest.dyn 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/build-support/conftest.dyn 2018-01-18 21:30:28.000000000 +0000 @@ -0,0 +1,3 @@ +{ + radeon_drm_winsys_create; +}; diff -Nru mesa-17.2.4/build-support/conftest.map mesa-17.3.3/build-support/conftest.map --- mesa-17.2.4/build-support/conftest.map 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/build-support/conftest.map 2018-01-18 21:30:28.000000000 +0000 @@ -0,0 +1,6 @@ +VERSION_1 { + global: + main; + local: + *; +}; diff -Nru mesa-17.2.4/configure mesa-17.3.3/configure --- mesa-17.2.4/configure 2017-10-30 14:49:57.000000000 +0000 +++ mesa-17.3.3/configure 2018-01-18 21:30:38.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Mesa 17.2.4. +# Generated by GNU Autoconf 2.69 for Mesa 17.3.3. # # Report bugs to . # @@ -591,8 +591,8 @@ # Identity of this package. PACKAGE_NAME='Mesa' PACKAGE_TARNAME='mesa' -PACKAGE_VERSION='17.2.4' -PACKAGE_STRING='Mesa 17.2.4' +PACKAGE_VERSION='17.3.3' +PACKAGE_STRING='Mesa 17.3.3' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa' PACKAGE_URL='' @@ -674,6 +674,8 @@ HAVE_OSMESA_TRUE HAVE_LIBDRM_FALSE HAVE_LIBDRM_TRUE +USE_VC5_SIMULATOR_FALSE +USE_VC5_SIMULATOR_TRUE USE_VC4_SIMULATOR_FALSE USE_VC4_SIMULATOR_TRUE HAVE_GALLIUM_LLVM_FALSE @@ -686,6 +688,8 @@ NEED_RADEON_DRM_WINSYS_TRUE HAVE_INTEL_DRIVERS_FALSE HAVE_INTEL_DRIVERS_TRUE +HAVE_BROADCOM_DRIVERS_FALSE +HAVE_BROADCOM_DRIVERS_TRUE HAVE_AMD_DRIVERS_FALSE HAVE_AMD_DRIVERS_TRUE HAVE_INTEL_VULKAN_FALSE @@ -709,6 +713,8 @@ HAVE_GALLIUM_STATIC_TARGETS_TRUE HAVE_GALLIUM_VIRGL_FALSE HAVE_GALLIUM_VIRGL_TRUE +HAVE_GALLIUM_VC5_FALSE +HAVE_GALLIUM_VC5_TRUE HAVE_GALLIUM_VC4_FALSE HAVE_GALLIUM_VC4_TRUE HAVE_GALLIUM_SWRAST_FALSE @@ -751,6 +757,8 @@ HAVE_SWR_AVX_TRUE SWR_INVALID_LLVM_VERSION_FALSE SWR_INVALID_LLVM_VERSION_TRUE +VC5_SIMULATOR_LIBS +VC5_SIMULATOR_CFLAGS SIMPENROSE_LIBS SIMPENROSE_CFLAGS SWR_SKX_CXXFLAGS @@ -766,7 +774,7 @@ NOUVEAU_CFLAGS D3D_DRIVER_INSTALL_DIR VA_LIB_INSTALL_DIR -OMX_LIB_INSTALL_DIR +OMX_BELLAGIO_LIB_INSTALL_DIR VDPAU_LIB_INSTALL_DIR HAVE_GALLIUM_TESTS_FALSE HAVE_GALLIUM_TESTS_TRUE @@ -790,10 +798,10 @@ HAVE_ST_VA_TRUE VA_LIBS VA_CFLAGS -HAVE_ST_OMX_FALSE -HAVE_ST_OMX_TRUE -OMX_LIBS -OMX_CFLAGS +HAVE_ST_OMX_BELLAGIO_FALSE +HAVE_ST_OMX_BELLAGIO_TRUE +OMX_BELLAGIO_LIBS +OMX_BELLAGIO_CFLAGS HAVE_ST_VDPAU_FALSE HAVE_ST_VDPAU_TRUE VDPAU_LIBS @@ -854,8 +862,10 @@ ANDROID_CFLAGS XCB_DRI2_LIBS XCB_DRI2_CFLAGS -WAYLAND_LIBS -WAYLAND_CFLAGS +WAYLAND_SERVER_LIBS +WAYLAND_SERVER_CFLAGS +WAYLAND_CLIENT_LIBS +WAYLAND_CLIENT_CFLAGS WAYLAND_PROTOCOLS_DATADIR WAYLAND_SCANNER WAYLAND_SCANNER_LIBS @@ -975,6 +985,7 @@ SSE41_CFLAGS SSE41_SUPPORTED_FALSE SSE41_SUPPORTED_TRUE +WNO_OVERRIDE_INIT VISIBILITY_CXXFLAGS VISIBILITY_CFLAGS MSVC2013_COMPAT_CXXFLAGS @@ -1173,6 +1184,7 @@ enable_xvmc enable_vdpau enable_omx +enable_omx_bellagio enable_va enable_opencl enable_opencl_icd @@ -1199,7 +1211,7 @@ with_clang_libdir with_xvmc_libdir with_vdpau_libdir -with_omx_libdir +with_omx_bellagio_libdir with_va_libdir with_d3d_libdir with_swr_archs @@ -1252,8 +1264,10 @@ DRIGL_LIBS WAYLAND_SCANNER_CFLAGS WAYLAND_SCANNER_LIBS -WAYLAND_CFLAGS -WAYLAND_LIBS +WAYLAND_CLIENT_CFLAGS +WAYLAND_CLIENT_LIBS +WAYLAND_SERVER_CFLAGS +WAYLAND_SERVER_LIBS XCB_DRI2_CFLAGS XCB_DRI2_LIBS ANDROID_CFLAGS @@ -1276,8 +1290,8 @@ XVMC_LIBS VDPAU_CFLAGS VDPAU_LIBS -OMX_CFLAGS -OMX_LIBS +OMX_BELLAGIO_CFLAGS +OMX_BELLAGIO_LIBS VA_CFLAGS VA_LIBS NOUVEAU_CFLAGS @@ -1288,6 +1302,8 @@ ETNAVIV_LIBS SIMPENROSE_CFLAGS SIMPENROSE_LIBS +VC5_SIMULATOR_CFLAGS +VC5_SIMULATOR_LIBS VALGRIND_CFLAGS VALGRIND_LIBS' @@ -1840,7 +1856,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Mesa 17.2.4 to adapt to many kinds of systems. +\`configure' configures Mesa 17.3.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1912,7 +1928,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Mesa 17.2.4:";; + short | recursive ) echo "Configuration of Mesa 17.3.3:";; esac cat <<\_ACEOF @@ -1971,7 +1987,9 @@ --enable-nine enable build of the nine Direct3D9 API [default=no] --enable-xvmc enable xvmc library [default=auto] --enable-vdpau enable vdpau library [default=auto] - --enable-omx enable OpenMAX library [default=disabled] + --enable-omx DEPRECATED: Use --enable-omx-bellagio instead + [default=auto] + --enable-omx-bellagio enable OpenMAX Bellagio library [default=disabled] --enable-va enable va library [default=auto] --enable-opencl enable OpenCL library [default=disabled] --enable-opencl-icd Build an OpenCL ICD library to be loaded by an ICD @@ -2007,7 +2025,7 @@ locations --with-gallium-drivers[=DIRS...] comma delimited Gallium drivers list, e.g. - "i915,nouveau,r300,r600,radeonsi,freedreno,pl111,svga,swrast,swr,vc4,virgl,etnaviv,imx" + "i915,nouveau,r300,r600,radeonsi,freedreno,pl111,svga,swrast,swr,vc4,vc5,virgl,etnaviv,imx" [default=r300,r600,svga,swrast] --with-gl-lib-name[=NAME] specify GL library name [default=GL] @@ -2042,7 +2060,8 @@ --with-xvmc-libdir=DIR directory for the XVMC libraries [default=${libdir}] --with-vdpau-libdir=DIR directory for the VDPAU libraries [default=${libdir}/vdpau] - --with-omx-libdir=DIR directory for the OMX libraries + --with-omx-bellagio-libdir=DIR + directory for the OMX_BELLAGIO libraries --with-va-libdir=DIR directory for the VA libraries [${libdir}/dri] --with-d3d-libdir=DIR directory for the D3D modules [${libdir}/d3d] --with-swr-archs[=DIRS...] @@ -2121,10 +2140,14 @@ C compiler flags for WAYLAND_SCANNER, overriding pkg-config WAYLAND_SCANNER_LIBS linker flags for WAYLAND_SCANNER, overriding pkg-config - WAYLAND_CFLAGS - C compiler flags for WAYLAND, overriding pkg-config - WAYLAND_LIBS - linker flags for WAYLAND, overriding pkg-config + WAYLAND_CLIENT_CFLAGS + C compiler flags for WAYLAND_CLIENT, overriding pkg-config + WAYLAND_CLIENT_LIBS + linker flags for WAYLAND_CLIENT, overriding pkg-config + WAYLAND_SERVER_CFLAGS + C compiler flags for WAYLAND_SERVER, overriding pkg-config + WAYLAND_SERVER_LIBS + linker flags for WAYLAND_SERVER, overriding pkg-config XCB_DRI2_CFLAGS C compiler flags for XCB_DRI2, overriding pkg-config XCB_DRI2_LIBS @@ -2159,8 +2182,10 @@ VDPAU_CFLAGS C compiler flags for VDPAU, overriding pkg-config VDPAU_LIBS linker flags for VDPAU, overriding pkg-config - OMX_CFLAGS C compiler flags for OMX, overriding pkg-config - OMX_LIBS linker flags for OMX, overriding pkg-config + OMX_BELLAGIO_CFLAGS + C compiler flags for OMX_BELLAGIO, overriding pkg-config + OMX_BELLAGIO_LIBS + linker flags for OMX_BELLAGIO, overriding pkg-config VA_CFLAGS C compiler flags for VA, overriding pkg-config VA_LIBS linker flags for VA, overriding pkg-config NOUVEAU_CFLAGS @@ -2179,6 +2204,10 @@ C compiler flags for SIMPENROSE, overriding pkg-config SIMPENROSE_LIBS linker flags for SIMPENROSE, overriding pkg-config + VC5_SIMULATOR_CFLAGS + C compiler flags for VC5_SIMULATOR, overriding pkg-config + VC5_SIMULATOR_LIBS + linker flags for VC5_SIMULATOR, overriding pkg-config VALGRIND_CFLAGS C compiler flags for VALGRIND, overriding pkg-config VALGRIND_LIBS @@ -2252,7 +2281,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Mesa configure 17.2.4 +Mesa configure 17.3.3 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2971,7 +3000,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Mesa $as_me 17.2.4, which was +It was created by Mesa $as_me 17.3.3, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3946,7 +3975,7 @@ # Define the identity of the package. PACKAGE='mesa' - VERSION='17.2.4' + VERSION='17.3.3' cat >>confdefs.h <<_ACEOF @@ -5430,7 +5459,7 @@ # in the first entry. LIBDRM_REQUIRED=2.4.75 LIBDRM_RADEON_REQUIRED=2.4.71 -LIBDRM_AMDGPU_REQUIRED=2.4.82 +LIBDRM_AMDGPU_REQUIRED=2.4.85 LIBDRM_INTEL_REQUIRED=2.4.75 LIBDRM_NVVIEUX_REQUIRED=2.4.66 LIBDRM_NOUVEAU_REQUIRED=2.4.66 @@ -5455,7 +5484,7 @@ ZLIB_REQUIRED=1.2.3 LLVM_REQUIRED_GALLIUM=3.3.0 -LLVM_REQUIRED_OPENCL=3.6.0 +LLVM_REQUIRED_OPENCL=3.9.0 LLVM_REQUIRED_R600=3.9.0 LLVM_REQUIRED_RADEONSI=3.9.0 LLVM_REQUIRED_RADV=3.9.0 @@ -20155,25 +20184,15 @@ fi -if test "x$GCC" = xyes; then - CFLAGS="$CFLAGS -Wall" - - if test "x$USE_GNU99" = xyes; then - CFLAGS="$CFLAGS -std=gnu99" - else - CFLAGS="$CFLAGS -std=c99" - fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wall" >&5 +$as_echo_n "checking whether C compiler accepts -Wall... " >&6; } +if ${ax_cv_check_cflags___Wall+:} false; then : + $as_echo_n "(cached) " >&6 +else - # Enable -Werror=implicit-function-declaration and - # -Werror=missing-prototypes, if available, or otherwise, just - # -Wmissing-prototypes. This is particularly useful to avoid - # generating a loadable driver module that has undefined symbols. - save_CFLAGS="$CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Werror=missing-prototypes" >&5 -$as_echo_n "checking whether $CC supports -Werror=missing-prototypes... " >&6; } - CFLAGS="$CFLAGS -Werror=implicit-function-declaration" - CFLAGS="$CFLAGS -Werror=missing-prototypes" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Wall" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -20184,24 +20203,31 @@ return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___Wall=yes else - CFLAGS="$save_CFLAGS -Wmissing-prototypes"; - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + ax_cv_check_cflags___Wall=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wall" >&5 +$as_echo "$ax_cv_check_cflags___Wall" >&6; } +if test x"$ax_cv_check_cflags___Wall" = xyes; then : + CFLAGS="$CFLAGS -Wall" +else + : fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - # Enable -fvisibility=hidden if using a gcc that supports it - save_CFLAGS="$CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -fvisibility=hidden" >&5 -$as_echo_n "checking whether $CC supports -fvisibility=hidden... " >&6; } - VISIBILITY_CFLAGS="-fvisibility=hidden" - CFLAGS="$CFLAGS $VISIBILITY_CFLAGS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Werror=implicit-function-declaration" >&5 +$as_echo_n "checking whether C compiler accepts -Werror=implicit-function-declaration... " >&6; } +if ${ax_cv_check_cflags___Werror_implicit_function_declaration+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Werror=implicit-function-declaration" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -20212,37 +20238,31 @@ return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___Werror_implicit_function_declaration=yes else - VISIBILITY_CFLAGS=""; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + ax_cv_check_cflags___Werror_implicit_function_declaration=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Werror_implicit_function_declaration" >&5 +$as_echo "$ax_cv_check_cflags___Werror_implicit_function_declaration" >&6; } +if test x"$ax_cv_check_cflags___Werror_implicit_function_declaration" = xyes; then : + CFLAGS="$CFLAGS -Werror=implicit-function-declaration" +else + : fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed. - CFLAGS=$save_CFLAGS - # We don't want floating-point math functions to set errno or trap - CFLAGS="$CFLAGS -fno-math-errno -fno-trapping-math" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Werror=missing-prototypes" >&5 +$as_echo_n "checking whether C compiler accepts -Werror=missing-prototypes... " >&6; } +if ${ax_cv_check_cflags___Werror_missing_prototypes+:} false; then : + $as_echo_n "(cached) " >&6 +else - # 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 - # - non-Linux/Posix OpenGL portions needs to build on MSVC 2013 (which - # supports most of C99) - # - the rest has no compiler compiler restrictions - MSVC2013_COMPAT_CFLAGS="-Werror=pointer-arith" - MSVC2013_COMPAT_CXXFLAGS="-Werror=pointer-arith" - - # Enable -Werror=vla if compiler supports it - save_CFLAGS="$CFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Werror=vla" >&5 -$as_echo_n "checking whether $CC supports -Werror=vla... " >&6; } - CFLAGS="$CFLAGS -Werror=vla" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Werror=missing-prototypes" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -20253,35 +20273,31 @@ return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - MSVC2013_COMPAT_CFLAGS="$MSVC2013_COMPAT_CFLAGS -Werror=vla"; - MSVC2013_COMPAT_CXXFLAGS="$MSVC2013_COMPAT_CXXFLAGS -Werror=vla"; - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___Werror_missing_prototypes=yes else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + ax_cv_check_cflags___Werror_missing_prototypes=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$save_CFLAGS" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Werror_missing_prototypes" >&5 +$as_echo "$ax_cv_check_cflags___Werror_missing_prototypes" >&6; } +if test x"$ax_cv_check_cflags___Werror_missing_prototypes" = xyes; then : + CFLAGS="$CFLAGS -Werror=missing-prototypes" +else + : fi -if test "x$GXX" = xyes; then - CXXFLAGS="$CXXFLAGS -Wall" - # Enable -fvisibility=hidden if using a gcc that supports it - save_CXXFLAGS="$CXXFLAGS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports -fvisibility=hidden" >&5 -$as_echo_n "checking whether $CXX supports -fvisibility=hidden... " >&6; } - VISIBILITY_CXXFLAGS="-fvisibility=hidden" - CXXFLAGS="$CXXFLAGS $VISIBILITY_CXXFLAGS" - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wmissing-prototypes" >&5 +$as_echo_n "checking whether C compiler accepts -Wmissing-prototypes... " >&6; } +if ${ax_cv_check_cflags___Wmissing_prototypes+:} false; then : + $as_echo_n "(cached) " >&6 +else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Wmissing-prototypes" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -20292,162 +20308,653 @@ return 0; } _ACEOF -if ac_fn_cxx_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___Wmissing_prototypes=yes else - VISIBILITY_CXXFLAGS="" ; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + ax_cv_check_cflags___Wmissing_prototypes=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed. - CXXFLAGS=$save_CXXFLAGS - - # We don't want floating-point math functions to set errno or trap - CXXFLAGS="$CXXFLAGS -fno-math-errno -fno-trapping-math" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wmissing_prototypes" >&5 +$as_echo "$ax_cv_check_cflags___Wmissing_prototypes" >&6; } +if test x"$ax_cv_check_cflags___Wmissing_prototypes" = xyes; then : + CFLAGS="$CFLAGS -Wmissing-prototypes" +else + : fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-math-errno" >&5 +$as_echo_n "checking whether C compiler accepts -fno-math-errno... " >&6; } +if ${ax_cv_check_cflags___fno_math_errno+:} false; then : + $as_echo_n "(cached) " >&6 +else + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -fno-math-errno" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int +main () +{ -case "$host_os" in -cygwin*) - VISIBILITY_CFLAGS="" - VISIBILITY_CXXFLAGS="" - ;; -esac - - + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___fno_math_errno=yes +else + ax_cv_check_cflags___fno_math_errno=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_math_errno" >&5 +$as_echo "$ax_cv_check_cflags___fno_math_errno" >&6; } +if test x"$ax_cv_check_cflags___fno_math_errno" = xyes; then : + CFLAGS="$CFLAGS -fno-math-errno" +else + : +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-trapping-math" >&5 +$as_echo_n "checking whether C compiler accepts -fno-trapping-math... " >&6; } +if ${ax_cv_check_cflags___fno_trapping_math+:} false; then : + $as_echo_n "(cached) " >&6 +else -SSE41_CFLAGS="-msse4.1" -case "$target_cpu" in -i?86) - SSE41_CFLAGS="$SSE41_CFLAGS -mstackrealign" - ;; -esac -save_CFLAGS="$CFLAGS" -CFLAGS="$SSE41_CFLAGS $CFLAGS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -fno-trapping-math" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -int param; -int main () { - __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c; - c = _mm_max_epu32(a, b); - return _mm_cvtsi128_si32(c); +int +main () +{ + + ; + return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - SSE41_SUPPORTED=1 + ax_cv_check_cflags___fno_trapping_math=yes +else + ax_cv_check_cflags___fno_trapping_math=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -CFLAGS="$save_CFLAGS" -if test "x$SSE41_SUPPORTED" = x1; then - DEFINES="$DEFINES -DUSE_SSE41" + CFLAGS=$ax_check_save_flags fi - if test x$SSE41_SUPPORTED = x1; then - SSE41_SUPPORTED_TRUE= - SSE41_SUPPORTED_FALSE='#' +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_trapping_math" >&5 +$as_echo "$ax_cv_check_cflags___fno_trapping_math" >&6; } +if test x"$ax_cv_check_cflags___fno_trapping_math" = xyes; then : + CFLAGS="$CFLAGS -fno-trapping-math" else - SSE41_SUPPORTED_TRUE='#' - SSE41_SUPPORTED_FALSE= + : fi -SSE41_CFLAGS=$SSE41_CFLAGS - +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fvisibility=hidden" >&5 +$as_echo_n "checking whether C compiler accepts -fvisibility=hidden... " >&6; } +if ${ax_cv_check_cflags___fvisibility_hidden+:} false; then : + $as_echo_n "(cached) " >&6 +else -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -fvisibility=hidden" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -int main() { - int n; - return __atomic_load_n(&n, __ATOMIC_ACQUIRE); +int +main () +{ + + ; + return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - GCC_ATOMIC_BUILTINS_SUPPORTED=1 + ax_cv_check_cflags___fvisibility_hidden=yes +else + ax_cv_check_cflags___fvisibility_hidden=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -if test "x$GCC_ATOMIC_BUILTINS_SUPPORTED" = x1; then - DEFINES="$DEFINES -DUSE_GCC_ATOMIC_BUILTINS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -latomic is needed" >&5 -$as_echo_n "checking whether -latomic is needed... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fvisibility_hidden" >&5 +$as_echo "$ax_cv_check_cflags___fvisibility_hidden" >&6; } +if test x"$ax_cv_check_cflags___fvisibility_hidden" = xyes; then : + VISIBILITY_CFLAGS="-fvisibility=hidden" +else + : +fi + + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -Wall" >&5 +$as_echo_n "checking whether C++ compiler accepts -Wall... " >&6; } +if ${ax_cv_check_cxxflags___Wall+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CXXFLAGS + CXXFLAGS="$CXXFLAGS -Wall" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include - uint64_t v; - int main() { - return (int)__atomic_load_n(&v, __ATOMIC_ACQUIRE); - } +int +main () +{ + + ; + return 0; +} _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC=no +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_check_cxxflags___Wall=yes else - GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC=yes + ax_cv_check_cxxflags___Wall=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC" >&5 -$as_echo "$GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC" >&6; } - if test "x$GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC" = xyes; then - LIBATOMIC_LIBS="-latomic" - fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS=$ax_check_save_flags fi - if test x$GCC_ATOMIC_BUILTINS_SUPPORTED = x1; then - GCC_ATOMIC_BUILTINS_SUPPORTED_TRUE= - GCC_ATOMIC_BUILTINS_SUPPORTED_FALSE='#' +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___Wall" >&5 +$as_echo "$ax_cv_check_cxxflags___Wall" >&6; } +if test x"$ax_cv_check_cxxflags___Wall" = xyes; then : + CXXFLAGS="$CXXFLAGS -Wall" else - GCC_ATOMIC_BUILTINS_SUPPORTED_TRUE='#' - GCC_ATOMIC_BUILTINS_SUPPORTED_FALSE= + : fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -fno-math-errno" >&5 +$as_echo_n "checking whether C++ compiler accepts -fno-math-errno... " >&6; } +if ${ax_cv_check_cxxflags___fno_math_errno+:} false; then : + $as_echo_n "(cached) " >&6 +else - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __sync_add_and_fetch_8 is supported" >&5 -$as_echo_n "checking whether __sync_add_and_fetch_8 is supported... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + ax_check_save_flags=$CXXFLAGS + CXXFLAGS="$CXXFLAGS -fno-math-errno" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -uint64_t v; -int main() { - return __sync_add_and_fetch(&v, (uint64_t)1); +int +main () +{ + + ; + return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - GCC_64BIT_ATOMICS_SUPPORTED=yes +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_check_cxxflags___fno_math_errno=yes else - GCC_64BIT_ATOMICS_SUPPORTED=no + ax_cv_check_cxxflags___fno_math_errno=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -if test "x$GCC_64BIT_ATOMICS_SUPPORTED" != xyes; then - DEFINES="$DEFINES -DMISSING_64BIT_ATOMICS" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___fno_math_errno" >&5 +$as_echo "$ax_cv_check_cxxflags___fno_math_errno" >&6; } +if test x"$ax_cv_check_cxxflags___fno_math_errno" = xyes; then : + CXXFLAGS="$CXXFLAGS -fno-math-errno" +else + : fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_64BIT_ATOMICS_SUPPORTED" >&5 -$as_echo "$GCC_64BIT_ATOMICS_SUPPORTED" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -fno-trapping-math" >&5 +$as_echo_n "checking whether C++ compiler accepts -fno-trapping-math... " >&6; } +if ${ax_cv_check_cxxflags___fno_trapping_math+:} false; then : $as_echo_n "(cached) " >&6 else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + ax_check_save_flags=$CXXFLAGS + CXXFLAGS="$CXXFLAGS -fno-trapping-math" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#ifndef __APPLE_CC__ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_check_cxxflags___fno_trapping_math=yes +else + ax_cv_check_cxxflags___fno_trapping_math=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___fno_trapping_math" >&5 +$as_echo "$ax_cv_check_cxxflags___fno_trapping_math" >&6; } +if test x"$ax_cv_check_cxxflags___fno_trapping_math" = xyes; then : + CXXFLAGS="$CXXFLAGS -fno-trapping-math" +else + : +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -fvisibility=hidden" >&5 +$as_echo_n "checking whether C++ compiler accepts -fvisibility=hidden... " >&6; } +if ${ax_cv_check_cxxflags___fvisibility_hidden+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CXXFLAGS + CXXFLAGS="$CXXFLAGS -fvisibility=hidden" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_check_cxxflags___fvisibility_hidden=yes +else + ax_cv_check_cxxflags___fvisibility_hidden=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___fvisibility_hidden" >&5 +$as_echo "$ax_cv_check_cxxflags___fvisibility_hidden" >&6; } +if test x"$ax_cv_check_cxxflags___fvisibility_hidden" = xyes; then : + VISIBILITY_CXXFLAGS="-fvisibility=hidden" +else + : +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# 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 +# - non-Linux/Posix OpenGL portions needs to build on MSVC 2013 (which +# supports most of C99) +# - the rest has no compiler compiler restrictions +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Werror=pointer-arith" >&5 +$as_echo_n "checking whether C compiler accepts -Werror=pointer-arith... " >&6; } +if ${ax_cv_check_cflags___Werror_pointer_arith+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Werror=pointer-arith" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___Werror_pointer_arith=yes +else + ax_cv_check_cflags___Werror_pointer_arith=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Werror_pointer_arith" >&5 +$as_echo "$ax_cv_check_cflags___Werror_pointer_arith" >&6; } +if test x"$ax_cv_check_cflags___Werror_pointer_arith" = xyes; then : + MSVC2013_COMPAT_CFLAGS="-Werror=pointer-arith" +else + : +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Werror=vla" >&5 +$as_echo_n "checking whether C compiler accepts -Werror=vla... " >&6; } +if ${ax_cv_check_cflags___Werror_vla+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Werror=vla" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___Werror_vla=yes +else + ax_cv_check_cflags___Werror_vla=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Werror_vla" >&5 +$as_echo "$ax_cv_check_cflags___Werror_vla" >&6; } +if test x"$ax_cv_check_cflags___Werror_vla" = xyes; then : + MSVC2013_COMPAT_CFLAGS="-Werror=vla" +else + : +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -Werror=pointer-arith" >&5 +$as_echo_n "checking whether C++ compiler accepts -Werror=pointer-arith... " >&6; } +if ${ax_cv_check_cxxflags___Werror_pointer_arith+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CXXFLAGS + CXXFLAGS="$CXXFLAGS -Werror=pointer-arith" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_check_cxxflags___Werror_pointer_arith=yes +else + ax_cv_check_cxxflags___Werror_pointer_arith=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___Werror_pointer_arith" >&5 +$as_echo "$ax_cv_check_cxxflags___Werror_pointer_arith" >&6; } +if test x"$ax_cv_check_cxxflags___Werror_pointer_arith" = xyes; then : + MSVC2013_COMPAT_CXXFLAGS="-Werror=pointer-arith" +else + : +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -Werror=vla" >&5 +$as_echo_n "checking whether C++ compiler accepts -Werror=vla... " >&6; } +if ${ax_cv_check_cxxflags___Werror_vla+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CXXFLAGS + CXXFLAGS="$CXXFLAGS -Werror=vla" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ax_cv_check_cxxflags___Werror_vla=yes +else + ax_cv_check_cxxflags___Werror_vla=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CXXFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags___Werror_vla" >&5 +$as_echo "$ax_cv_check_cxxflags___Werror_vla" >&6; } +if test x"$ax_cv_check_cxxflags___Werror_vla" = xyes; then : + MSVC2013_COMPAT_CXXFLAGS="-Werror=vla" +else + : +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + +if test "x$GCC" = xyes; then + if test "x$USE_GNU99" = xyes; then + CFLAGS="$CFLAGS -std=gnu99" + else + CFLAGS="$CFLAGS -std=c99" + fi +fi + +case "$host_os" in +cygwin*) + VISIBILITY_CFLAGS="" + VISIBILITY_CXXFLAGS="" + ;; +esac + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-override-init" >&5 +$as_echo_n "checking whether C compiler accepts -Wno-override-init... " >&6; } +if ${ax_cv_check_cflags___Wno_override_init+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Wno-override-init" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___Wno_override_init=yes +else + ax_cv_check_cflags___Wno_override_init=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_override_init" >&5 +$as_echo "$ax_cv_check_cflags___Wno_override_init" >&6; } +if test x"$ax_cv_check_cflags___Wno_override_init" = xyes; then : + WNO_OVERRIDE_INIT="-Wno-override-init" +else + : +fi + # gcc +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Wno-initializer-overrides" >&5 +$as_echo_n "checking whether C compiler accepts -Wno-initializer-overrides... " >&6; } +if ${ax_cv_check_cflags___Wno_initializer_overrides+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Wno-initializer-overrides" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___Wno_initializer_overrides=yes +else + ax_cv_check_cflags___Wno_initializer_overrides=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Wno_initializer_overrides" >&5 +$as_echo "$ax_cv_check_cflags___Wno_initializer_overrides" >&6; } +if test x"$ax_cv_check_cflags___Wno_initializer_overrides" = xyes; then : + WNO_OVERRIDE_INIT="-Wno-initializer-overrides" +else + : +fi + # clang + + +SSE41_CFLAGS="-msse4.1" +case "$target_cpu" in +i?86) + SSE41_CFLAGS="$SSE41_CFLAGS -mstackrealign" + ;; +esac +save_CFLAGS="$CFLAGS" +CFLAGS="$SSE41_CFLAGS $CFLAGS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +int param; +int main () { + __m128i a = _mm_set1_epi32 (param), b = _mm_set1_epi32 (param + 1), c; + c = _mm_max_epu32(a, b); + return _mm_cvtsi128_si32(c); +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + SSE41_SUPPORTED=1 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +CFLAGS="$save_CFLAGS" +if test "x$SSE41_SUPPORTED" = x1; then + DEFINES="$DEFINES -DUSE_SSE41" +fi + if test x$SSE41_SUPPORTED = x1; then + SSE41_SUPPORTED_TRUE= + SSE41_SUPPORTED_FALSE='#' +else + SSE41_SUPPORTED_TRUE='#' + SSE41_SUPPORTED_FALSE= +fi + +SSE41_CFLAGS=$SSE41_CFLAGS + + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int main() { + int n; + return __atomic_load_n(&n, __ATOMIC_ACQUIRE); +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + GCC_ATOMIC_BUILTINS_SUPPORTED=1 +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +if test "x$GCC_ATOMIC_BUILTINS_SUPPORTED" = x1; then + DEFINES="$DEFINES -DUSE_GCC_ATOMIC_BUILTINS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -latomic is needed" >&5 +$as_echo_n "checking whether -latomic is needed... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include + uint64_t v; + int main() { + return (int)__atomic_load_n(&v, __ATOMIC_ACQUIRE); + } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC=no +else + GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC" >&5 +$as_echo "$GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC" >&6; } + if test "x$GCC_ATOMIC_BUILTINS_NEED_LIBATOMIC" = xyes; then + LIBATOMIC_LIBS="-latomic" + fi +fi + if test x$GCC_ATOMIC_BUILTINS_SUPPORTED = x1; then + GCC_ATOMIC_BUILTINS_SUPPORTED_TRUE= + GCC_ATOMIC_BUILTINS_SUPPORTED_FALSE='#' +else + GCC_ATOMIC_BUILTINS_SUPPORTED_TRUE='#' + GCC_ATOMIC_BUILTINS_SUPPORTED_FALSE= +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __sync_add_and_fetch_8 is supported" >&5 +$as_echo_n "checking whether __sync_add_and_fetch_8 is supported... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +uint64_t v; +int main() { + return __sync_add_and_fetch(&v, (uint64_t)1); +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + GCC_64BIT_ATOMICS_SUPPORTED=yes +else + GCC_64BIT_ATOMICS_SUPPORTED=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test "x$GCC_64BIT_ATOMICS_SUPPORTED" != xyes; then + DEFINES="$DEFINES -DMISSING_64BIT_ATOMICS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCC_64BIT_ATOMICS_SUPPORTED" >&5 +$as_echo "$GCC_64BIT_ATOMICS_SUPPORTED" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if ${ac_cv_c_bigendian+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; @@ -20889,16 +21396,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker supports version-scripts" >&5 $as_echo_n "checking if the linker supports version-scripts... " >&6; } save_LDFLAGS=$LDFLAGS -LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" -cat > conftest.map <conftest.$ac_ext /* end confdefs.h. */ int main() { return 0;} @@ -20925,12 +21423,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker supports --dynamic-list" >&5 $as_echo_n "checking if the linker supports --dynamic-list... " >&6; } save_LDFLAGS=$LDFLAGS -LDFLAGS="$LDFLAGS -Wl,--dynamic-list=conftest.dyn" -cat > conftest.dyn <conftest.$ac_ext /* end confdefs.h. */ int main() { return 0;} @@ -21189,6 +21682,11 @@ DEFINES="$DEFINES -DHAVE_MKOSTEMP" fi +ac_fn_c_check_func "$LINENO" "memfd_create" "ac_cv_func_memfd_create" +if test "x$ac_cv_func_memfd_create" = xyes; then : + DEFINES="$DEFINES -DHAVE_MEMFD_CREATE" +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strtod has locale support" >&5 $as_echo_n "checking whether strtod has locale support... " >&6; } @@ -21224,7 +21722,7 @@ ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : - DEFINES="$DEFINES -DHAVE_DLOPEN" + else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } @@ -21263,7 +21761,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - DEFINES="$DEFINES -DHAVE_DLOPEN"; DLOPEN_LIBS="-ldl" + DLOPEN_LIBS="-ldl" fi fi @@ -22502,6 +23000,15 @@ fi } +llvm_add_optional_component() { + new_llvm_component=$1 + driver_name=$2 + + if $LLVM_CONFIG --components | grep -iqw $new_llvm_component ; then + LLVM_COMPONENTS="${LLVM_COMPONENTS} ${new_llvm_component}" + fi +} + llvm_add_default_components() { driver_name=$1 @@ -22512,9 +23019,7 @@ llvm_add_component "mcjit" $driver_name # Optional default components - if $LLVM_CONFIG --components | grep -iqw inteljitevents ; then - LLVM_COMPONENTS="$LLVM_COMPONENTS inteljitevents" - fi + llvm_add_optional_component "inteljitevents" $driver_name } llvm_add_target() { @@ -22939,9 +23444,14 @@ # Check whether --enable-omx was given. if test "${enable_omx+set}" = set; then : - enableval=$enable_omx; enable_omx="$enableval" + enableval=$enable_omx; as_fn_error $? "--enable-omx is deprecated. Use --enable-omx-bellagio instead." "$LINENO" 5 +fi + +# Check whether --enable-omx-bellagio was given. +if test "${enable_omx_bellagio+set}" = set; then : + enableval=$enable_omx_bellagio; enable_omx_bellagio="$enableval" else - enable_omx=no + enable_omx_bellagio=no fi # Check whether --enable-va was given. @@ -23002,7 +23512,7 @@ "x$enable_xa" = xno -a \ "x$enable_xvmc" = xno -a \ "x$enable_vdpau" = xno -a \ - "x$enable_omx" = xno -a \ + "x$enable_omx_bellagio" = xno -a \ "x$enable_va" = xno -a \ "x$enable_opencl" = xno; then as_fn_error $? "at least one API should be enabled" "$LINENO" 5 @@ -23162,15 +23672,10 @@ if test "x$enable_libglvnd" = xyes ; then - case "x$enable_glx" in - xno) - as_fn_error $? "cannot build libglvnd without GLX" "$LINENO" 5 - ;; + case "x$enable_glx" in xxlib | xgallium-xlib ) as_fn_error $? "cannot build libgvnd when Xlib-GLX or Gallium-Xlib-GLX is enabled" "$LINENO" 5 ;; - xdri) - ;; esac @@ -23269,6 +23774,10 @@ DEFINES="${DEFINES} -DUSE_LIBGLVND=1" DEFAULT_GL_LIB_NAME=GLX_mesa + + if test "x$enable_glx" = xno -a "x$enable_egl" = xno; then + as_fn_error $? "cannot build libglvnd without GLX or EGL" "$LINENO" 5 + fi fi @@ -24282,19 +24791,110 @@ pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND" >&5 -$as_echo_n "checking for WAYLAND... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND_CLIENT" >&5 +$as_echo_n "checking for WAYLAND_CLIENT... " >&6; } + +if test -n "$WAYLAND_CLIENT_CFLAGS"; then + pkg_cv_WAYLAND_CLIENT_CFLAGS="$WAYLAND_CLIENT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client >= \$WAYLAND_REQUIRED\""; } >&5 + ($PKG_CONFIG --exists --print-errors "wayland-client >= $WAYLAND_REQUIRED") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_WAYLAND_CLIENT_CFLAGS=`$PKG_CONFIG --cflags "wayland-client >= $WAYLAND_REQUIRED" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$WAYLAND_CLIENT_LIBS"; then + pkg_cv_WAYLAND_CLIENT_LIBS="$WAYLAND_CLIENT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client >= \$WAYLAND_REQUIRED\""; } >&5 + ($PKG_CONFIG --exists --print-errors "wayland-client >= $WAYLAND_REQUIRED") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_WAYLAND_CLIENT_LIBS=`$PKG_CONFIG --libs "wayland-client >= $WAYLAND_REQUIRED" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + WAYLAND_CLIENT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "wayland-client >= $WAYLAND_REQUIRED" 2>&1` + else + WAYLAND_CLIENT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "wayland-client >= $WAYLAND_REQUIRED" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$WAYLAND_CLIENT_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (wayland-client >= $WAYLAND_REQUIRED) were not met: + +$WAYLAND_CLIENT_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables WAYLAND_CLIENT_CFLAGS +and WAYLAND_CLIENT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables WAYLAND_CLIENT_CFLAGS +and WAYLAND_CLIENT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + WAYLAND_CLIENT_CFLAGS=$pkg_cv_WAYLAND_CLIENT_CFLAGS + WAYLAND_CLIENT_LIBS=$pkg_cv_WAYLAND_CLIENT_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for WAYLAND_SERVER" >&5 +$as_echo_n "checking for WAYLAND_SERVER... " >&6; } -if test -n "$WAYLAND_CFLAGS"; then - pkg_cv_WAYLAND_CFLAGS="$WAYLAND_CFLAGS" +if test -n "$WAYLAND_SERVER_CFLAGS"; then + pkg_cv_WAYLAND_SERVER_CFLAGS="$WAYLAND_SERVER_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client >= \$WAYLAND_REQUIRED wayland-server >= \$WAYLAND_REQUIRED\""; } >&5 - ($PKG_CONFIG --exists --print-errors "wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-server >= \$WAYLAND_REQUIRED\""; } >&5 + ($PKG_CONFIG --exists --print-errors "wayland-server >= $WAYLAND_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_WAYLAND_CFLAGS=`$PKG_CONFIG --cflags "wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED" 2>/dev/null` + pkg_cv_WAYLAND_SERVER_CFLAGS=`$PKG_CONFIG --cflags "wayland-server >= $WAYLAND_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -24302,16 +24902,16 @@ else pkg_failed=untried fi -if test -n "$WAYLAND_LIBS"; then - pkg_cv_WAYLAND_LIBS="$WAYLAND_LIBS" +if test -n "$WAYLAND_SERVER_LIBS"; then + pkg_cv_WAYLAND_SERVER_LIBS="$WAYLAND_SERVER_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client >= \$WAYLAND_REQUIRED wayland-server >= \$WAYLAND_REQUIRED\""; } >&5 - ($PKG_CONFIG --exists --print-errors "wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-server >= \$WAYLAND_REQUIRED\""; } >&5 + ($PKG_CONFIG --exists --print-errors "wayland-server >= $WAYLAND_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_WAYLAND_LIBS=`$PKG_CONFIG --libs "wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED" 2>/dev/null` + pkg_cv_WAYLAND_SERVER_LIBS=`$PKG_CONFIG --libs "wayland-server >= $WAYLAND_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -24332,22 +24932,22 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - WAYLAND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED" 2>&1` + WAYLAND_SERVER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "wayland-server >= $WAYLAND_REQUIRED" 2>&1` else - WAYLAND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED" 2>&1` + WAYLAND_SERVER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "wayland-server >= $WAYLAND_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs - echo "$WAYLAND_PKG_ERRORS" >&5 + echo "$WAYLAND_SERVER_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED) were not met: + as_fn_error $? "Package requirements (wayland-server >= $WAYLAND_REQUIRED) were not met: -$WAYLAND_PKG_ERRORS +$WAYLAND_SERVER_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. -Alternatively, you may set the environment variables WAYLAND_CFLAGS -and WAYLAND_LIBS to avoid the need to call pkg-config. +Alternatively, you may set the environment variables WAYLAND_SERVER_CFLAGS +and WAYLAND_SERVER_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 @@ -24358,15 +24958,15 @@ is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. -Alternatively, you may set the environment variables WAYLAND_CFLAGS -and WAYLAND_LIBS to avoid the need to call pkg-config. +Alternatively, you may set the environment variables WAYLAND_SERVER_CFLAGS +and WAYLAND_SERVER_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else - WAYLAND_CFLAGS=$pkg_cv_WAYLAND_CFLAGS - WAYLAND_LIBS=$pkg_cv_WAYLAND_LIBS + WAYLAND_SERVER_CFLAGS=$pkg_cv_WAYLAND_SERVER_CFLAGS + WAYLAND_SERVER_LIBS=$pkg_cv_WAYLAND_SERVER_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -24378,7 +24978,7 @@ if test "x$have_wayland_protocols" = xno; then as_fn_error $? "wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED is needed to compile the wayland platform" "$LINENO" 5 fi - DEFINES="$DEFINES -DHAVE_WAYLAND_PLATFORM" + DEFINES="$DEFINES -DHAVE_WAYLAND_PLATFORM -DWL_HIDE_DEPRECATED" ;; x11) @@ -24775,38 +25375,161 @@ with_dri_drivers='' fi -if test "x$enable_dri" = xyes; then - # Platform specific settings and drivers to build - case "$host_os" in - linux*) - case "$host_cpu" in - powerpc* | sparc*) - # Build only the drivers for cards that exist on PowerPC/sparc - if test "x$with_dri_drivers" = "xyes"; then - with_dri_drivers="r200 radeon swrast" - fi - ;; - esac - ;; - cygwin*) - if test "x$with_dri_drivers" = "xyes"; then - with_dri_drivers="swrast" +# Check for expat + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXPAT" >&5 +$as_echo_n "checking for EXPAT... " >&6; } + +if test -n "$EXPAT_CFLAGS"; then + pkg_cv_EXPAT_CFLAGS="$EXPAT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5 + ($PKG_CONFIG --exists --print-errors "expat") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXPAT_CFLAGS=`$PKG_CONFIG --cflags "expat" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$EXPAT_LIBS"; then + pkg_cv_EXPAT_LIBS="$EXPAT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5 + ($PKG_CONFIG --exists --print-errors "expat") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXPAT_LIBS=`$PKG_CONFIG --libs "expat" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + EXPAT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "expat" 2>&1` + else + EXPAT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "expat" 2>&1` fi - ;; - darwin*) - DEFINES="$DEFINES -DBUILDING_MESA" - if test "x$with_dri_drivers" = "xyes"; then - with_dri_drivers="swrast" + # Put the nasty error message in config.log where it belongs + echo "$EXPAT_PKG_ERRORS" >&5 + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXPAT" >&5 +$as_echo_n "checking for EXPAT... " >&6; } + +if test -n "$EXPAT_CFLAGS"; then + pkg_cv_EXPAT_CFLAGS="$EXPAT_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat21\""; } >&5 + ($PKG_CONFIG --exists --print-errors "expat21") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXPAT_CFLAGS=`$PKG_CONFIG --cflags "expat21" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$EXPAT_LIBS"; then + pkg_cv_EXPAT_LIBS="$EXPAT_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat21\""; } >&5 + ($PKG_CONFIG --exists --print-errors "expat21") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_EXPAT_LIBS=`$PKG_CONFIG --libs "expat21" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + EXPAT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "expat21" 2>&1` + else + EXPAT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "expat21" 2>&1` fi - ;; - esac + # Put the nasty error message in config.log where it belongs + echo "$EXPAT_PKG_ERRORS" >&5 - # default drivers - if test "x$with_dri_drivers" = "xyes"; then - with_dri_drivers="i915 i965 nouveau r200 radeon swrast" - fi + as_fn_error $? "Package requirements (expat21) were not met: + +$EXPAT_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables EXPAT_CFLAGS +and EXPAT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables EXPAT_CFLAGS +and EXPAT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + EXPAT_CFLAGS=$pkg_cv_EXPAT_CFLAGS + EXPAT_LIBS=$pkg_cv_EXPAT_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi - # Check for expat +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EXPAT" >&5 @@ -24816,12 +25539,12 @@ pkg_cv_EXPAT_CFLAGS="$EXPAT_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5 - ($PKG_CONFIG --exists --print-errors "expat") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat21\""; } >&5 + ($PKG_CONFIG --exists --print-errors "expat21") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EXPAT_CFLAGS=`$PKG_CONFIG --cflags "expat" 2>/dev/null` + pkg_cv_EXPAT_CFLAGS=`$PKG_CONFIG --cflags "expat21" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -24833,12 +25556,12 @@ pkg_cv_EXPAT_LIBS="$EXPAT_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat\""; } >&5 - ($PKG_CONFIG --exists --print-errors "expat") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"expat21\""; } >&5 + ($PKG_CONFIG --exists --print-errors "expat21") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_EXPAT_LIBS=`$PKG_CONFIG --libs "expat" 2>/dev/null` + pkg_cv_EXPAT_LIBS=`$PKG_CONFIG --libs "expat21" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -24859,130 +25582,46 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EXPAT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "expat" 2>&1` + EXPAT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "expat21" 2>&1` else - EXPAT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "expat" 2>&1` + EXPAT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "expat21" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$EXPAT_PKG_ERRORS" >&5 - # expat version 2.0 and earlier do not provide expat.pc - ac_fn_c_check_header_mongrel "$LINENO" "expat.h" "ac_cv_header_expat_h" "$ac_includes_default" -if test "x$ac_cv_header_expat_h" = xyes; then : - -else - as_fn_error $? "Expat headers required for DRI not found" "$LINENO" 5 -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML_ParserCreate in -lexpat" >&5 -$as_echo_n "checking for XML_ParserCreate in -lexpat... " >&6; } -if ${ac_cv_lib_expat_XML_ParserCreate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lexpat $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char XML_ParserCreate (); -int -main () -{ -return XML_ParserCreate (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_expat_XML_ParserCreate=yes -else - ac_cv_lib_expat_XML_ParserCreate=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_expat_XML_ParserCreate" >&5 -$as_echo "$ac_cv_lib_expat_XML_ParserCreate" >&6; } -if test "x$ac_cv_lib_expat_XML_ParserCreate" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBEXPAT 1 -_ACEOF + as_fn_error $? "Package requirements (expat21) were not met: - LIBS="-lexpat $LIBS" +$EXPAT_PKG_ERRORS -else - as_fn_error $? "Expat library required for DRI not found" "$LINENO" 5 -fi +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. - EXPAT_LIBS="-lexpat" +Alternatively, you may set the environment variables EXPAT_CFLAGS +and EXPAT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - # expat version 2.0 and earlier do not provide expat.pc - ac_fn_c_check_header_mongrel "$LINENO" "expat.h" "ac_cv_header_expat_h" "$ac_includes_default" -if test "x$ac_cv_header_expat_h" = xyes; then : - -else - as_fn_error $? "Expat headers required for DRI not found" "$LINENO" 5 -fi - + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML_ParserCreate in -lexpat" >&5 -$as_echo_n "checking for XML_ParserCreate in -lexpat... " >&6; } -if ${ac_cv_lib_expat_XML_ParserCreate+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lexpat $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ +Alternatively, you may set the environment variables EXPAT_CFLAGS +and EXPAT_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char XML_ParserCreate (); -int -main () -{ -return XML_ParserCreate (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_expat_XML_ParserCreate=yes +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } else - ac_cv_lib_expat_XML_ParserCreate=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_expat_XML_ParserCreate" >&5 -$as_echo "$ac_cv_lib_expat_XML_ParserCreate" >&6; } -if test "x$ac_cv_lib_expat_XML_ParserCreate" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBEXPAT 1 -_ACEOF - - LIBS="-lexpat $LIBS" + EXPAT_CFLAGS=$pkg_cv_EXPAT_CFLAGS + EXPAT_LIBS=$pkg_cv_EXPAT_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } -else - as_fn_error $? "Expat library required for DRI not found" "$LINENO" 5 fi - EXPAT_LIBS="-lexpat" else EXPAT_CFLAGS=$pkg_cv_EXPAT_CFLAGS EXPAT_LIBS=$pkg_cv_EXPAT_LIBS @@ -24991,6 +25630,37 @@ fi +if test "x$enable_dri" = xyes; then + # Platform specific settings and drivers to build + case "$host_os" in + linux*) + case "$host_cpu" in + powerpc* | sparc*) + # Build only the drivers for cards that exist on PowerPC/sparc + if test "x$with_dri_drivers" = "xyes"; then + with_dri_drivers="r200 radeon swrast" + fi + ;; + esac + ;; + cygwin*) + if test "x$with_dri_drivers" = "xyes"; then + with_dri_drivers="swrast" + fi + ;; + darwin*) + DEFINES="$DEFINES -DBUILDING_MESA" + if test "x$with_dri_drivers" = "xyes"; then + with_dri_drivers="swrast" + fi + ;; + esac + + # default drivers + if test "x$with_dri_drivers" = "xyes"; then + with_dri_drivers="i915 i965 nouveau r200 radeon swrast" + fi + # put all the necessary libs together DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS" fi @@ -25772,16 +26442,16 @@ fi fi - if test "x$enable_omx" = xauto -a "x$have_omx_platform" = xyes; then + if test "x$enable_omx_bellagio" = xauto -a "x$have_omx_platform" = xyes; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libomxil-bellagio >= \$LIBOMXIL_BELLAGIO_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - enable_omx=yes + enable_omx_bellagio=yes else - enable_omx=no + enable_omx_bellagio=no fi fi @@ -25802,7 +26472,7 @@ if test "x$enable_dri" = xyes -o \ "x$enable_xvmc" = xyes -o \ "x$enable_vdpau" = xyes -o \ - "x$enable_omx" = xyes -o \ + "x$enable_omx_bellagio" = xyes -o \ "x$enable_va" = xyes; then need_gallium_vl=yes fi @@ -25817,8 +26487,9 @@ if test "x$enable_xvmc" = xyes -o \ "x$enable_vdpau" = xyes -o \ - "x$enable_omx" = xyes -o \ + "x$enable_omx_bellagio" = xyes -o \ "x$enable_va" = xyes; then + if echo $platforms | grep -q "x11"; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for VL" >&5 @@ -25910,6 +26581,7 @@ $as_echo "yes" >&6; } fi + fi need_gallium_vl_winsys=yes fi if test "x$need_gallium_vl_winsys" = xyes; then @@ -26134,17 +26806,17 @@ fi -if test "x$enable_omx" = xyes; then +if test "x$enable_omx_bellagio" = xyes; then if test "x$have_omx_platform" != xyes; then as_fn_error $? "OMX requires at least one of the x11 or drm platforms" "$LINENO" 5 fi pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OMX" >&5 -$as_echo_n "checking for OMX... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OMX_BELLAGIO" >&5 +$as_echo_n "checking for OMX_BELLAGIO... " >&6; } -if test -n "$OMX_CFLAGS"; then - pkg_cv_OMX_CFLAGS="$OMX_CFLAGS" +if test -n "$OMX_BELLAGIO_CFLAGS"; then + pkg_cv_OMX_BELLAGIO_CFLAGS="$OMX_BELLAGIO_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libomxil-bellagio >= \$LIBOMXIL_BELLAGIO_REQUIRED\""; } >&5 @@ -26152,7 +26824,7 @@ ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_OMX_CFLAGS=`$PKG_CONFIG --cflags "libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED" 2>/dev/null` + pkg_cv_OMX_BELLAGIO_CFLAGS=`$PKG_CONFIG --cflags "libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -26160,8 +26832,8 @@ else pkg_failed=untried fi -if test -n "$OMX_LIBS"; then - pkg_cv_OMX_LIBS="$OMX_LIBS" +if test -n "$OMX_BELLAGIO_LIBS"; then + pkg_cv_OMX_BELLAGIO_LIBS="$OMX_BELLAGIO_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libomxil-bellagio >= \$LIBOMXIL_BELLAGIO_REQUIRED\""; } >&5 @@ -26169,7 +26841,7 @@ ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_OMX_LIBS=`$PKG_CONFIG --libs "libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED" 2>/dev/null` + pkg_cv_OMX_BELLAGIO_LIBS=`$PKG_CONFIG --libs "libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -26190,22 +26862,22 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - OMX_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED" 2>&1` + OMX_BELLAGIO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED" 2>&1` else - OMX_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED" 2>&1` + OMX_BELLAGIO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs - echo "$OMX_PKG_ERRORS" >&5 + echo "$OMX_BELLAGIO_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED) were not met: -$OMX_PKG_ERRORS +$OMX_BELLAGIO_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. -Alternatively, you may set the environment variables OMX_CFLAGS -and OMX_LIBS to avoid the need to call pkg-config. +Alternatively, you may set the environment variables OMX_BELLAGIO_CFLAGS +and OMX_BELLAGIO_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 @@ -26216,27 +26888,27 @@ is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. -Alternatively, you may set the environment variables OMX_CFLAGS -and OMX_LIBS to avoid the need to call pkg-config. +Alternatively, you may set the environment variables OMX_BELLAGIO_CFLAGS +and OMX_BELLAGIO_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else - OMX_CFLAGS=$pkg_cv_OMX_CFLAGS - OMX_LIBS=$pkg_cv_OMX_LIBS + OMX_BELLAGIO_CFLAGS=$pkg_cv_OMX_BELLAGIO_CFLAGS + OMX_BELLAGIO_LIBS=$pkg_cv_OMX_BELLAGIO_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi - gallium_st="$gallium_st omx" + gallium_st="$gallium_st omx_bellagio" fi - if test "x$enable_omx" = xyes; then - HAVE_ST_OMX_TRUE= - HAVE_ST_OMX_FALSE='#' + if test "x$enable_omx_bellagio" = xyes; then + HAVE_ST_OMX_BELLAGIO_TRUE= + HAVE_ST_OMX_BELLAGIO_FALSE='#' else - HAVE_ST_OMX_TRUE='#' - HAVE_ST_OMX_FALSE= + HAVE_ST_OMX_BELLAGIO_TRUE='#' + HAVE_ST_OMX_BELLAGIO_FALSE= fi @@ -26452,13 +27124,16 @@ llvm_add_default_components "opencl" llvm_add_component "all-targets" "opencl" + llvm_add_component "coverage" "opencl" llvm_add_component "linker" "opencl" llvm_add_component "instrumentation" "opencl" llvm_add_component "ipo" "opencl" llvm_add_component "irreader" "opencl" + llvm_add_component "lto" "opencl" llvm_add_component "option" "opencl" llvm_add_component "objcarcopts" "opencl" llvm_add_component "profiledata" "opencl" + llvm_add_optional_component "coroutines" "opencl" if test -z "$CLANG_LIBDIR"; then CLANG_LIBDIR=${LLVM_LIBDIR} @@ -26546,12 +27221,12 @@ -# Check whether --with-omx-libdir was given. -if test "${with_omx_libdir+set}" = set; then : - withval=$with_omx_libdir; OMX_LIB_INSTALL_DIR="$withval" +# Check whether --with-omx-bellagio-libdir was given. +if test "${with_omx_bellagio_libdir+set}" = set; then : + withval=$with_omx_bellagio_libdir; OMX_BELLAGIO_LIB_INSTALL_DIR="$withval" else - OMX_LIB_INSTALL_DIR=`$PKG_CONFIG --exists libomxil-bellagio && \ - $PKG_CONFIG --define-variable=libdir=\$libdir --variable=pluginsdir libomxil-bellagio` + OMX_BELLAGIO_LIB_INSTALL_DIR=`$PKG_CONFIG --exists libomxil-bellagio && \ + $PKG_CONFIG --define-variable=libdir=\$libdir --variable=pluginsdir libomxil-bellagio` fi @@ -27463,7 +28138,7 @@ swr_require_cxx_feature_flags "AVX" "defined(__AVX__)" \ - ",-mavx,-march=core-avx" \ + ",-target-cpu=sandybridge,-mavx,-march=core-avx,-tp=sandybridge" \ SWR_AVX_CXXFLAGS @@ -27475,21 +28150,21 @@ ;; xavx2) swr_require_cxx_feature_flags "AVX2" "defined(__AVX2__)" \ - ",-mavx2 -mfma -mbmi2 -mf16c,-march=core-avx2" \ + ",-target-cpu=haswell,-mavx2 -mfma -mbmi2 -mf16c,-march=core-avx2,-tp=haswell" \ SWR_AVX2_CXXFLAGS HAVE_SWR_AVX2=yes ;; xknl) swr_require_cxx_feature_flags "KNL" "defined(__AVX512F__) && defined(__AVX512ER__)" \ - ",-march=knl,-xMIC-AVX512" \ + ",-target-cpu=mic-knl,-march=knl,-xMIC-AVX512" \ SWR_KNL_CXXFLAGS HAVE_SWR_KNL=yes ;; xskx) swr_require_cxx_feature_flags "SKX" "defined(__AVX512F__) && defined(__AVX512BW__)" \ - ",-march=skylake-avx512,-xCORE-AVX512" \ + ",-target-cpu=x86-skylake,-march=skylake-avx512,-xCORE-AVX512" \ SWR_SKX_CXXFLAGS HAVE_SWR_SKX=yes @@ -27586,6 +28261,82 @@ DEFINES="$DEFINES -DUSE_VC4_SIMULATOR" fi ;; + xvc5) + HAVE_GALLIUM_VC5=yes + + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for VC5_SIMULATOR" >&5 +$as_echo_n "checking for VC5_SIMULATOR... " >&6; } + +if test -n "$VC5_SIMULATOR_CFLAGS"; then + pkg_cv_VC5_SIMULATOR_CFLAGS="$VC5_SIMULATOR_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"v3dv3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "v3dv3") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_VC5_SIMULATOR_CFLAGS=`$PKG_CONFIG --cflags "v3dv3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$VC5_SIMULATOR_LIBS"; then + pkg_cv_VC5_SIMULATOR_LIBS="$VC5_SIMULATOR_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"v3dv3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "v3dv3") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_VC5_SIMULATOR_LIBS=`$PKG_CONFIG --libs "v3dv3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + VC5_SIMULATOR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "v3dv3" 2>&1` + else + VC5_SIMULATOR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "v3dv3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$VC5_SIMULATOR_PKG_ERRORS" >&5 + + as_fn_error $? "vc5 requires the simulator" "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "vc5 requires the simulator" "$LINENO" 5 +else + VC5_SIMULATOR_CFLAGS=$pkg_cv_VC5_SIMULATOR_CFLAGS + VC5_SIMULATOR_LIBS=$pkg_cv_VC5_SIMULATOR_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + USE_VC5_SIMULATOR=yes; + DEFINES="$DEFINES -DUSE_VC5_SIMULATOR" +fi + ;; xpl111) HAVE_GALLIUM_PL111=yes ;; @@ -27661,6 +28412,31 @@ as_fn_error $? "Building with pl111 requires vc4" "$LINENO" 5 fi + +detect_old_buggy_llvm() { + LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version` + if test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"; then : + llvm_have_one_so=yes +fi + + if test "x$llvm_have_one_so" = xyes; then + LLVM_LIBS="-l$LLVM_SO_NAME" + else + if test ! -f "$LLVM_LIBDIR/libLLVMTarget.$IMP_LIB_EXT"; then : + as_fn_error $? "Could not find llvm shared libraries: + Please make sure you have built llvm with the --enable-shared option + and that your llvm libraries are installed in $LLVM_LIBDIR + If you have installed your llvm libraries to a different directory you + can use the --with-llvm-prefix= configure flag to specify this directory. + NOTE: Mesa is attempting to use llvm shared libraries by default. + If you do not want to build with llvm shared libraries and instead want to + use llvm static libraries then add --disable-llvm-shared-libs to your configure + invocation and rebuild." "$LINENO" 5 +fi + + fi +} + if test "x$enable_llvm" = xyes; then DEFINES="${DEFINES} -DHAVE_LLVM=0x0$LLVM_VERSION_INT -DMESA_LLVM_VERSION_PATCH=$LLVM_VERSION_PATCH" @@ -27669,38 +28445,23 @@ LLVM_CXXFLAGS=`strip_unwanted_llvm_flags "$LLVM_CONFIG --cxxflags"` - if ! $LLVM_CONFIG --libs ${LLVM_COMPONENTS} >/dev/null; then - as_fn_error $? "Calling ${LLVM_CONFIG} failed" "$LINENO" 5 - fi - LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`" - - if test "x$enable_llvm_shared_libs" = xyes; then - LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version` - if test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"; then : - llvm_have_one_so=yes -fi - - if test "x$llvm_have_one_so" = xyes; then - LLVM_LIBS="-l$LLVM_SO_NAME" + if test $LLVM_VERSION_MAJOR -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 9; then + if test "x$enable_llvm_shared_libs" = xyes; then + LLVM_LIBS="`$LLVM_CONFIG --link-shared --libs ${LLVM_COMPONENTS}`" else - if test ! -f "$LLVM_LIBDIR/libLLVMTarget.$IMP_LIB_EXT"; then : - as_fn_error $? "Could not find llvm shared libraries: - Please make sure you have built llvm with the --enable-shared option - and that your llvm libraries are installed in $LLVM_LIBDIR - If you have installed your llvm libraries to a different directory you - can use the --with-llvm-prefix= configure flag to specify this directory. - NOTE: Mesa is attempting to use llvm shared libraries by default. - If you do not want to build with llvm shared libraries and instead want to - use llvm static libraries then add --disable-llvm-shared-libs to your configure - invocation and rebuild." "$LINENO" 5 -fi - - fi + LLVM_LIBS="`$LLVM_CONFIG --link-static --libs ${LLVM_COMPONENTS}`" + LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --link-static --system-libs`" + fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Building mesa with statically linked LLVM may cause compilation issues" >&5 + LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`" + if test "x$enable_llvm_shared_libs" = xyes; then + detect_old_buggy_llvm + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Building mesa with statically linked LLVM may cause compilation issues" >&5 $as_echo "$as_me: WARNING: Building mesa with statically linked LLVM may cause compilation issues" >&2;} - 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`" + 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 fi fi @@ -27753,8 +28514,7 @@ HAVE_GALLIUM_RADEONSI_FALSE= fi - if test "x$HAVE_GALLIUM_R600" = xyes -o \ - "x$HAVE_GALLIUM_RADEONSI" = xyes; then + if test "x$HAVE_GALLIUM_RADEONSI" = xyes; then HAVE_GALLIUM_RADEON_COMMON_TRUE= HAVE_GALLIUM_RADEON_COMMON_FALSE='#' else @@ -27836,6 +28596,14 @@ HAVE_GALLIUM_VC4_FALSE= fi + if test "x$HAVE_GALLIUM_VC5" = xyes; then + HAVE_GALLIUM_VC5_TRUE= + HAVE_GALLIUM_VC5_FALSE='#' +else + HAVE_GALLIUM_VC5_TRUE='#' + HAVE_GALLIUM_VC5_FALSE= +fi + if test "x$HAVE_GALLIUM_VIRGL" = xyes; then HAVE_GALLIUM_VIRGL_TRUE= HAVE_GALLIUM_VIRGL_FALSE='#' @@ -27939,6 +28707,16 @@ fi + if test "x$HAVE_GALLIUM_VC4" = xyes -o \ + "x$HAVE_GALLIUM_VC5" = xyes; then + HAVE_BROADCOM_DRIVERS_TRUE= + HAVE_BROADCOM_DRIVERS_FALSE='#' +else + HAVE_BROADCOM_DRIVERS_TRUE='#' + HAVE_BROADCOM_DRIVERS_FALSE= +fi + + if test "x$HAVE_INTEL_VULKAN" = xyes -o \ "x$HAVE_I965_DRI" = xyes; then HAVE_INTEL_DRIVERS_TRUE= @@ -27991,6 +28769,14 @@ USE_VC4_SIMULATOR_FALSE= fi + if test x$USE_VC5_SIMULATOR = xyes; then + USE_VC5_SIMULATOR_TRUE= + USE_VC5_SIMULATOR_FALSE='#' +else + USE_VC5_SIMULATOR_TRUE='#' + USE_VC5_SIMULATOR_FALSE= +fi + if test "x$have_libdrm" = xyes; then HAVE_LIBDRM_TRUE= @@ -28235,7 +29021,7 @@ CFLAGS="$CFLAGS $USER_CFLAGS" CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS" -ac_config_files="$ac_config_files Makefile src/Makefile src/amd/Makefile src/amd/vulkan/Makefile src/broadcom/Makefile src/compiler/Makefile src/egl/Makefile src/egl/main/egl.pc src/egl/wayland/wayland-drm/Makefile src/egl/wayland/wayland-egl/Makefile src/egl/wayland/wayland-egl/wayland-egl.pc src/gallium/Makefile src/gallium/auxiliary/Makefile src/gallium/auxiliary/pipe-loader/Makefile src/gallium/drivers/freedreno/Makefile src/gallium/drivers/ddebug/Makefile src/gallium/drivers/i915/Makefile src/gallium/drivers/llvmpipe/Makefile src/gallium/drivers/noop/Makefile src/gallium/drivers/nouveau/Makefile src/gallium/drivers/pl111/Makefile src/gallium/drivers/r300/Makefile src/gallium/drivers/r600/Makefile src/gallium/drivers/radeon/Makefile src/gallium/drivers/radeonsi/Makefile src/gallium/drivers/rbug/Makefile src/gallium/drivers/softpipe/Makefile src/gallium/drivers/svga/Makefile src/gallium/drivers/swr/Makefile src/gallium/drivers/trace/Makefile src/gallium/drivers/etnaviv/Makefile src/gallium/drivers/imx/Makefile src/gallium/drivers/vc4/Makefile src/gallium/drivers/virgl/Makefile src/gallium/state_trackers/clover/Makefile src/gallium/state_trackers/dri/Makefile src/gallium/state_trackers/glx/xlib/Makefile src/gallium/state_trackers/nine/Makefile src/gallium/state_trackers/omx/Makefile src/gallium/state_trackers/osmesa/Makefile src/gallium/state_trackers/va/Makefile src/gallium/state_trackers/vdpau/Makefile src/gallium/state_trackers/xa/Makefile src/gallium/state_trackers/xvmc/Makefile src/gallium/targets/d3dadapter9/Makefile src/gallium/targets/d3dadapter9/d3d.pc src/gallium/targets/dri/Makefile src/gallium/targets/libgl-xlib/Makefile src/gallium/targets/omx/Makefile src/gallium/targets/opencl/Makefile src/gallium/targets/opencl/mesa.icd src/gallium/targets/osmesa/Makefile src/gallium/targets/osmesa/osmesa.pc src/gallium/targets/pipe-loader/Makefile src/gallium/targets/va/Makefile src/gallium/targets/vdpau/Makefile src/gallium/targets/xa/Makefile src/gallium/targets/xa/xatracker.pc src/gallium/targets/xvmc/Makefile src/gallium/tests/trivial/Makefile src/gallium/tests/unit/Makefile src/gallium/winsys/etnaviv/drm/Makefile src/gallium/winsys/imx/drm/Makefile src/gallium/winsys/freedreno/drm/Makefile src/gallium/winsys/i915/drm/Makefile src/gallium/winsys/nouveau/drm/Makefile src/gallium/winsys/pl111/drm/Makefile src/gallium/winsys/radeon/drm/Makefile src/gallium/winsys/amdgpu/drm/Makefile src/gallium/winsys/svga/drm/Makefile src/gallium/winsys/sw/dri/Makefile src/gallium/winsys/sw/kms-dri/Makefile src/gallium/winsys/sw/null/Makefile src/gallium/winsys/sw/wrapper/Makefile src/gallium/winsys/sw/xlib/Makefile src/gallium/winsys/vc4/drm/Makefile src/gallium/winsys/virgl/drm/Makefile src/gallium/winsys/virgl/vtest/Makefile src/gbm/Makefile src/gbm/main/gbm.pc 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/loader/Makefile src/mapi/Makefile src/mapi/es1api/glesv1_cm.pc src/mapi/es2api/glesv2.pc src/mapi/glapi/gen/Makefile src/mesa/Makefile src/mesa/gl.pc src/mesa/drivers/dri/dri.pc src/mesa/drivers/dri/common/Makefile src/mesa/drivers/dri/common/xmlpool/Makefile src/mesa/drivers/dri/i915/Makefile src/mesa/drivers/dri/i965/Makefile src/mesa/drivers/dri/Makefile src/mesa/drivers/dri/nouveau/Makefile src/mesa/drivers/dri/r200/Makefile src/mesa/drivers/dri/radeon/Makefile src/mesa/drivers/dri/swrast/Makefile src/mesa/drivers/osmesa/Makefile src/mesa/drivers/osmesa/osmesa.pc src/mesa/drivers/x11/Makefile src/mesa/main/tests/Makefile src/util/Makefile src/util/tests/hash_table/Makefile src/vulkan/Makefile" +ac_config_files="$ac_config_files Makefile src/Makefile src/amd/Makefile src/amd/vulkan/Makefile src/broadcom/Makefile src/compiler/Makefile src/egl/Makefile src/egl/main/egl.pc src/egl/wayland/wayland-drm/Makefile src/egl/wayland/wayland-egl/Makefile src/egl/wayland/wayland-egl/wayland-egl.pc src/gallium/Makefile src/gallium/auxiliary/Makefile src/gallium/auxiliary/pipe-loader/Makefile src/gallium/drivers/freedreno/Makefile src/gallium/drivers/ddebug/Makefile src/gallium/drivers/i915/Makefile src/gallium/drivers/llvmpipe/Makefile src/gallium/drivers/noop/Makefile src/gallium/drivers/nouveau/Makefile src/gallium/drivers/pl111/Makefile src/gallium/drivers/r300/Makefile src/gallium/drivers/r600/Makefile src/gallium/drivers/radeon/Makefile src/gallium/drivers/radeonsi/Makefile src/gallium/drivers/rbug/Makefile src/gallium/drivers/softpipe/Makefile src/gallium/drivers/svga/Makefile src/gallium/drivers/swr/Makefile src/gallium/drivers/trace/Makefile src/gallium/drivers/etnaviv/Makefile src/gallium/drivers/imx/Makefile src/gallium/drivers/vc4/Makefile src/gallium/drivers/vc5/Makefile src/gallium/drivers/virgl/Makefile src/gallium/state_trackers/clover/Makefile src/gallium/state_trackers/dri/Makefile src/gallium/state_trackers/glx/xlib/Makefile src/gallium/state_trackers/nine/Makefile src/gallium/state_trackers/omx_bellagio/Makefile src/gallium/state_trackers/osmesa/Makefile src/gallium/state_trackers/va/Makefile src/gallium/state_trackers/vdpau/Makefile src/gallium/state_trackers/xa/Makefile src/gallium/state_trackers/xvmc/Makefile src/gallium/targets/d3dadapter9/Makefile src/gallium/targets/d3dadapter9/d3d.pc src/gallium/targets/dri/Makefile src/gallium/targets/libgl-xlib/Makefile src/gallium/targets/omx-bellagio/Makefile src/gallium/targets/opencl/Makefile src/gallium/targets/opencl/mesa.icd src/gallium/targets/osmesa/Makefile src/gallium/targets/osmesa/osmesa.pc src/gallium/targets/pipe-loader/Makefile src/gallium/targets/va/Makefile src/gallium/targets/vdpau/Makefile src/gallium/targets/xa/Makefile src/gallium/targets/xa/xatracker.pc src/gallium/targets/xvmc/Makefile src/gallium/tests/trivial/Makefile src/gallium/tests/unit/Makefile src/gallium/winsys/etnaviv/drm/Makefile src/gallium/winsys/imx/drm/Makefile src/gallium/winsys/freedreno/drm/Makefile src/gallium/winsys/i915/drm/Makefile src/gallium/winsys/nouveau/drm/Makefile src/gallium/winsys/pl111/drm/Makefile src/gallium/winsys/radeon/drm/Makefile src/gallium/winsys/amdgpu/drm/Makefile src/gallium/winsys/svga/drm/Makefile src/gallium/winsys/sw/dri/Makefile src/gallium/winsys/sw/kms-dri/Makefile src/gallium/winsys/sw/null/Makefile src/gallium/winsys/sw/wrapper/Makefile src/gallium/winsys/sw/xlib/Makefile src/gallium/winsys/vc4/drm/Makefile src/gallium/winsys/vc5/drm/Makefile src/gallium/winsys/virgl/drm/Makefile src/gallium/winsys/virgl/vtest/Makefile src/gbm/Makefile src/gbm/main/gbm.pc 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/loader/Makefile src/mapi/Makefile src/mapi/es1api/glesv1_cm.pc src/mapi/es2api/glesv2.pc src/mapi/glapi/gen/Makefile src/mesa/Makefile src/mesa/gl.pc src/mesa/drivers/dri/dri.pc src/mesa/drivers/dri/common/Makefile src/mesa/drivers/dri/i915/Makefile src/mesa/drivers/dri/i965/Makefile src/mesa/drivers/dri/Makefile src/mesa/drivers/dri/nouveau/Makefile src/mesa/drivers/dri/r200/Makefile src/mesa/drivers/dri/radeon/Makefile src/mesa/drivers/dri/swrast/Makefile src/mesa/drivers/osmesa/Makefile src/mesa/drivers/osmesa/osmesa.pc src/mesa/drivers/x11/Makefile src/mesa/main/tests/Makefile src/mesa/state_tracker/tests/Makefile src/util/Makefile src/util/tests/hash_table/Makefile src/util/tests/string_buffer/Makefile src/util/xmlpool/Makefile src/vulkan/Makefile" cat >confcache <<\_ACEOF @@ -28599,8 +29385,8 @@ as_fn_error $? "conditional \"HAVE_ST_VDPAU\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${HAVE_ST_OMX_TRUE}" && test -z "${HAVE_ST_OMX_FALSE}"; then - as_fn_error $? "conditional \"HAVE_ST_OMX\" was never defined. +if test -z "${HAVE_ST_OMX_BELLAGIO_TRUE}" && test -z "${HAVE_ST_OMX_BELLAGIO_FALSE}"; then + as_fn_error $? "conditional \"HAVE_ST_OMX_BELLAGIO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${HAVE_ST_VA_TRUE}" && test -z "${HAVE_ST_VA_FALSE}"; then @@ -28711,6 +29497,10 @@ as_fn_error $? "conditional \"HAVE_GALLIUM_VC4\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_GALLIUM_VC5_TRUE}" && test -z "${HAVE_GALLIUM_VC5_FALSE}"; then + as_fn_error $? "conditional \"HAVE_GALLIUM_VC5\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${HAVE_GALLIUM_VIRGL_TRUE}" && test -z "${HAVE_GALLIUM_VIRGL_FALSE}"; then as_fn_error $? "conditional \"HAVE_GALLIUM_VIRGL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -28755,6 +29545,10 @@ as_fn_error $? "conditional \"HAVE_AMD_DRIVERS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_BROADCOM_DRIVERS_TRUE}" && test -z "${HAVE_BROADCOM_DRIVERS_FALSE}"; then + as_fn_error $? "conditional \"HAVE_BROADCOM_DRIVERS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${HAVE_INTEL_DRIVERS_TRUE}" && test -z "${HAVE_INTEL_DRIVERS_FALSE}"; then as_fn_error $? "conditional \"HAVE_INTEL_DRIVERS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -28779,6 +29573,10 @@ as_fn_error $? "conditional \"USE_VC4_SIMULATOR\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${USE_VC5_SIMULATOR_TRUE}" && test -z "${USE_VC5_SIMULATOR_FALSE}"; then + as_fn_error $? "conditional \"USE_VC5_SIMULATOR\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${HAVE_LIBDRM_TRUE}" && test -z "${HAVE_LIBDRM_FALSE}"; then as_fn_error $? "conditional \"HAVE_LIBDRM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -29220,7 +30018,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Mesa $as_me 17.2.4, which was +This file was extended by Mesa $as_me 17.3.3, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -29277,7 +30075,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Mesa config.status 17.2.4 +Mesa config.status 17.3.3 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -29811,12 +30609,13 @@ "src/gallium/drivers/etnaviv/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/drivers/etnaviv/Makefile" ;; "src/gallium/drivers/imx/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/drivers/imx/Makefile" ;; "src/gallium/drivers/vc4/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/drivers/vc4/Makefile" ;; + "src/gallium/drivers/vc5/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/drivers/vc5/Makefile" ;; "src/gallium/drivers/virgl/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/drivers/virgl/Makefile" ;; "src/gallium/state_trackers/clover/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/state_trackers/clover/Makefile" ;; "src/gallium/state_trackers/dri/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/state_trackers/dri/Makefile" ;; "src/gallium/state_trackers/glx/xlib/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/state_trackers/glx/xlib/Makefile" ;; "src/gallium/state_trackers/nine/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/state_trackers/nine/Makefile" ;; - "src/gallium/state_trackers/omx/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/state_trackers/omx/Makefile" ;; + "src/gallium/state_trackers/omx_bellagio/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/state_trackers/omx_bellagio/Makefile" ;; "src/gallium/state_trackers/osmesa/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/state_trackers/osmesa/Makefile" ;; "src/gallium/state_trackers/va/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/state_trackers/va/Makefile" ;; "src/gallium/state_trackers/vdpau/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/state_trackers/vdpau/Makefile" ;; @@ -29826,7 +30625,7 @@ "src/gallium/targets/d3dadapter9/d3d.pc") CONFIG_FILES="$CONFIG_FILES src/gallium/targets/d3dadapter9/d3d.pc" ;; "src/gallium/targets/dri/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/targets/dri/Makefile" ;; "src/gallium/targets/libgl-xlib/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/targets/libgl-xlib/Makefile" ;; - "src/gallium/targets/omx/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/targets/omx/Makefile" ;; + "src/gallium/targets/omx-bellagio/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/targets/omx-bellagio/Makefile" ;; "src/gallium/targets/opencl/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/targets/opencl/Makefile" ;; "src/gallium/targets/opencl/mesa.icd") CONFIG_FILES="$CONFIG_FILES src/gallium/targets/opencl/mesa.icd" ;; "src/gallium/targets/osmesa/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/targets/osmesa/Makefile" ;; @@ -29854,6 +30653,7 @@ "src/gallium/winsys/sw/wrapper/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/winsys/sw/wrapper/Makefile" ;; "src/gallium/winsys/sw/xlib/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/winsys/sw/xlib/Makefile" ;; "src/gallium/winsys/vc4/drm/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/winsys/vc4/drm/Makefile" ;; + "src/gallium/winsys/vc5/drm/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/winsys/vc5/drm/Makefile" ;; "src/gallium/winsys/virgl/drm/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/winsys/virgl/drm/Makefile" ;; "src/gallium/winsys/virgl/vtest/Makefile") CONFIG_FILES="$CONFIG_FILES src/gallium/winsys/virgl/vtest/Makefile" ;; "src/gbm/Makefile") CONFIG_FILES="$CONFIG_FILES src/gbm/Makefile" ;; @@ -29874,7 +30674,6 @@ "src/mesa/gl.pc") CONFIG_FILES="$CONFIG_FILES src/mesa/gl.pc" ;; "src/mesa/drivers/dri/dri.pc") CONFIG_FILES="$CONFIG_FILES src/mesa/drivers/dri/dri.pc" ;; "src/mesa/drivers/dri/common/Makefile") CONFIG_FILES="$CONFIG_FILES src/mesa/drivers/dri/common/Makefile" ;; - "src/mesa/drivers/dri/common/xmlpool/Makefile") CONFIG_FILES="$CONFIG_FILES src/mesa/drivers/dri/common/xmlpool/Makefile" ;; "src/mesa/drivers/dri/i915/Makefile") CONFIG_FILES="$CONFIG_FILES src/mesa/drivers/dri/i915/Makefile" ;; "src/mesa/drivers/dri/i965/Makefile") CONFIG_FILES="$CONFIG_FILES src/mesa/drivers/dri/i965/Makefile" ;; "src/mesa/drivers/dri/Makefile") CONFIG_FILES="$CONFIG_FILES src/mesa/drivers/dri/Makefile" ;; @@ -29886,8 +30685,11 @@ "src/mesa/drivers/osmesa/osmesa.pc") CONFIG_FILES="$CONFIG_FILES src/mesa/drivers/osmesa/osmesa.pc" ;; "src/mesa/drivers/x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/mesa/drivers/x11/Makefile" ;; "src/mesa/main/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/mesa/main/tests/Makefile" ;; + "src/mesa/state_tracker/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/mesa/state_tracker/tests/Makefile" ;; "src/util/Makefile") CONFIG_FILES="$CONFIG_FILES src/util/Makefile" ;; "src/util/tests/hash_table/Makefile") CONFIG_FILES="$CONFIG_FILES src/util/tests/hash_table/Makefile" ;; + "src/util/tests/string_buffer/Makefile") CONFIG_FILES="$CONFIG_FILES src/util/tests/string_buffer/Makefile" ;; + "src/util/xmlpool/Makefile") CONFIG_FILES="$CONFIG_FILES src/util/xmlpool/Makefile" ;; "src/vulkan/Makefile") CONFIG_FILES="$CONFIG_FILES src/vulkan/Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; @@ -31163,6 +31965,8 @@ # source file $SED -i -e 's/brw_blorp.cpp/brw_blorp.c/' src/mesa/drivers/dri/i965/.deps/brw_blorp.Plo +rm -f src/compiler/spirv/spirv_info.lo +echo "# dummy" > src/compiler/spirv/.deps/spirv_info.Plo echo "" echo " prefix: $prefix" diff -Nru mesa-17.2.4/configure.ac mesa-17.3.3/configure.ac --- mesa-17.2.4/configure.ac 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/configure.ac 2018-01-18 21:30:28.000000000 +0000 @@ -74,7 +74,7 @@ # in the first entry. LIBDRM_REQUIRED=2.4.75 LIBDRM_RADEON_REQUIRED=2.4.71 -LIBDRM_AMDGPU_REQUIRED=2.4.82 +LIBDRM_AMDGPU_REQUIRED=2.4.85 LIBDRM_INTEL_REQUIRED=2.4.75 LIBDRM_NVVIEUX_REQUIRED=2.4.66 LIBDRM_NOUVEAU_REQUIRED=2.4.66 @@ -101,7 +101,7 @@ dnl LLVM versions LLVM_REQUIRED_GALLIUM=3.3.0 -LLVM_REQUIRED_OPENCL=3.6.0 +LLVM_REQUIRED_OPENCL=3.9.0 LLVM_REQUIRED_R600=3.9.0 LLVM_REQUIRED_RADEONSI=3.9.0 LLVM_REQUIRED_RADV=3.9.0 @@ -282,86 +282,51 @@ AM_CONDITIONAL(HAVE_ANDROID, test "x$android" = xyes) -dnl Add flags for gcc and g++ -if test "x$GCC" = xyes; then - CFLAGS="$CFLAGS -Wall" +dnl +dnl Check compiler flags +dnl +AX_CHECK_COMPILE_FLAG([-Wall], [CFLAGS="$CFLAGS -Wall"]) +AX_CHECK_COMPILE_FLAG([-Werror=implicit-function-declaration], [CFLAGS="$CFLAGS -Werror=implicit-function-declaration"]) +AX_CHECK_COMPILE_FLAG([-Werror=missing-prototypes], [CFLAGS="$CFLAGS -Werror=missing-prototypes"]) +AX_CHECK_COMPILE_FLAG([-Wmissing-prototypes], [CFLAGS="$CFLAGS -Wmissing-prototypes"]) +AX_CHECK_COMPILE_FLAG([-fno-math-errno], [CFLAGS="$CFLAGS -fno-math-errno"]) +AX_CHECK_COMPILE_FLAG([-fno-trapping-math], [CFLAGS="$CFLAGS -fno-trapping-math"]) +AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [VISIBILITY_CFLAGS="-fvisibility=hidden"]) + +dnl +dnl Check C++ compiler flags +dnl +AC_LANG_PUSH([C++]) +AX_CHECK_COMPILE_FLAG([-Wall], [CXXFLAGS="$CXXFLAGS -Wall"]) +AX_CHECK_COMPILE_FLAG([-fno-math-errno], [CXXFLAGS="$CXXFLAGS -fno-math-errno"]) +AX_CHECK_COMPILE_FLAG([-fno-trapping-math], [CXXFLAGS="$CXXFLAGS -fno-trapping-math"]) +AX_CHECK_COMPILE_FLAG([-fvisibility=hidden], [VISIBILITY_CXXFLAGS="-fvisibility=hidden"]) +AC_LANG_POP([C++]) + +# 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 +# - non-Linux/Posix OpenGL portions needs to build on MSVC 2013 (which +# supports most of C99) +# - the rest has no compiler compiler restrictions +AX_CHECK_COMPILE_FLAG([-Werror=pointer-arith], [MSVC2013_COMPAT_CFLAGS="-Werror=pointer-arith"]) +AX_CHECK_COMPILE_FLAG([-Werror=vla], [MSVC2013_COMPAT_CFLAGS="-Werror=vla"]) +AC_LANG_PUSH([C++]) +AX_CHECK_COMPILE_FLAG([-Werror=pointer-arith], [MSVC2013_COMPAT_CXXFLAGS="-Werror=pointer-arith"]) +AX_CHECK_COMPILE_FLAG([-Werror=vla], [MSVC2013_COMPAT_CXXFLAGS="-Werror=vla"]) +AC_LANG_POP([C++]) + +AC_SUBST([MSVC2013_COMPAT_CFLAGS]) +AC_SUBST([MSVC2013_COMPAT_CXXFLAGS]) +if test "x$GCC" = xyes; then if test "x$USE_GNU99" = xyes; then CFLAGS="$CFLAGS -std=gnu99" else CFLAGS="$CFLAGS -std=c99" fi - - # Enable -Werror=implicit-function-declaration and - # -Werror=missing-prototypes, if available, or otherwise, just - # -Wmissing-prototypes. This is particularly useful to avoid - # generating a loadable driver module that has undefined symbols. - save_CFLAGS="$CFLAGS" - AC_MSG_CHECKING([whether $CC supports -Werror=missing-prototypes]) - CFLAGS="$CFLAGS -Werror=implicit-function-declaration" - CFLAGS="$CFLAGS -Werror=missing-prototypes" - AC_LINK_IFELSE([AC_LANG_PROGRAM()], - AC_MSG_RESULT([yes]), - [CFLAGS="$save_CFLAGS -Wmissing-prototypes"; - AC_MSG_RESULT([no])]) - - # Enable -fvisibility=hidden if using a gcc that supports it - save_CFLAGS="$CFLAGS" - AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden]) - VISIBILITY_CFLAGS="-fvisibility=hidden" - CFLAGS="$CFLAGS $VISIBILITY_CFLAGS" - AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]), - [VISIBILITY_CFLAGS=""; AC_MSG_RESULT([no])]) - - # Restore CFLAGS; VISIBILITY_CFLAGS are added to it where needed. - CFLAGS=$save_CFLAGS - - # We don't want floating-point math functions to set errno or trap - CFLAGS="$CFLAGS -fno-math-errno -fno-trapping-math" - - # 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 - # - non-Linux/Posix OpenGL portions needs to build on MSVC 2013 (which - # supports most of C99) - # - the rest has no compiler compiler restrictions - MSVC2013_COMPAT_CFLAGS="-Werror=pointer-arith" - MSVC2013_COMPAT_CXXFLAGS="-Werror=pointer-arith" - - # Enable -Werror=vla if compiler supports it - save_CFLAGS="$CFLAGS" - AC_MSG_CHECKING([whether $CC supports -Werror=vla]) - CFLAGS="$CFLAGS -Werror=vla" - AC_LINK_IFELSE([AC_LANG_PROGRAM()], - [MSVC2013_COMPAT_CFLAGS="$MSVC2013_COMPAT_CFLAGS -Werror=vla"; - MSVC2013_COMPAT_CXXFLAGS="$MSVC2013_COMPAT_CXXFLAGS -Werror=vla"; - AC_MSG_RESULT([yes])], - AC_MSG_RESULT([no])) - CFLAGS="$save_CFLAGS" -fi -if test "x$GXX" = xyes; then - CXXFLAGS="$CXXFLAGS -Wall" - - # Enable -fvisibility=hidden if using a gcc that supports it - save_CXXFLAGS="$CXXFLAGS" - AC_MSG_CHECKING([whether $CXX supports -fvisibility=hidden]) - VISIBILITY_CXXFLAGS="-fvisibility=hidden" - CXXFLAGS="$CXXFLAGS $VISIBILITY_CXXFLAGS" - AC_LANG_PUSH([C++]) - AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]), - [VISIBILITY_CXXFLAGS="" ; AC_MSG_RESULT([no])]) - AC_LANG_POP([C++]) - - # Restore CXXFLAGS; VISIBILITY_CXXFLAGS are added to it where needed. - CXXFLAGS=$save_CXXFLAGS - - # 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]) -AC_SUBST([MSVC2013_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 case "$host_os" in @@ -374,6 +339,10 @@ AC_SUBST([VISIBILITY_CFLAGS]) AC_SUBST([VISIBILITY_CXXFLAGS]) +AX_CHECK_COMPILE_FLAG([-Wno-override-init], [WNO_OVERRIDE_INIT="-Wno-override-init"]) # gcc +AX_CHECK_COMPILE_FLAG([-Wno-initializer-overrides], [WNO_OVERRIDE_INIT="-Wno-initializer-overrides"]) # clang +AC_SUBST([WNO_OVERRIDE_INIT]) + dnl dnl Optional flags, check for compiler support dnl @@ -637,16 +606,7 @@ dnl AC_MSG_CHECKING([if the linker supports version-scripts]) save_LDFLAGS=$LDFLAGS -LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" -cat > conftest.map < conftest.dyn <@])], - [enable_omx="$enableval"], - [enable_omx=no]) + [DEPRECATED: Use --enable-omx-bellagio instead @<:@default=auto@:>@])], + [AC_MSG_ERROR([--enable-omx is deprecated. Use --enable-omx-bellagio instead.])], + []) +AC_ARG_ENABLE([omx-bellagio], + [AS_HELP_STRING([--enable-omx-bellagio], + [enable OpenMAX Bellagio library @<:@default=disabled@:>@])], + [enable_omx_bellagio="$enableval"], + [enable_omx_bellagio=no]) AC_ARG_ENABLE([va], [AS_HELP_STRING([--enable-va], [enable va library @<:@default=auto@:>@])], @@ -1306,7 +1274,7 @@ AC_ARG_WITH([gallium-drivers], [AS_HELP_STRING([--with-gallium-drivers@<:@=DIRS...@:>@], [comma delimited Gallium drivers list, e.g. - "i915,nouveau,r300,r600,radeonsi,freedreno,pl111,svga,swrast,swr,vc4,virgl,etnaviv,imx" + "i915,nouveau,r300,r600,radeonsi,freedreno,pl111,svga,swrast,swr,vc4,vc5,virgl,etnaviv,imx" @<:@default=r300,r600,svga,swrast@:>@])], [with_gallium_drivers="$withval"], [with_gallium_drivers="$GALLIUM_DRIVERS_DEFAULT"]) @@ -1325,7 +1293,7 @@ "x$enable_xa" = xno -a \ "x$enable_xvmc" = xno -a \ "x$enable_vdpau" = xno -a \ - "x$enable_omx" = xno -a \ + "x$enable_omx_bellagio" = xno -a \ "x$enable_va" = xno -a \ "x$enable_opencl" = xno; then AC_MSG_ERROR([at least one API should be enabled]) @@ -1416,18 +1384,10 @@ AM_CONDITIONAL(USE_LIBGLVND, test "x$enable_libglvnd" = xyes) if test "x$enable_libglvnd" = xyes ; then - dnl XXX: update once we can handle more than libGL/glx. - dnl Namely: we should error out if neither of the glvnd enabled libraries - dnl are built case "x$enable_glx" in - xno) - AC_MSG_ERROR([cannot build libglvnd without GLX]) - ;; xxlib | xgallium-xlib ) AC_MSG_ERROR([cannot build libgvnd when Xlib-GLX or Gallium-Xlib-GLX is enabled]) ;; - xdri) - ;; esac PKG_CHECK_MODULES([GLVND], libglvnd >= 0.2.0) @@ -1436,6 +1396,10 @@ DEFINES="${DEFINES} -DUSE_LIBGLVND=1" DEFAULT_GL_LIB_NAME=GLX_mesa + + if test "x$enable_glx" = xno -a "x$enable_egl" = xno; then + AC_MSG_ERROR([cannot build libglvnd without GLX or EGL]) + fi fi AC_ARG_WITH([gl-lib-name], @@ -1749,7 +1713,8 @@ case "$plat" in wayland) - PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED]) + PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client >= $WAYLAND_REQUIRED]) + PKG_CHECK_MODULES([WAYLAND_SERVER], [wayland-server >= $WAYLAND_REQUIRED]) if test "x$WAYLAND_SCANNER" = "x:"; then AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform]) @@ -1757,7 +1722,7 @@ if test "x$have_wayland_protocols" = xno; then AC_MSG_ERROR([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED is needed to compile the wayland platform]) fi - DEFINES="$DEFINES -DHAVE_WAYLAND_PLATFORM" + DEFINES="$DEFINES -DHAVE_WAYLAND_PLATFORM -DWL_HIDE_DEPRECATED" ;; x11) @@ -1847,6 +1812,11 @@ with_dri_drivers='' fi +# Check for expat +PKG_CHECK_MODULES([EXPAT], [expat],, + [PKG_CHECK_MODULES([EXPAT], [expat21])] +) + dnl If $with_dri_drivers is yes, drivers will be added through dnl platform checks. Set DEFINES and LIB_DEPS if test "x$enable_dri" = xyes; then @@ -1880,15 +1850,6 @@ with_dri_drivers="i915 i965 nouveau r200 radeon swrast" fi - # Check for expat - PKG_CHECK_MODULES([EXPAT], [expat], [], - # expat version 2.0 and earlier do not provide expat.pc - [AC_CHECK_HEADER([expat.h],[], - [AC_MSG_ERROR([Expat headers required for DRI not found])]) - AC_CHECK_LIB([expat],[XML_ParserCreate],[], - [AC_MSG_ERROR([Expat library required for DRI not found])]) - EXPAT_LIBS="-lexpat"]) - # put all the necessary libs together DRI_LIB_DEPS="$DRI_LIB_DEPS $SELINUX_LIBS $LIBDRM_LIBS $EXPAT_LIBS -lm $PTHREAD_LIBS $DLOPEN_LIBS" fi @@ -2174,8 +2135,8 @@ PKG_CHECK_EXISTS([vdpau >= $VDPAU_REQUIRED], [enable_vdpau=yes], [enable_vdpau=no]) fi - if test "x$enable_omx" = xauto -a "x$have_omx_platform" = xyes; then - PKG_CHECK_EXISTS([libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED], [enable_omx=yes], [enable_omx=no]) + if test "x$enable_omx_bellagio" = xauto -a "x$have_omx_platform" = xyes; then + PKG_CHECK_EXISTS([libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED], [enable_omx_bellagio=yes], [enable_omx_bellagio=no]) fi if test "x$enable_va" = xauto -a "x$have_va_platform" = xyes; then @@ -2186,7 +2147,7 @@ if test "x$enable_dri" = xyes -o \ "x$enable_xvmc" = xyes -o \ "x$enable_vdpau" = xyes -o \ - "x$enable_omx" = xyes -o \ + "x$enable_omx_bellagio" = xyes -o \ "x$enable_va" = xyes; then need_gallium_vl=yes fi @@ -2194,9 +2155,11 @@ if test "x$enable_xvmc" = xyes -o \ "x$enable_vdpau" = xyes -o \ - "x$enable_omx" = xyes -o \ + "x$enable_omx_bellagio" = xyes -o \ "x$enable_va" = xyes; then - PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) + if echo $platforms | grep -q "x11"; then + PKG_CHECK_MODULES([VL], [x11-xcb xcb xcb-dri2 >= $XCBDRI2_REQUIRED]) + fi need_gallium_vl_winsys=yes fi AM_CONDITIONAL(NEED_GALLIUM_VL_WINSYS, test "x$need_gallium_vl_winsys" = xyes) @@ -2220,14 +2183,14 @@ fi AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes) -if test "x$enable_omx" = xyes; then +if test "x$enable_omx_bellagio" = xyes; then if test "x$have_omx_platform" != xyes; then AC_MSG_ERROR([OMX requires at least one of the x11 or drm platforms]) fi - PKG_CHECK_MODULES([OMX], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED]) - gallium_st="$gallium_st omx" + PKG_CHECK_MODULES([OMX_BELLAGIO], [libomxil-bellagio >= $LIBOMXIL_BELLAGIO_REQUIRED]) + gallium_st="$gallium_st omx_bellagio" fi -AM_CONDITIONAL(HAVE_ST_OMX, test "x$enable_omx" = xyes) +AM_CONDITIONAL(HAVE_ST_OMX_BELLAGIO, test "x$enable_omx_bellagio" = xyes) if test "x$enable_va" = xyes; then if test "x$have_va_platform" != xyes; then @@ -2323,13 +2286,16 @@ llvm_add_default_components "opencl" llvm_add_component "all-targets" "opencl" + llvm_add_component "coverage" "opencl" llvm_add_component "linker" "opencl" llvm_add_component "instrumentation" "opencl" llvm_add_component "ipo" "opencl" llvm_add_component "irreader" "opencl" + llvm_add_component "lto" "opencl" llvm_add_component "option" "opencl" llvm_add_component "objcarcopts" "opencl" llvm_add_component "profiledata" "opencl" + llvm_add_optional_component "coroutines" "opencl" dnl Check for Clang internal headers if test -z "$CLANG_LIBDIR"; then @@ -2389,15 +2355,15 @@ [VDPAU_LIB_INSTALL_DIR='${libdir}/vdpau']) AC_SUBST([VDPAU_LIB_INSTALL_DIR]) -dnl Directory for OMX libs +dnl Directory for OMX_BELLAGIO libs -AC_ARG_WITH([omx-libdir], - [AS_HELP_STRING([--with-omx-libdir=DIR], - [directory for the OMX libraries])], - [OMX_LIB_INSTALL_DIR="$withval"], - [OMX_LIB_INSTALL_DIR=`$PKG_CONFIG --exists libomxil-bellagio && \ - $PKG_CONFIG --define-variable=libdir=\$libdir --variable=pluginsdir libomxil-bellagio`]) -AC_SUBST([OMX_LIB_INSTALL_DIR]) +AC_ARG_WITH([omx-bellagio-libdir], + [AS_HELP_STRING([--with-omx-bellagio-libdir=DIR], + [directory for the OMX_BELLAGIO libraries])], + [OMX_BELLAGIO_LIB_INSTALL_DIR="$withval"], + [OMX_BELLAGIO_LIB_INSTALL_DIR=`$PKG_CONFIG --exists libomxil-bellagio && \ + $PKG_CONFIG --define-variable=libdir=\$libdir --variable=pluginsdir libomxil-bellagio`]) +AC_SUBST([OMX_BELLAGIO_LIB_INSTALL_DIR]) dnl Directory for VA libs @@ -2567,7 +2533,7 @@ AC_SUBST([SWR_CXX11_CXXFLAGS]) swr_require_cxx_feature_flags "AVX" "defined(__AVX__)" \ - ",-mavx,-march=core-avx" \ + ",-target-cpu=sandybridge,-mavx,-march=core-avx,-tp=sandybridge" \ SWR_AVX_CXXFLAGS AC_SUBST([SWR_AVX_CXXFLAGS]) @@ -2579,21 +2545,21 @@ ;; xavx2) swr_require_cxx_feature_flags "AVX2" "defined(__AVX2__)" \ - ",-mavx2 -mfma -mbmi2 -mf16c,-march=core-avx2" \ + ",-target-cpu=haswell,-mavx2 -mfma -mbmi2 -mf16c,-march=core-avx2,-tp=haswell" \ SWR_AVX2_CXXFLAGS AC_SUBST([SWR_AVX2_CXXFLAGS]) HAVE_SWR_AVX2=yes ;; xknl) swr_require_cxx_feature_flags "KNL" "defined(__AVX512F__) && defined(__AVX512ER__)" \ - ",-march=knl,-xMIC-AVX512" \ + ",-target-cpu=mic-knl,-march=knl,-xMIC-AVX512" \ SWR_KNL_CXXFLAGS AC_SUBST([SWR_KNL_CXXFLAGS]) HAVE_SWR_KNL=yes ;; xskx) swr_require_cxx_feature_flags "SKX" "defined(__AVX512F__) && defined(__AVX512BW__)" \ - ",-march=skylake-avx512,-xCORE-AVX512" \ + ",-target-cpu=x86-skylake,-march=skylake-avx512,-xCORE-AVX512" \ SWR_SKX_CXXFLAGS AC_SUBST([SWR_SKX_CXXFLAGS]) HAVE_SWR_SKX=yes @@ -2622,6 +2588,14 @@ DEFINES="$DEFINES -DUSE_VC4_SIMULATOR"], [USE_VC4_SIMULATOR=no]) ;; + xvc5) + HAVE_GALLIUM_VC5=yes + + PKG_CHECK_MODULES([VC5_SIMULATOR], [v3dv3], + [USE_VC5_SIMULATOR=yes; + DEFINES="$DEFINES -DUSE_VC5_SIMULATOR"], + [AC_MSG_ERROR([vc5 requires the simulator])]) + ;; xpl111) HAVE_GALLIUM_PL111=yes ;; @@ -2663,6 +2637,39 @@ AC_MSG_ERROR([Building with pl111 requires vc4]) fi + +detect_old_buggy_llvm() { + dnl llvm-config may not give the right answer when llvm is a built as a + dnl single shared library, so we must work the library name out for + dnl ourselves. + dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823) + dnl We can't use $LLVM_VERSION because it has 'svn' stripped out, + LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version` + AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"], [llvm_have_one_so=yes]) + + if test "x$llvm_have_one_so" = xyes; then + dnl LLVM was built using auto*, so there is only one shared object. + LLVM_LIBS="-l$LLVM_SO_NAME" + else + dnl If LLVM was built with CMake, there will be one shared object per + dnl component. + AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.$IMP_LIB_EXT"], + [AC_MSG_ERROR([Could not find llvm shared libraries: + Please make sure you have built llvm with the --enable-shared option + and that your llvm libraries are installed in $LLVM_LIBDIR + If you have installed your llvm libraries to a different directory you + can use the --with-llvm-prefix= configure flag to specify this directory. + NOTE: Mesa is attempting to use llvm shared libraries by default. + If you do not want to build with llvm shared libraries and instead want to + use llvm static libraries then add --disable-llvm-shared-libs to your configure + invocation and rebuild.])]) + + dnl We don't need to update LLVM_LIBS in this case because the LLVM + dnl install uses a shared object for each component and we have + dnl already added all of these objects to LLVM_LIBS. + fi +} + dnl dnl Set defines and buildtime variables only when using LLVM. dnl @@ -2680,47 +2687,28 @@ dnl this was causing the same libraries to be appear multiple times dnl in LLVM_LIBS. - 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 - dnl single shared library, so we must work the library name out for - dnl ourselves. - dnl (See https://llvm.org/bugs/show_bug.cgi?id=6823) - if test "x$enable_llvm_shared_libs" = xyes; then - dnl We can't use $LLVM_VERSION because it has 'svn' stripped out, - LLVM_SO_NAME=LLVM-`$LLVM_CONFIG --version` - AS_IF([test -f "$LLVM_LIBDIR/lib$LLVM_SO_NAME.$IMP_LIB_EXT"], [llvm_have_one_so=yes]) - - if test "x$llvm_have_one_so" = xyes; then - dnl LLVM was built using auto*, so there is only one shared object. - LLVM_LIBS="-l$LLVM_SO_NAME" + if test $LLVM_VERSION_MAJOR -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 9; then + if test "x$enable_llvm_shared_libs" = xyes; then + LLVM_LIBS="`$LLVM_CONFIG --link-shared --libs ${LLVM_COMPONENTS}`" else - dnl If LLVM was built with CMake, there will be one shared object per - dnl component. - AS_IF([test ! -f "$LLVM_LIBDIR/libLLVMTarget.$IMP_LIB_EXT"], - [AC_MSG_ERROR([Could not find llvm shared libraries: - Please make sure you have built llvm with the --enable-shared option - and that your llvm libraries are installed in $LLVM_LIBDIR - If you have installed your llvm libraries to a different directory you - can use the --with-llvm-prefix= configure flag to specify this directory. - NOTE: Mesa is attempting to use llvm shared libraries by default. - If you do not want to build with llvm shared libraries and instead want to - use llvm static libraries then add --disable-llvm-shared-libs to your configure - invocation and rebuild.])]) - - dnl We don't need to update LLVM_LIBS in this case because the LLVM - dnl install uses a shared object for each component and we have - dnl already added all of these objects to LLVM_LIBS. + dnl Invoking llvm-config with both -libs and --system-libs produces the + dnl two separate lines - each for the set of libraries. + dnl Call the program twice, effectively folding them into a single line. + LLVM_LIBS="`$LLVM_CONFIG --link-static --libs ${LLVM_COMPONENTS}`" + dnl We need to link to llvm system libs when using static libs + LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --link-static --system-libs`" fi else - 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 -ge 4 -o $LLVM_VERSION_MAJOR -eq 3 -a $LLVM_VERSION_MINOR -ge 5; then - LLVM_LIBS="$LLVM_LIBS `$LLVM_CONFIG --system-libs`" + LLVM_LIBS="`$LLVM_CONFIG --libs ${LLVM_COMPONENTS}`" + if test "x$enable_llvm_shared_libs" = xyes; then + detect_old_buggy_llvm + else + 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 -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 fi fi @@ -2731,8 +2719,7 @@ AM_CONDITIONAL(HAVE_GALLIUM_R300, test "x$HAVE_GALLIUM_R300" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_R600, test "x$HAVE_GALLIUM_R600" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_RADEONSI, test "x$HAVE_GALLIUM_RADEONSI" = xyes) -AM_CONDITIONAL(HAVE_GALLIUM_RADEON_COMMON, test "x$HAVE_GALLIUM_R600" = xyes -o \ - "x$HAVE_GALLIUM_RADEONSI" = xyes) +AM_CONDITIONAL(HAVE_GALLIUM_RADEON_COMMON, test "x$HAVE_GALLIUM_RADEONSI" = xyes) 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_ETNAVIV, test "x$HAVE_GALLIUM_ETNAVIV" = xyes) @@ -2744,6 +2731,7 @@ "x$HAVE_GALLIUM_LLVMPIPE" = xyes -o \ "x$HAVE_GALLIUM_SWR" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_VC4, test "x$HAVE_GALLIUM_VC4" = xyes) +AM_CONDITIONAL(HAVE_GALLIUM_VC5, test "x$HAVE_GALLIUM_VC5" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_VIRGL, test "x$HAVE_GALLIUM_VIRGL" = xyes) AM_CONDITIONAL(HAVE_GALLIUM_STATIC_TARGETS, test "x$enable_shared_pipe_drivers" = xno) @@ -2770,6 +2758,9 @@ AM_CONDITIONAL(HAVE_AMD_DRIVERS, test "x$HAVE_GALLIUM_RADEONSI" = xyes -o \ "x$HAVE_RADEON_VULKAN" = xyes) +AM_CONDITIONAL(HAVE_BROADCOM_DRIVERS, test "x$HAVE_GALLIUM_VC4" = xyes -o \ + "x$HAVE_GALLIUM_VC5" = xyes) + AM_CONDITIONAL(HAVE_INTEL_DRIVERS, test "x$HAVE_INTEL_VULKAN" = xyes -o \ "x$HAVE_I965_DRI" = xyes) @@ -2780,6 +2771,7 @@ AM_CONDITIONAL(HAVE_GALLIUM_COMPUTE, test x$enable_opencl = xyes) AM_CONDITIONAL(HAVE_GALLIUM_LLVM, test "x$enable_llvm" = xyes) AM_CONDITIONAL(USE_VC4_SIMULATOR, test x$USE_VC4_SIMULATOR = xyes) +AM_CONDITIONAL(USE_VC5_SIMULATOR, test x$USE_VC5_SIMULATOR = xyes) AM_CONDITIONAL(HAVE_LIBDRM, test "x$have_libdrm" = xyes) AM_CONDITIONAL(HAVE_OSMESA, test "x$enable_osmesa" = xyes) @@ -2893,12 +2885,13 @@ src/gallium/drivers/etnaviv/Makefile src/gallium/drivers/imx/Makefile src/gallium/drivers/vc4/Makefile + src/gallium/drivers/vc5/Makefile src/gallium/drivers/virgl/Makefile src/gallium/state_trackers/clover/Makefile src/gallium/state_trackers/dri/Makefile src/gallium/state_trackers/glx/xlib/Makefile src/gallium/state_trackers/nine/Makefile - src/gallium/state_trackers/omx/Makefile + src/gallium/state_trackers/omx_bellagio/Makefile src/gallium/state_trackers/osmesa/Makefile src/gallium/state_trackers/va/Makefile src/gallium/state_trackers/vdpau/Makefile @@ -2908,7 +2901,7 @@ src/gallium/targets/d3dadapter9/d3d.pc src/gallium/targets/dri/Makefile src/gallium/targets/libgl-xlib/Makefile - src/gallium/targets/omx/Makefile + src/gallium/targets/omx-bellagio/Makefile src/gallium/targets/opencl/Makefile src/gallium/targets/opencl/mesa.icd src/gallium/targets/osmesa/Makefile @@ -2936,6 +2929,7 @@ src/gallium/winsys/sw/wrapper/Makefile src/gallium/winsys/sw/xlib/Makefile src/gallium/winsys/vc4/drm/Makefile + src/gallium/winsys/vc5/drm/Makefile src/gallium/winsys/virgl/drm/Makefile src/gallium/winsys/virgl/vtest/Makefile src/gbm/Makefile @@ -2956,7 +2950,6 @@ src/mesa/gl.pc src/mesa/drivers/dri/dri.pc src/mesa/drivers/dri/common/Makefile - src/mesa/drivers/dri/common/xmlpool/Makefile src/mesa/drivers/dri/i915/Makefile src/mesa/drivers/dri/i965/Makefile src/mesa/drivers/dri/Makefile @@ -2968,8 +2961,11 @@ src/mesa/drivers/osmesa/osmesa.pc src/mesa/drivers/x11/Makefile src/mesa/main/tests/Makefile + src/mesa/state_tracker/tests/Makefile src/util/Makefile src/util/tests/hash_table/Makefile + src/util/tests/string_buffer/Makefile + src/util/xmlpool/Makefile src/vulkan/Makefile]) AC_OUTPUT @@ -2978,6 +2974,8 @@ # source file $SED -i -e 's/brw_blorp.cpp/brw_blorp.c/' src/mesa/drivers/dri/i965/.deps/brw_blorp.Plo +rm -f src/compiler/spirv/spirv_info.lo +echo "# dummy" > src/compiler/spirv/.deps/spirv_info.Plo dnl dnl Output some configuration info for the user diff -Nru mesa-17.2.4/debian/changelog mesa-17.3.3/debian/changelog --- mesa-17.2.4/debian/changelog 2018-02-01 16:17:31.000000000 +0000 +++ mesa-17.3.3/debian/changelog 2018-02-01 16:17:32.000000000 +0000 @@ -1,3 +1,12 @@ +mesa (17.3.3-0ubuntu1) bionic; urgency=medium + + * New upstream release. + * patches: Drop upstreamed patch, refresh egl-platform-mir.patch. + * rules: Fix disabling omx. + * libgbm1.symbols: Updated. + + -- Timo Aaltonen Fri, 26 Jan 2018 14:45:02 +0200 + mesa (17.2.4-0ubuntu2) bionic; urgency=medium * Import changes from 17.2.2-0ubuntu2 diff -Nru mesa-17.2.4/debian/libgbm1.symbols mesa-17.3.3/debian/libgbm1.symbols --- mesa-17.2.4/debian/libgbm1.symbols 2018-02-01 16:17:31.000000000 +0000 +++ mesa-17.3.3/debian/libgbm1.symbols 2018-02-01 16:17:32.000000000 +0000 @@ -3,6 +3,7 @@ gbm_bo_create@Base 7.11~1 gbm_bo_create_with_modifiers@Base 17.1.0~rc2 gbm_bo_destroy@Base 7.11~1 + gbm_bo_get_bpp@Base 17.3.0~rc1 gbm_bo_get_device@Base 8.1~0 gbm_bo_get_fd@Base 10.2~0 gbm_bo_get_format@Base 8.1~0 @@ -25,6 +26,7 @@ gbm_device_destroy@Base 7.11~1 gbm_device_get_backend_name@Base 7.11~1 gbm_device_get_fd@Base 7.11~1 + gbm_device_get_format_modifier_plane_count@Base 17.3.0~rc1 gbm_device_is_format_supported@Base 8.1~0 gbm_surface_create@Base 8.1~0 gbm_surface_create_with_modifiers@Base 17.1.0~rc2 diff -Nru mesa-17.2.4/debian/patches/egl-platform-mir.patch mesa-17.3.3/debian/patches/egl-platform-mir.patch --- mesa-17.2.4/debian/patches/egl-platform-mir.patch 2018-02-01 16:17:31.000000000 +0000 +++ mesa-17.3.3/debian/patches/egl-platform-mir.patch 2018-02-01 16:17:32.000000000 +0000 @@ -1,8 +1,8 @@ Index: mesa/configure.ac =================================================================== ---- mesa.orig/configure.ac 2017-08-10 16:37:31.970030645 +1000 -+++ mesa/configure.ac 2017-08-10 17:18:19.000000000 +1000 -@@ -1723,7 +1723,9 @@ +--- mesa.orig/configure.ac 2018-01-12 09:56:39.850593962 +1100 ++++ mesa/configure.ac 2018-01-12 10:34:15.000000000 +1100 +@@ -1744,7 +1744,9 @@ PKG_CHECK_MODULES([ANDROID], [cutils hardware sync]) DEFINES="$DEFINES -DHAVE_ANDROID_PLATFORM" ;; @@ -13,7 +13,7 @@ *) AC_MSG_ERROR([platform '$plat' does not exist]) ;; -@@ -1754,6 +1756,7 @@ +@@ -1775,6 +1777,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_DRM, echo "$platforms" | grep -q 'drm') AM_CONDITIONAL(HAVE_PLATFORM_SURFACELESS, echo "$platforms" | grep -q 'surfaceless') AM_CONDITIONAL(HAVE_PLATFORM_ANDROID, echo "$platforms" | grep -q 'android') @@ -23,9 +23,9 @@ dnl More DRI setup Index: mesa/include/EGL/eglplatform.h =================================================================== ---- mesa.orig/include/EGL/eglplatform.h 2017-08-10 16:37:31.970030645 +1000 -+++ mesa/include/EGL/eglplatform.h 2017-08-10 17:18:19.000000000 +1000 -@@ -105,6 +105,13 @@ +--- mesa.orig/include/EGL/eglplatform.h 2018-01-12 09:56:39.850593962 +1100 ++++ mesa/include/EGL/eglplatform.h 2018-01-12 10:34:15.000000000 +1100 +@@ -104,6 +104,13 @@ typedef struct egl_native_pixmap_t* EGLNativePixmapType; typedef void* EGLNativeDisplayType; @@ -41,9 +41,9 @@ #if defined(MESA_EGL_NO_X11_HEADERS) Index: mesa/include/GL/internal/dri_interface.h =================================================================== ---- mesa.orig/include/GL/internal/dri_interface.h 2017-08-10 16:37:31.970030645 +1000 -+++ mesa/include/GL/internal/dri_interface.h 2017-08-10 16:37:31.966030819 +1000 -@@ -964,10 +964,12 @@ +--- mesa.orig/include/GL/internal/dri_interface.h 2018-01-12 09:56:39.850593962 +1100 ++++ mesa/include/GL/internal/dri_interface.h 2018-01-12 09:56:39.842594054 +1100 +@@ -981,10 +981,12 @@ unsigned int pitch; unsigned int cpp; unsigned int flags; @@ -52,16 +52,16 @@ }; #define __DRI_DRI2_LOADER "DRI_DRI2Loader" --#define __DRI_DRI2_LOADER_VERSION 3 -+#define __DRI_DRI2_LOADER_VERSION 4 - struct __DRIdri2LoaderExtensionRec { - __DRIextension base; +-#define __DRI_DRI2_LOADER_VERSION 4 ++#define __DRI_DRI2_LOADER_VERSION 5 + enum dri_loader_cap { + /* Whether the loader handles RGBA channel ordering correctly. If not, Index: mesa/src/egl/drivers/dri2/egl_dri2.c =================================================================== ---- mesa.orig/src/egl/drivers/dri2/egl_dri2.c 2017-08-10 16:37:31.970030645 +1000 -+++ mesa/src/egl/drivers/dri2/egl_dri2.c 2017-08-10 17:18:19.000000000 +1000 -@@ -858,6 +858,11 @@ +--- mesa.orig/src/egl/drivers/dri2/egl_dri2.c 2018-01-12 09:56:39.850593962 +1100 ++++ mesa/src/egl/drivers/dri2/egl_dri2.c 2018-01-12 10:34:15.000000000 +1100 +@@ -929,6 +929,11 @@ ret = dri2_initialize_wayland(drv, disp); break; #endif @@ -73,7 +73,7 @@ #ifdef HAVE_ANDROID_PLATFORM case _EGL_PLATFORM_ANDROID: ret = dri2_initialize_android(drv, disp); -@@ -936,6 +941,13 @@ +@@ -1006,6 +1011,13 @@ } break; #endif @@ -87,7 +87,7 @@ #ifdef HAVE_WAYLAND_PLATFORM case _EGL_PLATFORM_WAYLAND: if (dri2_dpy->wl_drm) -@@ -963,7 +975,8 @@ +@@ -1036,7 +1048,8 @@ * the ones from the gbm device. As such the gbm itself is responsible * for the cleanup. */ @@ -99,8 +99,8 @@ free(dri2_dpy->driver_configs); Index: mesa/src/egl/drivers/dri2/egl_dri2.h =================================================================== ---- mesa.orig/src/egl/drivers/dri2/egl_dri2.h 2017-08-10 16:37:31.970030645 +1000 -+++ mesa/src/egl/drivers/dri2/egl_dri2.h 2017-08-10 17:18:19.000000000 +1000 +--- mesa.orig/src/egl/drivers/dri2/egl_dri2.h 2018-01-12 09:56:39.850593962 +1100 ++++ mesa/src/egl/drivers/dri2/egl_dri2.h 2018-01-12 10:34:15.000000000 +1100 @@ -65,6 +65,10 @@ #endif /* HAVE_ANDROID_PLATFORM */ @@ -112,7 +112,7 @@ #include "eglconfig.h" #include "eglcontext.h" #include "egldisplay.h" -@@ -234,6 +238,9 @@ +@@ -227,6 +231,9 @@ bool is_render_node; bool is_different_gpu; @@ -122,16 +122,16 @@ }; struct dri2_egl_context -@@ -283,7 +290,7 @@ - struct gbm_dri_surface *gbm_surf; - #endif +@@ -279,7 +286,7 @@ + /* EGL-owned buffers */ + __DRIbuffer *local_buffers[__DRI_BUFFER_COUNT]; -#if defined(HAVE_WAYLAND_PLATFORM) || defined(HAVE_DRM_PLATFORM) +#if defined(HAVE_WAYLAND_PLATFORM) || defined(HAVE_DRM_PLATFORM) || defined(HAVE_MIR_PLATFORM) - __DRIbuffer *dri_buffers[__DRI_BUFFER_COUNT]; struct { #ifdef HAVE_WAYLAND_PLATFORM -@@ -295,9 +302,13 @@ + struct wl_buffer *wl_buffer; +@@ -290,9 +297,13 @@ void *data; int data_size; #endif @@ -146,10 +146,10 @@ bool locked; int age; } color_buffers[4], *back, *current; -@@ -326,6 +337,10 @@ - __DRIimage *front; - unsigned int visual; +@@ -320,6 +331,10 @@ #endif + int out_fence_fd; + EGLBoolean enable_out_fence; + +#ifdef HAVE_MIR_PLATFORM + MirMesaEGLNativeSurface *mir_surf; @@ -157,7 +157,7 @@ }; struct dri2_egl_config -@@ -417,6 +432,9 @@ +@@ -414,6 +429,9 @@ EGLBoolean dri2_initialize_surfaceless(_EGLDriver *drv, _EGLDisplay *disp); @@ -170,7 +170,7 @@ Index: mesa/src/egl/drivers/dri2/platform_mir.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ mesa/src/egl/drivers/dri2/platform_mir.c 2017-08-10 17:20:55.133969688 +1000 ++++ mesa/src/egl/drivers/dri2/platform_mir.c 2018-01-12 10:32:15.670526441 +1100 @@ -0,0 +1,633 @@ +/* + * Copyright © 2012 Canonical, Inc @@ -227,29 +227,29 @@ + assert(attachments[i] < __DRI_BUFFER_COUNT); + assert((i/2) < ARRAY_SIZE(dri2_surf->buffers)); + -+ if (dri2_surf->dri_buffers[attachments[i]] == NULL) { ++ if (dri2_surf->local_buffers[attachments[i]] == NULL) { + /* Our frame callback must keep these buffers valid */ + assert(attachments[i] != __DRI_BUFFER_FRONT_LEFT); + assert(attachments[i] != __DRI_BUFFER_BACK_LEFT); + -+ dri2_surf->dri_buffers[attachments[i]] = ++ dri2_surf->local_buffers[attachments[i]] = + dri2_dpy->dri2->allocateBuffer(dri2_dpy->dri_screen, + attachments[i], attachments[i+1], + dri2_surf->base.Width, dri2_surf->base.Height); + -+ if (!dri2_surf->dri_buffers[attachments[i]]) { ++ if (!dri2_surf->local_buffers[attachments[i]]) { + _eglError(EGL_BAD_ALLOC, "failed to allocate auxiliary buffer"); + return NULL; + } + } + + memcpy(&dri2_surf->buffers[i/2], -+ dri2_surf->dri_buffers[attachments[i]], ++ dri2_surf->local_buffers[attachments[i]], + sizeof(__DRIbuffer)); + } + + assert(dri2_surf->base.Type == EGL_PIXMAP_BIT || -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]); ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]); + + *out_count = i/2; + if (i == 0) @@ -479,9 +479,9 @@ + + dri2_surf->back = &dri2_surf->color_buffers[buf_slot]; + dri2_surf->back->buffer_age = buffer_package.age; -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]->name = 0; -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]->fd = buffer_package.fd[0]; -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]->pitch = buffer_package.stride; ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->name = 0; ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->fd = buffer_package.fd[0]; ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->pitch = buffer_package.stride; + return EGL_TRUE; +} + @@ -517,15 +517,15 @@ + dri2_surf->base.Width = win_params.width; + dri2_surf->base.Height = win_params.height; + -+ dri2_surf->dri_buffers[__DRI_BUFFER_FRONT_LEFT] = -+ calloc(sizeof(*dri2_surf->dri_buffers[0]), 1); -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT] = -+ calloc(sizeof(*dri2_surf->dri_buffers[0]), 1); ++ dri2_surf->local_buffers[__DRI_BUFFER_FRONT_LEFT] = ++ calloc(sizeof(*dri2_surf->local_buffers[0]), 1); ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT] = ++ calloc(sizeof(*dri2_surf->local_buffers[0]), 1); + -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]->attachment = ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->attachment = + __DRI_BUFFER_BACK_LEFT; + /* We only do ARGB 8888 for the moment */ -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]->cpp = 4; ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->cpp = 4; + + clear_cached_buffers(dri2_surf); + @@ -596,14 +596,14 @@ + (*dri2_dpy->core->destroyDrawable)(dri2_surf->dri_drawable); + + for (i = 0; i < __DRI_BUFFER_COUNT; ++i) { -+ if (dri2_surf->dri_buffers[i]) { ++ if (dri2_surf->local_buffers[i]) { + if ((i == __DRI_BUFFER_FRONT_LEFT) || + (i == __DRI_BUFFER_BACK_LEFT)) { -+ free(dri2_surf->dri_buffers[i]); ++ free(dri2_surf->local_buffers[i]); + } + else { + dri2_dpy->dri2->releaseBuffer(dri2_dpy->dri_screen, -+ dri2_surf->dri_buffers[i]); ++ dri2_surf->local_buffers[i]); + } + } + } @@ -807,8 +807,8 @@ +} Index: mesa/src/egl/main/egldisplay.c =================================================================== ---- mesa.orig/src/egl/main/egldisplay.c 2017-08-10 16:37:31.970030645 +1000 -+++ mesa/src/egl/main/egldisplay.c 2017-08-10 17:18:19.000000000 +1000 +--- mesa.orig/src/egl/main/egldisplay.c 2018-01-12 09:56:39.850593962 +1100 ++++ mesa/src/egl/main/egldisplay.c 2018-01-12 10:34:15.000000000 +1100 @@ -55,7 +55,10 @@ #ifdef HAVE_DRM_PLATFORM #include @@ -907,8 +907,8 @@ if (detected_platform == _EGL_INVALID_PLATFORM) { Index: mesa/src/egl/main/egldisplay.h =================================================================== ---- mesa.orig/src/egl/main/egldisplay.h 2017-08-10 16:37:31.970030645 +1000 -+++ mesa/src/egl/main/egldisplay.h 2017-08-10 17:18:19.000000000 +1000 +--- mesa.orig/src/egl/main/egldisplay.h 2018-01-12 09:56:39.850593962 +1100 ++++ mesa/src/egl/main/egldisplay.h 2018-01-12 10:34:15.000000000 +1100 @@ -50,6 +50,7 @@ _EGL_PLATFORM_ANDROID, _EGL_PLATFORM_HAIKU, @@ -919,9 +919,9 @@ _EGL_INVALID_PLATFORM = -1 Index: mesa/src/gallium/state_trackers/dri/dri2.c =================================================================== ---- mesa.orig/src/gallium/state_trackers/dri/dri2.c 2017-08-10 16:37:31.970030645 +1000 -+++ mesa/src/gallium/state_trackers/dri/dri2.c 2017-08-10 16:37:31.970030645 +1000 -@@ -707,13 +707,21 @@ +--- mesa.orig/src/gallium/state_trackers/dri/dri2.c 2018-01-12 09:56:39.850593962 +1100 ++++ mesa/src/gallium/state_trackers/dri/dri2.c 2018-01-12 09:56:39.846594007 +1100 +@@ -719,13 +719,21 @@ templ.height0 = dri_drawable->h; templ.format = format; templ.bind = bind; @@ -949,9 +949,9 @@ &templ, &whandle, Index: mesa/src/gbm/backends/dri/gbm_dri.c =================================================================== ---- mesa.orig/src/gbm/backends/dri/gbm_dri.c 2017-08-10 16:37:31.970030645 +1000 -+++ mesa/src/gbm/backends/dri/gbm_dri.c 2017-08-10 16:37:31.970030645 +1000 -@@ -214,7 +214,7 @@ +--- mesa.orig/src/gbm/backends/dri/gbm_dri.c 2018-01-12 09:56:39.850593962 +1100 ++++ mesa/src/gbm/backends/dri/gbm_dri.c 2018-01-12 09:56:39.846594007 +1100 +@@ -215,7 +215,7 @@ }; static const __DRIdri2LoaderExtension dri2_loader_extension = { @@ -962,9 +962,9 @@ .flushFrontBuffer = dri_flush_front_buffer, Index: mesa/src/egl/Makefile.am =================================================================== ---- mesa.orig/src/egl/Makefile.am 2017-08-10 16:37:31.970030645 +1000 -+++ mesa/src/egl/Makefile.am 2017-08-10 17:18:19.000000000 +1000 -@@ -104,6 +104,12 @@ +--- mesa.orig/src/egl/Makefile.am 2018-01-12 09:56:39.850593962 +1100 ++++ mesa/src/egl/Makefile.am 2018-01-12 10:34:15.000000000 +1100 +@@ -108,6 +108,12 @@ dri2_backend_FILES += drivers/dri2/platform_android.c endif diff -Nru mesa-17.2.4/debian/patches/egl-platform-rs.patch mesa-17.3.3/debian/patches/egl-platform-rs.patch --- mesa-17.2.4/debian/patches/egl-platform-rs.patch 2018-02-01 16:17:31.000000000 +0000 +++ mesa-17.3.3/debian/patches/egl-platform-rs.patch 2018-02-01 16:17:32.000000000 +0000 @@ -1,7 +1,7 @@ Index: mesa/configure.ac =================================================================== ---- mesa.orig/configure.ac 2017-08-10 16:08:00.456139559 +1000 -+++ mesa/configure.ac 2017-08-10 16:08:00.452139468 +1000 +--- mesa.orig/configure.ac 2018-01-12 10:34:19.529583858 +1100 ++++ mesa/configure.ac 2018-01-12 10:34:19.525583889 +1100 @@ -98,6 +98,7 @@ PYTHON_MAKO_REQUIRED=0.8.0 LIBSENSORS_REQUIRED=4.0.0 @@ -10,7 +10,7 @@ dnl LLVM versions LLVM_REQUIRED_GALLIUM=3.3.0 -@@ -1726,6 +1727,9 @@ +@@ -1747,6 +1748,9 @@ mir) PKG_CHECK_MODULES([MIR], [mirclient mir-client-platform-mesa]) ;; @@ -20,7 +20,7 @@ *) AC_MSG_ERROR([platform '$plat' does not exist]) ;; -@@ -1757,6 +1761,7 @@ +@@ -1778,6 +1782,7 @@ AM_CONDITIONAL(HAVE_PLATFORM_SURFACELESS, echo "$platforms" | grep -q 'surfaceless') AM_CONDITIONAL(HAVE_PLATFORM_ANDROID, echo "$platforms" | grep -q 'android') AM_CONDITIONAL(HAVE_PLATFORM_MIR, echo "$platforms" | grep -q 'mir') @@ -30,9 +30,9 @@ dnl More DRI setup Index: mesa/include/EGL/eglplatform.h =================================================================== ---- mesa.orig/include/EGL/eglplatform.h 2017-08-10 16:08:00.456139559 +1000 -+++ mesa/include/EGL/eglplatform.h 2017-08-10 16:08:00.452139468 +1000 -@@ -112,6 +112,13 @@ +--- mesa.orig/include/EGL/eglplatform.h 2018-01-12 10:34:19.529583858 +1100 ++++ mesa/include/EGL/eglplatform.h 2018-01-12 10:34:19.525583889 +1100 +@@ -111,6 +111,13 @@ typedef void *EGLNativePixmapType; typedef MirEGLNativeWindowType EGLNativeWindowType; @@ -48,9 +48,9 @@ #if defined(MESA_EGL_NO_X11_HEADERS) Index: mesa/src/egl/Makefile.am =================================================================== ---- mesa.orig/src/egl/Makefile.am 2017-08-10 16:08:00.456139559 +1000 -+++ mesa/src/egl/Makefile.am 2017-08-10 16:08:00.452139468 +1000 -@@ -110,6 +110,13 @@ +--- mesa.orig/src/egl/Makefile.am 2018-01-12 10:34:19.529583858 +1100 ++++ mesa/src/egl/Makefile.am 2018-01-12 10:34:19.525583889 +1100 +@@ -114,6 +114,13 @@ dri2_backend_FILES += drivers/dri2/platform_mir.c endif @@ -66,9 +66,9 @@ -I$(top_builddir)/src/egl/drivers/dri2 \ Index: mesa/src/egl/drivers/dri2/egl_dri2.c =================================================================== ---- mesa.orig/src/egl/drivers/dri2/egl_dri2.c 2017-08-10 16:08:00.456139559 +1000 -+++ mesa/src/egl/drivers/dri2/egl_dri2.c 2017-08-10 16:08:00.452139468 +1000 -@@ -868,6 +868,11 @@ +--- mesa.orig/src/egl/drivers/dri2/egl_dri2.c 2018-01-12 10:34:19.529583858 +1100 ++++ mesa/src/egl/drivers/dri2/egl_dri2.c 2018-01-12 10:34:19.525583889 +1100 +@@ -939,6 +939,11 @@ ret = dri2_initialize_android(drv, disp); break; #endif @@ -80,7 +80,7 @@ default: _eglLog(_EGL_WARNING, "No EGL platform enabled."); return EGL_FALSE; -@@ -941,6 +946,13 @@ +@@ -1011,6 +1016,13 @@ } break; #endif @@ -94,7 +94,7 @@ #ifdef HAVE_MIR_PLATFORM case _EGL_PLATFORM_MIR: if (dri2_dpy->own_device) { -@@ -976,7 +988,9 @@ +@@ -1049,7 +1061,9 @@ * for the cleanup. */ if (disp->Platform != _EGL_PLATFORM_DRM && @@ -107,8 +107,8 @@ free(dri2_dpy->driver_configs); Index: mesa/src/egl/drivers/dri2/egl_dri2.h =================================================================== ---- mesa.orig/src/egl/drivers/dri2/egl_dri2.h 2017-08-10 16:08:00.456139559 +1000 -+++ mesa/src/egl/drivers/dri2/egl_dri2.h 2017-08-10 16:08:00.452139468 +1000 +--- mesa.orig/src/egl/drivers/dri2/egl_dri2.h 2018-01-12 10:34:19.529583858 +1100 ++++ mesa/src/egl/drivers/dri2/egl_dri2.h 2018-01-12 10:34:19.525583889 +1100 @@ -69,6 +69,10 @@ #include #endif @@ -120,7 +120,7 @@ #include "eglconfig.h" #include "eglcontext.h" #include "egldisplay.h" -@@ -241,6 +245,11 @@ +@@ -234,6 +238,11 @@ #ifdef HAVE_MIR_PLATFORM MirMesaEGLNativeDisplay *mir_disp; #endif @@ -132,7 +132,7 @@ }; struct dri2_egl_context -@@ -302,10 +311,10 @@ +@@ -297,10 +306,10 @@ void *data; int data_size; #endif @@ -145,7 +145,7 @@ int fd; int buffer_age; #endif -@@ -333,6 +342,10 @@ +@@ -325,6 +334,10 @@ } color_buffers[3], *back; #endif @@ -156,7 +156,7 @@ #if defined(HAVE_SURFACELESS_PLATFORM) __DRIimage *front; unsigned int visual; -@@ -435,6 +448,9 @@ +@@ -432,6 +445,9 @@ EGLBoolean dri2_initialize_mir(_EGLDriver *drv, _EGLDisplay *disp); @@ -169,7 +169,7 @@ Index: mesa/src/egl/drivers/dri2/platform_rs.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ mesa/src/egl/drivers/dri2/platform_rs.c 2017-08-10 16:37:18.982594770 +1000 ++++ mesa/src/egl/drivers/dri2/platform_rs.c 2018-01-12 10:34:39.477433388 +1100 @@ -0,0 +1,964 @@ +/* + * Copyright © 2016 Canonical, Inc @@ -440,7 +440,7 @@ + if (sc->state[i] == buffer_state_acquired) + { + int buffer_fd = sc->gbm_buffer_ext->fd(sc->buffers[i]); -+ if (buffer_fd == dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]->fd) ++ if (buffer_fd == dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->fd) + { +// _eglLog(_EGL_DEBUG, "..submitting buffer %p", sc->buffers[i]); + sc->state[i] = buffer_state_submitted; @@ -545,9 +545,9 @@ + + dri2_surf->back = &dri2_surf->color_buffers[buf_slot]; + dri2_surf->back->buffer_age = buffer_age; -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]->name = 0; -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]->fd = buffer_fd; -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]->pitch = buffer_stride; ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->name = 0; ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->fd = buffer_fd; ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->pitch = buffer_stride; + + return EGL_TRUE; +} @@ -646,15 +646,15 @@ + dri2_surf->base.Width = width; + dri2_surf->base.Height = height; + -+ dri2_surf->dri_buffers[__DRI_BUFFER_FRONT_LEFT] = -+ calloc(sizeof(*dri2_surf->dri_buffers[0]), 1); -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT] = -+ calloc(sizeof(*dri2_surf->dri_buffers[0]), 1); ++ dri2_surf->local_buffers[__DRI_BUFFER_FRONT_LEFT] = ++ calloc(sizeof(*dri2_surf->local_buffers[0]), 1); ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT] = ++ calloc(sizeof(*dri2_surf->local_buffers[0]), 1); + -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]->attachment = ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->attachment = + __DRI_BUFFER_BACK_LEFT; + -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]->cpp = get_format_bpp(sc->format); ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->cpp = get_format_bpp(sc->format); + + clear_cached_buffers(dri2_surf); + @@ -724,14 +724,14 @@ + (*dri2_dpy->core->destroyDrawable)(dri2_surf->dri_drawable); + + for (i = 0; i < __DRI_BUFFER_COUNT; ++i) { -+ if (dri2_surf->dri_buffers[i]) { ++ if (dri2_surf->local_buffers[i]) { + if ((i == __DRI_BUFFER_FRONT_LEFT) || + (i == __DRI_BUFFER_BACK_LEFT)) { -+ free(dri2_surf->dri_buffers[i]); ++ free(dri2_surf->local_buffers[i]); + } + else { + dri2_dpy->dri2->releaseBuffer(dri2_dpy->dri_screen, -+ dri2_surf->dri_buffers[i]); ++ dri2_surf->local_buffers[i]); + } + } + } @@ -861,29 +861,29 @@ + assert(attachments[i] < __DRI_BUFFER_COUNT); + assert((i/2) < ARRAY_SIZE(dri2_surf->buffers)); + -+ if (dri2_surf->dri_buffers[attachments[i]] == NULL) { ++ if (dri2_surf->local_buffers[attachments[i]] == NULL) { + /* Our frame callback must keep these buffers valid */ + assert(attachments[i] != __DRI_BUFFER_FRONT_LEFT); + assert(attachments[i] != __DRI_BUFFER_BACK_LEFT); + -+ dri2_surf->dri_buffers[attachments[i]] = ++ dri2_surf->local_buffers[attachments[i]] = + dri2_dpy->dri2->allocateBuffer(dri2_dpy->dri_screen, + attachments[i], attachments[i+1], + dri2_surf->base.Width, dri2_surf->base.Height); + -+ if (!dri2_surf->dri_buffers[attachments[i]]) { ++ if (!dri2_surf->local_buffers[attachments[i]]) { + _eglError(EGL_BAD_ALLOC, "Failed to allocate auxiliary buffer"); + return NULL; + } + } + + memcpy(&dri2_surf->buffers[(i/2)], -+ dri2_surf->dri_buffers[attachments[i]], ++ dri2_surf->local_buffers[attachments[i]], + sizeof(__DRIbuffer)); + } + + assert(dri2_surf->base.Type == EGL_PIXMAP_BIT || -+ dri2_surf->dri_buffers[__DRI_BUFFER_BACK_LEFT]); ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]); + + *out_count = i/2; + if (i == 0) @@ -1137,8 +1137,8 @@ +} Index: mesa/src/egl/main/egldisplay.c =================================================================== ---- mesa.orig/src/egl/main/egldisplay.c 2017-08-10 16:08:00.456139559 +1000 -+++ mesa/src/egl/main/egldisplay.c 2017-08-10 16:37:05.000000000 +1000 +--- mesa.orig/src/egl/main/egldisplay.c 2018-01-12 10:34:19.529583858 +1100 ++++ mesa/src/egl/main/egldisplay.c 2018-01-12 10:34:19.525583889 +1100 @@ -59,6 +59,9 @@ #include #include @@ -1173,8 +1173,8 @@ return _EGL_PLATFORM_MIR; Index: mesa/src/egl/main/egldisplay.h =================================================================== ---- mesa.orig/src/egl/main/egldisplay.h 2017-08-10 16:08:00.456139559 +1000 -+++ mesa/src/egl/main/egldisplay.h 2017-08-10 16:37:05.000000000 +1000 +--- mesa.orig/src/egl/main/egldisplay.h 2018-01-12 10:34:19.529583858 +1100 ++++ mesa/src/egl/main/egldisplay.h 2018-01-12 10:34:19.525583889 +1100 @@ -51,6 +51,7 @@ _EGL_PLATFORM_HAIKU, _EGL_PLATFORM_SURFACELESS, diff -Nru mesa-17.2.4/debian/patches/i965-disable-l3-cache-alloc-for-ext-buffers.diff mesa-17.3.3/debian/patches/i965-disable-l3-cache-alloc-for-ext-buffers.diff --- mesa-17.2.4/debian/patches/i965-disable-l3-cache-alloc-for-ext-buffers.diff 2018-02-01 16:17:31.000000000 +0000 +++ mesa-17.3.3/debian/patches/i965-disable-l3-cache-alloc-for-ext-buffers.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,167 +0,0 @@ -Subject: [PATCH] i965: Disable L3 cache allocation for external buffers -From: Chris Wilson -Date: 24.10.2017 19:06 - -Through the use of mocs, we can define the cache usage for any surface -used by the GPU. In particular, we can request that L3 cache be -allocated for either a read/write miss so that subsequent reads can be -fetched from cache rather than memory. A consequence of this is that if -we allocate a L3/LLC cacheline for a read and the object is changed in -main memory (e.g. a PCIe write bypassing the CPU) then the next read -will be serviced from the stale cache and not from the new data in -memory. This is an issue for external PRIME buffers where we may miss -the updates entirely if the image is small enough to fit within our -cache. - -Currently, we have a single bit to mark all external buffers so use that -to tell us when it is unsafe to use a cache override in mocs and -fallback to the PTE value instead (which should be set to the correct -cache level to be coherent amongst all active parties: PRIME, scanout and -render). This may be refined in future to limit the override to buffers -outside the control of mesa; as buffers being shared between mesa -clients should be able to coordinate themselves without resolves. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101691 -Cc: Kenneth Graunke -Cc: Jason Ekstrand -Cc: Lyude Paul -Cc: Timo Aalton -Cc: Ben Widawsky -Cc: Daniel Vetter ---- - src/intel/blorp/blorp.c | 1 + - src/intel/blorp/blorp.h | 1 + - src/intel/blorp/blorp_genX_exec.h | 2 +- - src/intel/blorp/blorp_priv.h | 1 + - src/mesa/drivers/dri/i965/brw_blorp.c | 1 + - src/mesa/drivers/dri/i965/brw_state.h | 3 ++- - src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 16 +++++++++++----- - 7 files changed, 18 insertions(+), 7 deletions(-) - ---- a/src/intel/blorp/blorp.c -+++ b/src/intel/blorp/blorp.c -@@ -71,6 +71,7 @@ brw_blorp_surface_info_init(struct blorp - surf->surf->logical_level0_px.array_len)); - - info->enabled = true; -+ info->external = surf->external; - - if (format == ISL_FORMAT_UNSUPPORTED) - format = surf->surf->format; ---- a/src/intel/blorp/blorp.h -+++ b/src/intel/blorp/blorp.h -@@ -107,6 +107,7 @@ struct blorp_surf - enum isl_aux_usage aux_usage; - - union isl_color_value clear_color; -+ bool external; - }; - - void ---- a/src/intel/blorp/blorp_genX_exec.h -+++ b/src/intel/blorp/blorp_genX_exec.h -@@ -1328,7 +1328,7 @@ blorp_emit_surface_states(struct blorp_b - blorp_emit_surface_state(batch, ¶ms->src, - surface_maps[BLORP_TEXTURE_BT_INDEX], - surface_offsets[BLORP_TEXTURE_BT_INDEX], -- NULL, false); -+ NULL, params->src.external); - } - } - ---- a/src/intel/blorp/blorp_priv.h -+++ b/src/intel/blorp/blorp_priv.h -@@ -47,6 +47,7 @@ enum { - struct brw_blorp_surface_info - { - bool enabled; -+ bool external; - - struct isl_surf surf; - struct blorp_address addr; ---- a/src/mesa/drivers/dri/i965/brw_blorp.c -+++ b/src/mesa/drivers/dri/i965/brw_blorp.c -@@ -156,6 +156,7 @@ blorp_surf_for_miptree(struct brw_contex - I915_GEM_DOMAIN_SAMPLER, - .write_domain = is_render_target ? I915_GEM_DOMAIN_RENDER : 0, - }; -+ surf->external = mt->bo->external; - - surf->aux_usage = aux_usage; - ---- a/src/mesa/drivers/dri/i965/brw_state.h -+++ b/src/mesa/drivers/dri/i965/brw_state.h -@@ -360,6 +360,7 @@ void gen10_init_atoms(struct brw_context - * may still respect that. - */ - #define GEN7_MOCS_L3 1 -+#define GEN7_MOCS_PTE 0 - - /* Ivybridge only: cache in LLC. - * Specifying zero here means to use the PTE values set by the kernel; -@@ -385,7 +386,7 @@ void gen10_init_atoms(struct brw_context - */ - #define BDW_MOCS_WB 0x78 - #define BDW_MOCS_WT 0x58 --#define BDW_MOCS_PTE 0x18 -+#define BDW_MOCS_PTE 0x08 - - /* Skylake: MOCS is now an index into an array of 62 different caching - * configurations programmed by the kernel. ---- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c -+++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c -@@ -68,12 +68,17 @@ uint32_t tex_mocs[] = { - }; - - uint32_t rb_mocs[] = { -- [7] = GEN7_MOCS_L3, -+ [7] = GEN7_MOCS_PTE, - [8] = BDW_MOCS_PTE, - [9] = SKL_MOCS_PTE, - [10] = CNL_MOCS_PTE, - }; - -+static inline uint32_t get_tex_mocs(struct brw_bo *bo, unsigned int gen) -+{ -+ return (bo && bo->external ? rb_mocs : tex_mocs)[gen]; -+} -+ - static void - get_isl_surf(struct brw_context *brw, struct intel_mipmap_tree *mt, - GLenum target, struct isl_view *view, -@@ -589,7 +594,7 @@ brw_update_texture_surface(struct gl_con - aux_usage = ISL_AUX_USAGE_NONE; - - brw_emit_surface_state(brw, mt, mt->target, view, aux_usage, -- tex_mocs[brw->gen], -+ get_tex_mocs(mt->bo, brw->gen), - surf_offset, surf_index, - I915_GEM_DOMAIN_SAMPLER, 0); - } -@@ -615,7 +620,7 @@ brw_emit_buffer_surface_state(struct brw - .size = buffer_size, - .format = surface_format, - .stride = pitch, -- .mocs = tex_mocs[brw->gen]); -+ .mocs = get_tex_mocs(bo, brw->gen)); - - if (bo) { - brw_emit_reloc(&brw->batch, *out_offset + brw->isl_dev.ss.addr_offset, -@@ -1164,7 +1169,7 @@ update_renderbuffer_read_surfaces(struct - aux_usage = ISL_AUX_USAGE_NONE; - - brw_emit_surface_state(brw, irb->mt, target, view, aux_usage, -- tex_mocs[brw->gen], -+ get_tex_mocs(irb->mt->bo, brw->gen), - surf_offset, surf_index, - I915_GEM_DOMAIN_SAMPLER, 0); - -@@ -1657,7 +1662,7 @@ update_image_surface(struct brw_context - view.base_array_layer, - view.array_len)); - brw_emit_surface_state(brw, mt, mt->target, view, -- ISL_AUX_USAGE_NONE, tex_mocs[brw->gen], -+ ISL_AUX_USAGE_NONE, get_tex_mocs(mt->bo, brw->gen), - surf_offset, surf_index, - I915_GEM_DOMAIN_SAMPLER, - access == GL_READ_ONLY ? 0 : diff -Nru mesa-17.2.4/debian/patches/series mesa-17.3.3/debian/patches/series --- mesa-17.2.4/debian/patches/series 2018-02-01 16:17:31.000000000 +0000 +++ mesa-17.3.3/debian/patches/series 2018-02-01 16:17:32.000000000 +0000 @@ -5,4 +5,3 @@ egl-platform-mir.patch egl-platform-rs.patch khr_platform_mir.patch -i965-disable-l3-cache-alloc-for-ext-buffers.diff diff -Nru mesa-17.2.4/debian/rules mesa-17.3.3/debian/rules --- mesa-17.2.4/debian/rules 2018-02-01 16:17:31.000000000 +0000 +++ mesa-17.3.3/debian/rules 2018-02-01 16:17:32.000000000 +0000 @@ -133,7 +133,7 @@ --enable-shared-glapi \ --enable-texture-float \ --disable-xvmc \ - --disable-omx \ + --disable-omx-bellagio \ $(confflags_DIRECT_RENDERING) \ $(confflags_GBM) \ $(confflags_DRI3) \ diff -Nru mesa-17.2.4/docs/egl.html mesa-17.3.3/docs/egl.html --- mesa-17.2.4/docs/egl.html 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/egl.html 2018-01-18 21:30:28.000000000 +0000 @@ -130,16 +130,6 @@ runtime

-
EGL_DRIVER
-
- -

This variable specifies a full path to or the name of an EGL driver. It -forces the specified EGL driver to be loaded. It comes in handy when one wants -to test a specific driver. This variable is ignored for setuid/setgid -binaries.

- -
-
EGL_PLATFORM
diff -Nru mesa-17.2.4/docs/envvars.html mesa-17.3.3/docs/envvars.html --- mesa-17.2.4/docs/envvars.html 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/envvars.html 2018-01-18 21:30:28.000000000 +0000 @@ -29,12 +29,12 @@
  • LIBGL_DEBUG - If defined debug information will be printed to stderr. If set to 'verbose' additional information will be printed.
  • LIBGL_DRIVERS_PATH - colon-separated list of paths to search for DRI drivers -
  • LIBGL_ALWAYS_INDIRECT - forces an indirect rendering context/connection. -
  • LIBGL_ALWAYS_SOFTWARE - if set, always use software rendering -
  • LIBGL_NO_DRAWARRAYS - if set do not use DrawArrays GLX protocol (for debugging) +
  • LIBGL_ALWAYS_INDIRECT - if set to `true`, forces an indirect rendering context/connection. +
  • LIBGL_ALWAYS_SOFTWARE - if set to `true`, always use software rendering +
  • LIBGL_NO_DRAWARRAYS - if set to `true`, do not use DrawArrays GLX protocol (for debugging)
  • LIBGL_SHOW_FPS - print framerate to stdout based on the number of glXSwapBuffers calls per second. -
  • LIBGL_DRI3_DISABLE - disable DRI3 if set (the value does not matter) +
  • LIBGL_DRI3_DISABLE - disable DRI3 if set to `true`. @@ -46,7 +46,7 @@
  • MESA_NO_MMX - if set, disables Intel MMX optimizations
  • MESA_NO_3DNOW - if set, disables AMD 3DNow! optimizations
  • MESA_NO_SSE - if set, disables Intel SSE optimizations -
  • MESA_NO_ERROR - if set error checking is disabled as per KHR_no_error. +
  • MESA_NO_ERROR - if set to 1, error checking is disabled as per KHR_no_error. This will result in undefined behaviour for invalid use of the api, but can reduce CPU use for apps that are known to be error free.
  • MESA_DEBUG - if set, error messages are printed to stderr. For example, @@ -117,7 +117,7 @@ glGetString(GL_SHADING_LANGUAGE_VERSION). Valid values are integers, such as "130". Mesa will not really implement all the features of the given language version if it's higher than what's normally reported. (for developers only) -
  • MESA_GLSL_CACHE_DISABLE - if set, disables the GLSL shader cache +
  • MESA_GLSL_CACHE_DISABLE - if set to `true`, disables the GLSL shader cache
  • MESA_GLSL_CACHE_MAX_SIZE - if set, determines the maximum size of the on-disk cache of compiled GLSL programs. Should be set to a number optionally followed by 'K', 'M', or 'G' to specify a size in @@ -133,6 +133,8 @@ home directory.
  • MESA_GLSL - shading language compiler options
  • MESA_NO_MINMAX_CACHE - when set, the minmax index cache is globally disabled. +
  • MESA_SHADER_CAPTURE_PATH - see Capturing Shaders
  • +
  • MESA_SHADER_DUMP_PATH and MESA_SHADER_READ_PATH - see Experimenting with Shader Replacements
  • @@ -190,11 +192,13 @@
  • perfmon - emit messages about AMD_performance_monitor
  • pix - emit messages about pixel operations
  • prim - emit messages about drawing primitives
  • +
  • reemit - mark all state dirty on each draw call
  • sf - emit messages about the strips & fans unit (for old gens, includes the SF program)
  • shader_time - record how much GPU time is spent in each shader
  • spill_fs - force spilling of all registers in the scalar backend (useful to debug spilling code)
  • spill_vec4 - force spilling of all registers in the vec4 backend (useful to debug spilling code)
  • state - emit messages about state flag tracking
  • +
  • submit - emit batchbuffer usage statistics
  • sync - after sending each batch, emit a message and wait for that batch to finish rendering
  • tcs - dump shader assembly for tessellation control shaders
  • tes - dump shader assembly for tessellation evaluation shaders
  • @@ -240,7 +244,7 @@ Use kill -10 to toggle the hud as desired.
  • GALLIUM_HUD_DUMP_DIR - specifies a directory for writing the displayed hud values into files. -
  • GALLIUM_DRIVER - useful in combination with LIBGL_ALWAYS_SOFTWARE=1 for +
  • GALLIUM_DRIVER - useful in combination with LIBGL_ALWAYS_SOFTWARE=true for choosing one of the software renderers "softpipe", "llvmpipe" or "swr".
  • GALLIUM_LOG_FILE - specifies a file for logging all errors, warnings, etc. rather than stderr. diff -Nru mesa-17.2.4/docs/features.txt mesa-17.3.3/docs/features.txt --- mesa-17.2.4/docs/features.txt 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/features.txt 2018-01-18 21:30:28.000000000 +0000 @@ -131,7 +131,7 @@ GL_ARB_texture_buffer_object_rgb32 DONE (i965/gen6+, llvmpipe, softpipe, swr) GL_ARB_texture_cube_map_array DONE (i965/gen6+, nv50, llvmpipe, softpipe) GL_ARB_texture_gather DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr) - GL_ARB_texture_query_lod DONE (i965, nv50, softpipe) + GL_ARB_texture_query_lod DONE (i965, nv50, llvmpipe, softpipe) GL_ARB_transform_feedback2 DONE (i965/gen6+, nv50, llvmpipe, softpipe, swr) GL_ARB_transform_feedback3 DONE (i965/gen7+, llvmpipe, softpipe, swr) @@ -221,6 +221,22 @@ GL_KHR_robustness DONE (i965) GL_EXT_shader_integer_mix DONE (all drivers that support GLSL) +GL 4.6, GLSL 4.60 + + GL_ARB_gl_spirv in progress (Nicolai Hähnle, Ian Romanick) + GL_ARB_indirect_parameters DONE (i965/gen7+, nvc0, radeonsi) + GL_ARB_pipeline_statistics_query DONE (i965, nvc0, radeonsi, llvmpipe, softpipe, swr) + GL_ARB_polygon_offset_clamp DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, swr) + GL_ARB_shader_atomic_counter_ops DONE (i965/gen7+, nvc0, radeonsi, softpipe) + GL_ARB_shader_draw_parameters DONE (i965, nvc0, radeonsi) + GL_ARB_shader_group_vote DONE (i965, nvc0, radeonsi) + GL_ARB_spirv_extensions in progress (Nicolai Hähnle, Ian Romanick) + GL_ARB_texture_filter_anisotropic DONE (i965, nv50, nvc0, r600, radeonsi, softpipe (*), llvmpipe (*)) + GL_ARB_transform_feedback_overflow_query DONE (i965/gen6+, radeonsi, llvmpipe, softpipe) + GL_KHR_no_error started (Timothy Arceri) + +(*) softpipe and llvmpipe advertise 16x anisotropy but simply ignore the setting + These are the extensions cherry-picked to make GLES 3.1 GLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, radeonsi @@ -282,20 +298,14 @@ GL_ARB_compute_variable_group_size DONE (nvc0, radeonsi) GL_ARB_ES3_2_compatibility DONE (i965/gen8+) GL_ARB_fragment_shader_interlock not started - GL_ARB_gl_spirv not started GL_ARB_gpu_shader_int64 DONE (i965/gen8+, nvc0, radeonsi, softpipe, llvmpipe) - GL_ARB_indirect_parameters DONE (nvc0, radeonsi) GL_ARB_parallel_shader_compile not started, but Chia-I Wu did some related work in 2014 - GL_ARB_pipeline_statistics_query DONE (i965, nvc0, radeonsi, softpipe, swr) GL_ARB_post_depth_coverage DONE (i965) GL_ARB_robustness_isolation not started GL_ARB_sample_locations not started GL_ARB_seamless_cubemap_per_texture DONE (i965, nvc0, radeonsi, r600, softpipe, swr) - GL_ARB_shader_atomic_counter_ops DONE (i965/gen7+, nvc0, radeonsi, softpipe) GL_ARB_shader_ballot DONE (i965/gen8+, nvc0, radeonsi) GL_ARB_shader_clock DONE (i965/gen7+, nv50, nvc0, radeonsi) - GL_ARB_shader_draw_parameters DONE (i965, nvc0, radeonsi) - GL_ARB_shader_group_vote DONE (i965, nvc0, radeonsi) GL_ARB_shader_stencil_export DONE (i965/gen9+, radeonsi, softpipe, llvmpipe, swr) GL_ARB_shader_viewport_layer_array DONE (i965/gen6+, nvc0, radeonsi) GL_ARB_sparse_buffer DONE (radeonsi/CIK+) @@ -303,15 +313,19 @@ GL_ARB_sparse_texture2 not started GL_ARB_sparse_texture_clamp not started GL_ARB_texture_filter_minmax not started - GL_ARB_transform_feedback_overflow_query DONE (i965/gen6+) + GL_EXT_memory_object DONE (radeonsi) + GL_EXT_memory_object_fd DONE (radeonsi) + GL_EXT_memory_object_win32 not started + GL_EXT_semaphore not started + GL_EXT_semaphore_fd not started + GL_EXT_semaphore_win32 not started GL_KHR_blend_equation_advanced_coherent DONE (i965/gen9+) - GL_KHR_no_error started (Timothy Arceri) GL_KHR_texture_compression_astc_hdr DONE (i965/bxt) GL_KHR_texture_compression_astc_sliced_3d DONE (i965/gen9+) GL_OES_depth_texture_cube_map DONE (all drivers that support GLSL 1.30+) GL_OES_EGL_image DONE (all drivers) GL_OES_EGL_image_external_essl3 not started - GL_OES_required_internalformat not started - GLES2 extension based on OpenGL ES 3.0 feature + GL_OES_required_internalformat DONE (all drivers) GL_OES_surfaceless_context DONE (all drivers) GL_OES_texture_compression_astc DONE (core only) GL_OES_texture_float DONE (i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe) @@ -333,6 +347,47 @@ GL_ARB_shadow_ambient Superseded by GL_ARB_fragment_program GL_ARB_vertex_blend Superseded by GL_ARB_vertex_program +Vulkan 1.0 -- all DONE: anv, radv + +Khronos extensions that are not part of any Vulkan version: + VK_KHR_16bit_storage in progress (Alejandro) + VK_KHR_android_surface not started + VK_KHR_dedicated_allocation DONE (anv, radv) + VK_KHR_descriptor_update_template DONE (anv, radv) + VK_KHR_display not started + VK_KHR_display_swapchain not started + VK_KHR_external_fence not started + VK_KHR_external_fence_capabilities not started + VK_KHR_external_fence_fd not started + VK_KHR_external_fence_win32 not started + VK_KHR_external_memory DONE (anv, radv) + VK_KHR_external_memory_capabilities DONE (anv, radv) + VK_KHR_external_memory_fd DONE (anv, radv) + VK_KHR_external_memory_win32 not started + VK_KHR_external_semaphore DONE (radv) + VK_KHR_external_semaphore_capabilities DONE (radv) + VK_KHR_external_semaphore_fd DONE (radv) + VK_KHR_external_semaphore_win32 not started + VK_KHR_get_memory_requirements2 DONE (anv, radv) + VK_KHR_get_physical_device_properties2 DONE (anv, radv) + VK_KHR_get_surface_capabilities2 DONE (anv) + VK_KHR_incremental_present DONE (anv, radv) + VK_KHR_maintenance1 DONE (anv, radv) + VK_KHR_mir_surface not started + VK_KHR_push_descriptor DONE (anv, radv) + VK_KHR_sampler_mirror_clamp_to_edge DONE (anv, radv) + VK_KHR_shader_draw_parameters DONE (anv, radv) + VK_KHR_shared_presentable_image not started + VK_KHR_storage_buffer_storage_class DONE (anv, radv) + VK_KHR_surface DONE (anv, radv) + VK_KHR_swapchain DONE (anv, radv) + VK_KHR_variable_pointers DONE (anv, radv) + VK_KHR_wayland_surface DONE (anv, radv) + VK_KHR_win32_keyed_mutex not started + VK_KHR_win32_surface not started + VK_KHR_xcb_surface DONE (anv, radv) + VK_KHR_xlib_surface DONE (anv, radv) + A graphical representation of this information can be found at https://mesamatrix.net/ diff -Nru mesa-17.2.4/docs/helpwanted.html mesa-17.3.3/docs/helpwanted.html --- mesa-17.2.4/docs/helpwanted.html 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/helpwanted.html 2018-01-18 21:30:28.000000000 +0000 @@ -35,17 +35,8 @@ Enable gcc -Wstrict-aliasing=2 -fstrict-aliasing and track down aliasing issues in the code.
  • -Windows driver building, testing and maintenance. -Fixing MSVC builds. -
  • Contribute more tests to Piglit. -
  • -Automatic testing. - -It would be great if someone would set up an automated system for grabbing -the latest Mesa code and run tests (such as piglit) then report issues to -the mailing list.

    @@ -58,24 +49,16 @@

    -Driver specific To-Do lists: +Legacy Driver specific To-Do lists:

      -
    • - LLVMpipe - Software driver using LLVM for runtime code generation.
    • -
    • - radeonsi - Driver for AMD Southern Island.
    • r600g - Driver for ATI/AMD R600 - Northern Island.
    • r300g - Driver for ATI R300 - R500.
    • -
    • - i915g - Driver for Intel i915/i945.

    diff -Nru mesa-17.2.4/docs/index.html mesa-17.3.3/docs/index.html --- mesa-17.2.4/docs/index.html 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/index.html 2018-01-18 21:30:28.000000000 +0000 @@ -16,6 +16,61 @@

    News

    +

    October 19, 2017

    +

    +Mesa 17.2.3 is released. +This is a bug-fix release. +

    + +

    October 2, 2017

    +

    +Mesa 17.2.2 is released. +This is a bug-fix release. +

    + +

    September 25, 2017

    +

    +Mesa 17.1.10 is released. +This is a bug-fix release. +

    + +

    September 17, 2017

    +

    +Mesa 17.2.1 is released. +This is a bug-fix release. +

    + +

    September 8, 2017

    +

    +Mesa 17.1.9 is released. +This is a bug-fix release. +

    + +

    September 4, 2017

    +

    +Mesa 17.2.0 is released. This is a +new development release. See the release notes for more information +about the release. +

    + +

    August 28, 2017

    +

    +Mesa 17.1.8 is released. +This is a bug-fix release. +

    + +

    August 21, 2017

    +

    +Mesa 17.1.7 is released. +This is a bug-fix release. +

    + +

    August 7, 2017

    +

    +Mesa 17.1.6 is released. +This is a bug-fix release. +

    +

    July 14, 2017

    Mesa 17.1.5 is released. diff -Nru mesa-17.2.4/docs/libGL.txt mesa-17.3.3/docs/libGL.txt --- mesa-17.2.4/docs/libGL.txt 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/libGL.txt 2018-01-18 21:30:28.000000000 +0000 @@ -59,7 +59,7 @@ Indirect Rendering You can force indirect rendering mode by setting the LIBGL_ALWAYS_INDIRECT -environment variable. Hardware acceleration will not be used. +environment variable to `true`. Hardware acceleration will not be used. diff -Nru mesa-17.2.4/docs/llvmpipe.html mesa-17.3.3/docs/llvmpipe.html --- mesa-17.2.4/docs/llvmpipe.html 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/llvmpipe.html 2018-01-18 21:30:28.000000000 +0000 @@ -20,7 +20,7 @@ The Gallium llvmpipe driver is a software rasterizer that uses LLVM to do runtime code generation. Shaders, point/line/triangle rasterization and vertex processing are -implemented with LLVM IR which is translated to x86 or x86-64 machine +implemented with LLVM IR which is translated to x86, x86-64, or ppc64le machine code. Also, the driver is multithreaded to take advantage of multiple CPU cores (up to 8 at this time). @@ -32,18 +32,24 @@

    • -

      An x86 or amd64 processor; 64-bit mode recommended.

      + For x86 or amd64 processors, 64-bit mode is recommended. Support for SSE2 is strongly encouraged. Support for SSE3 and SSE4.1 will yield the most efficient code. The fewer features the CPU has the more - likely is that you run into underperforming, buggy, or incomplete code. + likely it is that you will run into underperforming, buggy, or incomplete code. +

      +

      + For ppc64le processors, use of the Altivec feature (the Vector + Facility) is recommended if supported; use of the VSX feature (the + Vector-Scalar Facility) is recommended if supported AND Mesa is + built with LLVM version 4.0 or later.

      See /proc/cpuinfo to know what your CPU supports.

    • -

      LLVM: version 3.4 recommended; 3.3 or later required.

      +

      Unless otherwise stated, LLVM version 3.4 is recommended; 3.3 or later is required.

      For Linux, on a recent Debian based distribution do:

      @@ -51,6 +57,12 @@ aptitude install llvm-dev

      + If you want development snapshot builds of LLVM for Debian and derived + distributions like Ubuntu, you can use the APT repository at apt.llvm.org, which are maintained by Debian's LLVM maintainer. +

      +

      For a RPM-based distribution do:

      @@ -228,8 +240,8 @@
       

    -Some of this tests can output results and benchmarks to a tab-separated-file -for posterior analysis, e.g.: +Some of these tests can output results and benchmarks to a tab-separated file +for later analysis, e.g.:

       build/linux-x86_64-debug/gallium/drivers/llvmpipe/lp_test_blend -o blend.tsv
    @@ -240,8 +252,8 @@
     
     
    • - When looking to this code by the first time start in lp_state_fs.c, and - then skim through the lp_bld_* functions called in there, and the comments + When looking at this code for the first time, start in lp_state_fs.c, and + then skim through the lp_bld_* functions called there, and the comments at the top of the lp_bld_*.c functions.
    • diff -Nru mesa-17.2.4/docs/release-calendar.html mesa-17.3.3/docs/release-calendar.html --- mesa-17.2.4/docs/release-calendar.html 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/release-calendar.html 2018-01-18 21:30:28.000000000 +0000 @@ -39,54 +39,73 @@ Notes -17.1 -2017-07-28 -17.1.6 -Emil Velikov +17.2 +2017-10-27 +17.2.4 +Andres Gomez -2017-08-11 -17.1.7 -Juan A. Suarez Romero +2017-11-10 +17.2.5 +Andres Gomez -2017-08-25 -17.1.8 +2017-11-24 +17.2.6 Andres Gomez -Final planned release for the 17.1 series + + + +2017-12-08 +17.2.7 +Emil Velikov +Final planned release for the 17.2 series + + +17.3 +2017-10-20 +17.3.0-rc1 +Emil Velikov + -17.2 -2017-07-21 -17.2.0-rc1 +2017-10-27 +17.3.0-rc2 Emil Velikov -2017-07-28 -17.2.0-rc2 +2017-11-03 +17.3.0-rc3 Emil Velikov -2017-08-04 -17.2.0-rc3 +2017-11-10 +17.3.0-rc4 Emil Velikov +May be promoted to 17.3.0 final + + +2017-11-24 +17.3.1 +Andres Gomez -2017-08-11 -17.2.0-rc4 +2017-12-08 +17.3.2 Emil Velikov -May be promoted to 17.2.0 final + -2017-08-25 -17.2.1 +2017-12-22 +17.3.3 Emil Velikov + diff -Nru mesa-17.2.4/docs/releasing.html mesa-17.3.3/docs/releasing.html --- mesa-17.2.4/docs/releasing.html 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/releasing.html 2018-01-18 21:30:28.000000000 +0000 @@ -428,6 +428,7 @@

      +	# Set MAKEFLAGS if you haven't already
       	git clean -fXd; git clean -nxd
       	read # quick cross check any outstanding files
       	export __version=`cat VERSION`
      @@ -436,9 +437,12 @@
       	chmod 755 -fR $__build_root; rm -rf $__build_root
       	mkdir -p $__build_root && cd $__build_root
       
      -	# For the distcheck, you may want to specify which LLVM to use:
      +	# For the native builds - such as distcheck, scons, sanity test, you
      +	# may want to specify which LLVM to use:
       	# export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config
      -	$__mesa_root/autogen.sh && make -j2 distcheck
      +
      +	# Do a full distcheck
      +	$__mesa_root/autogen.sh && make distcheck
       
       	# Build check the tarballs (scons, linux)
       	tar -xaf mesa-$__version.tar.xz && cd mesa-$__version
      @@ -446,27 +450,27 @@
       	cd .. && rm -rf mesa-$__version
       
       	# Build check the tarballs (scons, windows/mingw)
      -	# You may need to unset LLVM if you set it before:
      -	# unset LLVM_CONFIG
      +	# Temporary drop LLVM_CONFIG, unless you have a Windows/mingw one.
      +	# save_LLVM_CONFIG=`echo $LLVM_CONFIG`; unset LLVM_CONFIG
       	tar -xaf mesa-$__version.tar.xz && cd mesa-$__version
       	scons platform=windows toolchain=crossmingw
       	cd .. && rm -rf mesa-$__version
       
       	# Test the automake binaries
       	tar -xaf mesa-$__version.tar.xz && cd mesa-$__version
      -	# You may want to specify which LLVM to use:
      +	# Restore LLVM_CONFIG, if applicable:
      +	# export LLVM_CONFIG=`echo $save_LLVM_CONFIG`; unset save_LLVM_CONFIG
       	./configure \
       		--with-dri-drivers=i965,swrast \
       		--with-gallium-drivers=swrast \
       		--with-vulkan-drivers=intel \
       		--enable-llvm-shared-libs \
       		--enable-llvm \
      -		--with-llvm-prefix=/usr/lib/llvm-3.9 \
       		--enable-glx-tls \
       		--enable-gbm \
       		--enable-egl \
       		--with-platforms=x11,drm,wayland,surfaceless
      -	make -j2 && DESTDIR=`pwd`/test make -j6 install
      +	make && DESTDIR=`pwd`/test make install
       	__glxinfo_cmd='glxinfo 2>&1 | egrep -o "Mesa.*|Gallium.*|.*dri\.so"'
       	__glxgears_cmd='glxgears 2>&1 | grep -v "configuration file"'
       	__es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
      @@ -479,12 +483,12 @@
       	eval $__glxgears_cmd
       	eval $__es2info_cmd
       	eval $__es2gears_cmd
      -	export LIBGL_ALWAYS_SOFTWARE=1
      +	export LIBGL_ALWAYS_SOFTWARE=true
       	eval $__glxinfo_cmd
       	eval $__glxgears_cmd
       	eval $__es2info_cmd
       	eval $__es2gears_cmd
      -	export LIBGL_ALWAYS_SOFTWARE=1
      +	export LIBGL_ALWAYS_SOFTWARE=true
       	export GALLIUM_DRIVER=softpipe
       	eval $__glxinfo_cmd
       	eval $__glxgears_cmd
      diff -Nru mesa-17.2.4/docs/relnotes/17.1.10.html mesa-17.3.3/docs/relnotes/17.1.10.html
      --- mesa-17.2.4/docs/relnotes/17.1.10.html	1970-01-01 00:00:00.000000000 +0000
      +++ mesa-17.3.3/docs/relnotes/17.1.10.html	2018-01-18 21:30:28.000000000 +0000
      @@ -0,0 +1,155 @@
      +
      +
      +
      +  
      +  Mesa Release Notes
      +  
      +
      +
      +
      +
      +

      The Mesa 3D Graphics Library

      +
      + + +
      + +

      Mesa 17.1.10 Release Notes / September 25, 2017

      + +

      +Mesa 17.1.10 is a bug fix release which fixes bugs found since the 17.1.9 release. +

      +

      +Mesa 17.1.10 implements the OpenGL 4.5 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.5. OpenGL +4.5 is only available if requested at context creation +because compatibility contexts are not supported. +

      + + +

      SHA256 checksums

      +
      +a48ce6b643a728b2b0f926151930525b3670fbff1fb688527fd9051eab9f30a4  mesa-17.1.10.tar.gz
      +cbc0d681cc4df47d8deb5a36f45b420978128522fd665b2cd4c7096316f11bdb  mesa-17.1.10.tar.xz
      +
      + + +

      New features

      +

      None

      + + +

      Bug fixes

      +
        + +
      • Bug 102844 - memory leak with glDeleteProgram for shader program type GL_COMPUTE_SHADER
      • + +
      + + +

      Changes

      + +

      Alexandre Demers (1):

      +
        +
      • osmesa: link with libunwind if enabled (v2)
      • +
      + +

      Andres Gomez (12):

      +
        +
      • docs: add sha256 checksums for 17.1.9
      • +
      • cherry-ignore: add "st/mesa: skip draw calls with pipe_draw_info::count == 0"
      • +
      • cherry-ignore: add "radv: use amdgpu_bo_va_op_raw."
      • +
      • cherry-ignore: add "radv: use simpler indirect packet 3 if possible."
      • +
      • cherry-ignore: add "radeonsi: don't always apply the PrimID instancing bug workaround on SI"
      • +
      • cherry-ignore: add "intel/eu/validate: Look up types on demand in execution_type()"
      • +
      • cherry-ignore: add "radv: gfx9 fixes"
      • +
      • cherry-ignore: add "radv/gfx9: set mip0-depth correctly for 2d arrays/3d images"
      • +
      • cherry-ignore: add "radv/gfx9: fix image resource handling."
      • +
      • cherry-ignore: add "docs/egl: remove reference to EGL_DRIVERS_PATH"
      • +
      • cherry-ignore: add "radv: Disable multilayer & multilevel DCC."
      • +
      • cherry-ignore: add "radv: Don't allocate CMASK for linear images."
      • +
      + +

      Dave Airlie (2):

      +
        +
      • radv/ac: bump params array for image atomic comp swap
      • +
      • st/glsl->tgsi: fix u64 to bool comparisons.
      • +
      + +

      Emil Velikov (2):

      +
        +
      • egl/x11/dri3: adding missing __DRI_BACKGROUND_CALLABLE extension
      • +
      • automake: enable libunwind in `make distcheck'
      • +
      + +

      Eric Anholt (3):

      +
        +
      • broadcom/vc4: Fix use-after-free for flushing when writing to a texture.
      • +
      • broadcom/vc4: Fix use-after-free trying to mix a quad and tile clear.
      • +
      • broadcom/vc4: Fix use-after-free when deleting a program.
      • +
      + +

      George Kyriazis (1):

      +
        +
      • swr: invalidate attachment on transition change
      • +
      + +

      Gert Wollny (2):

      +
        +
      • travis: force llvm-3.3 for "make Gallium ST Other"
      • +
      • travis: Add libunwind-dev to gallium/make builds
      • +
      + +

      Jason Ekstrand (1):

      +
        +
      • i965/blorp: Set r8stencil_needs_update when writing stencil
      • +
      + +

      Juan A. Suarez Romero (9):

      +
        +
      • cherry-ignore: add "ac/surface: match Z and stencil tile config"
      • +
      • cherry-ignore: add "radv/nir: call opt_remove_phis after trivial continues."
      • +
      • cherry-ignore: add "amd/common: add workaround for cube map array layer clamping"
      • +
      • cherry-ignore: add "radeonsi: workaround for gather4 on integer cube maps"
      • +
      • cherry-ignore: add "Scons: Add LLVM 5.0 support"
      • +
      • cherry-ignore: add "ac/surface: handle S8 on gfx9"
      • +
      • cherry-ignore: add "radv: Check for GFX9 for 1D arrays in image_size intrinsic."
      • +
      • cherry-ignore: add "glsl/linker: fix output variable overlap check"
      • +
      • Update version to 17.1.10
      • +
      + +

      Józef Kucia (1):

      +
        +
      • anv: Fix descriptors copying
      • +
      + +

      Matt Turner (2):

      +
        +
      • util: Link libmesautil into u_atomic_test
      • +
      • util/u_atomic: Add implementation of __sync_val_compare_and_swap_8
      • +
      + +

      Nicolai Hähnle (1):

      +
        +
      • radeonsi: apply a mask to gl_SampleMaskIn in the PS prolog
      • +
      + +

      Nicolai Hähnle (4):

      +
        +
      • st/glsl_to_tgsi: only the first (inner-most) array reference can be a 2D index
      • +
      • amd/common: round cube array slice in ac_prepare_cube_coords
      • +
      • radeonsi: set MIP_POINT_PRECLAMP to 0
      • +
      • radeonsi: fix array textures layer coordinate
      • +
      + +

      Tapani Pälli (1):

      +
        +
      • mesa: free current ComputeProgram state in _mesa_free_context_data
      • +
      + + + +
      + + diff -Nru mesa-17.2.4/docs/relnotes/17.1.6.html mesa-17.3.3/docs/relnotes/17.1.6.html --- mesa-17.2.4/docs/relnotes/17.1.6.html 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/docs/relnotes/17.1.6.html 2018-01-18 21:30:28.000000000 +0000 @@ -0,0 +1,225 @@ + + + + + Mesa Release Notes + + + + +
      +

      The Mesa 3D Graphics Library

      +
      + + +
      + +

      Mesa 17.1.6 Release Notes / August 7, 2017

      + +

      +Mesa 17.1.6 is a bug fix release which fixes bugs found since the 17.1.5 release. +

      +

      +Mesa 17.1.6 implements the OpenGL 4.5 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.5. OpenGL +4.5 is only available if requested at context creation +because compatibility contexts are not supported. +

      + + +

      SHA256 checksums

      +
      +971831bc1e748b3e8367eee6b9eb509bad2970e3c2f8520ad25f5caa12ca5491  mesa-17.1.6.tar.gz
      +0686deadde1f126b20aa67e47e8c50502043eee4ecdf60d5009ffda3cebfee50  mesa-17.1.6.tar.xz
      +
      + + +

      New features

      +

      None

      + + +

      Bug fixes

      + +
        + +
      • Bug 97957 - Awful screen tearing in a separate X server with DRI3
      • + +
      • Bug 101683 - Some games hang while loading when compositing is shut off or absent
      • + +
      • Bug 101867 - Launch options window renders black in Feral Games in current Mesa trunk
      • + +
      + + +

      Changes

      + +

      Andres Gomez (1):

      +
        +
      • docs: add sha256 checksums for 17.1.5
      • +
      + +

      Bas Nieuwenhuizen (1):

      +
        +
      • radv: Don't underflow non-visible VRAM size.
      • +
      + +

      Brian Paul (1):

      +
        +
      • svga: fix texture swizzle writemasking
      • +
      + +

      Chad Versace (1):

      +
        +
      • anv/image: Fix VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT
      • +
      + +

      Chris Wilson (1):

      +
        +
      • i965: Resolve framebuffers before signaling the fence
      • +
      + +

      Connor Abbott (1):

      +
        +
      • nir: fix algebraic optimizations
      • +
      + +

      Daniel Stone (1):

      +
        +
      • st/dri: Check get-handle return value in queryImage
      • +
      + +

      Dave Airlie (5):

      +
        +
      • radv: fix non-0 based layer clears.
      • +
      • radv: fix buffer views on SI/CIK.
      • +
      • radv/ac: realign SI workaround with radeonsi.
      • +
      • radv/ac: port SI TC L1 write corruption fix.
      • +
      • radv: for stencil only set Z tile mode index to same value
      • +
      + +

      Emil Velikov (23):

      +
        +
      • cherry-ignore: add "anv: Round u_vector element sizes to a power of two"
      • +
      • anv: advertise v6 of the wayland surface extension
      • +
      • radv: advertise v6 of the wayland surface extension
      • +
      • swrast: add dri2ConfigQueryExtension to the correct extension list
      • +
      • cherry-ignore: add "anv: Transition MCS buffers from the undefined layout"
      • +
      • swr: don't forget to link AVX/AVX2 against pthreads
      • +
      • cherry-ignore: add "i965: Fix offset addition in get_isl_surf"
      • +
      • cherry-ignore: add "i965: Fix = vs == in MCS aux usage assert."
      • +
      • cherry-ignore: add a couple of radeon commits
      • +
      • cherry-ignore: add "swr/rast: non-regex knob fallback code for gcc < 4.9"
      • +
      • cherry-ignore: add "swr: fix transform feedback logic"
      • +
      • cherry-ignore: add a couple of radeonsi/gfx9 commits
      • +
      • cherry-ignore: ignore reverted st/mesa commit
      • +
      • cherry-ignore: add bindless textures fix
      • +
      • cherry-ignore: add "st/glsl_to_tgsi: fix getting the image type for array of structs"
      • +
      • cherry-ignore: add yet another bindless textures fix
      • +
      • bin/cherry-ignore: add radeonsi "fix of a fix"
      • +
      • travis: lower SWR requirement to GCC 4.8, aka std=c++11
      • +
      • i965: use strtol to convert the integer deviceID override
      • +
      • swr: remove unneeded fallback strcasecmp define
      • +
      • cherry-ignore: add a bunch more commits to the list
      • +
      • fixup! cherry-ignore: add a bunch more commits to the list
      • +
      • Update version to 17.1.6
      • +
      + +

      Eric Anholt (1):

      +
        +
      • broadcom/vc4: Prefer blit via rendering to the software fallback.
      • +
      + +

      Eric Engestrom (1):

      +
        +
      • configure: only install khrplatform.h if needed
      • +
      + +

      Iago Toral Quiroga (2):

      +
        +
      • anv/cmd_buffer: fix off by one error in assertion
      • +
      • anv: only expose up to 28 vertex attributes
      • +
      + +

      Ilia Mirkin (1):

      +
        +
      • nv50/ir: fix threads calculation for non-compute shaders
      • +
      + +

      Jason Ekstrand (5):

      +
        +
      • anv/cmd_buffer: Properly handle render passes with 0 attachments
      • +
      • anv: Stop leaking the no_aux sampler surface state
      • +
      • anv/image: Add INPUT_ATTACHMENT to the list of required usages
      • +
      • nir/vars_to_ssa: Handle missing struct members in foreach_deref_node
      • +
      • spirv: Fix SpvImageFormatR16ui
      • +
      + +

      Juan A. Suarez Romero (2):

      +
        +
      • anv/pipeline: use unsigned long long constant to check enable vertex inputs
      • +
      • anv/pipeline: do not use BITFIELD64_BIT()
      • +
      + +

      Kenneth Graunke (1):

      +
        +
      • nir: Use nir_src_copy instead of direct assignments.
      • +
      + +

      Lionel Landwerlin (1):

      +
        +
      • i965: perf: flush batchbuffers at the beginning of queries
      • +
      + +

      Lucas Stach (1):

      +
        +
      • etnaviv: fix memory leak when BO allocation fails
      • +
      + +

      Marek Olšák (2):

      +
        +
      • st/mesa: always unconditionally revalidate main framebuffer after SwapBuffers
      • +
      • gallium/radeon: make S_FIXED function signed and move it to shared code
      • +
      + +

      Mark Thompson (1):

      +
        +
      • st/va: Fix scaling list ordering for H.265
      • +
      + +

      Nicolai Hähnle (4):

      +
        +
      • radeonsi/gfx9: fix crash building monolithic merged ES-GS shader
      • +
      • radeonsi: fix detection of DRAW_INDIRECT_MULTI on SI
      • +
      • radeonsi/gfx9: reduce max threads per block to 1024 on gfx9+
      • +
      • gallium/radeon: fix ARB_query_buffer_object conversion to boolean
      • +
      + +

      Thomas Hellstrom (2):

      +
        +
      • loader/dri3: Use dri3_find_back in loader_dri3_swap_buffers_msc
      • +
      • dri3: Wait for all pending swapbuffers to be scheduled before touching the front
      • +
      + +

      Tim Rowley (3):

      +
        +
      • gallium/util: fix nondeterministic avx512 detection
      • +
      • swr/rast: quit using linux-specific gettid()
      • +
      • swr/rast: fix scons gen_knobs.h dependency
      • +
      + +

      Timothy Arceri (1):

      +
        +
      • nir: fix nir_opt_copy_prop_vars() for arrays of arrays
      • +
      + +

      Wladimir J. van der Laan (1):

      +
        +
      • etnaviv: Clear lbl_usage array correctly
      • +
      + + +
      + + diff -Nru mesa-17.2.4/docs/relnotes/17.1.7.html mesa-17.3.3/docs/relnotes/17.1.7.html --- mesa-17.2.4/docs/relnotes/17.1.7.html 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/docs/relnotes/17.1.7.html 2018-01-18 21:30:28.000000000 +0000 @@ -0,0 +1,148 @@ + + + + + Mesa Release Notes + + + + +
      +

      The Mesa 3D Graphics Library

      +
      + + +
      + +

      Mesa 17.1.7 Release Notes / August 21, 2017

      + +

      +Mesa 17.1.7 is a bug fix release which fixes bugs found since the 17.1.6 release. +

      +

      +Mesa 17.1.7 implements the OpenGL 4.5 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.5. OpenGL +4.5 is only available if requested at context creation +because compatibility contexts are not supported. +

      + + +

      SHA256 checksums

      +
      +7ca484fe3194e8185d9a20261845bfd284cc40d0f3fda690d317f85ac7b91af5  mesa-17.1.7.tar.gz
      +69f472a874b1122404fa0bd13e2d6bf87eb3b9ad9c21d2f39872a96d83d9e5f5  mesa-17.1.7.tar.xz
      +
      + + +

      New features

      +

      None

      + + +

      Bug fixes

      + +
        + +
      • Bug 101334 - AMD SI cards: Some vulkan apps freeze the system
      • + +
      • Bug 101766 - Assertion `!"invalid type"' failed when constant expression involves literal of different type
      • + +
      • Bug 102024 - FORMAT_FEATURE_SAMPLED_IMAGE_BIT not supported for D16_UNORM and D32_SFLOAT
      • + +
      • Bug 102148 - Crash when running qopenglwidget example on mesa llvmpipe win32
      • + +
      • Bug 102241 - gallium/wgl: SwapBuffers freezing regularly with swap interval enabled
      • + +
      + + +

      Changes

      + +

      Andres Gomez (8):

      +
        +
      • cherry-ignore: add "swr: use the correct variable for no undefined symbols"
      • +
      • cherry-ignore: add "radeon/ac: use ds_swizzle for derivs on si/cik."
      • +
      • cherry-ignore: add "configure: remove trailing "-a" in swr architecture teststable: 17.2 nomination only."
      • +
      • cherry-ignore: added 17.2 nominations.
      • +
      • cherry-ignore: add "radv: Handle VK_ATTACHMENT_UNUSED in color attachments."
      • +
      • cherry-ignore: add "virgl: drop precise modifier."
      • +
      • cherry-ignore: add "radv: handle 10-bit format clamping workaround."
      • +
      • Update version to 17.1.7
      • +
      + +

      Chris Wilson (1):

      +
        +
      • i965/blit: Remember to include miptree buffer offset in relocs
      • +
      + +

      Connor Abbott (1):

      +
        +
      • ac/nir: fix lsb emission
      • +
      + +

      Dave Airlie (5):

      +
        +
      • intel/vec4/gs: reset nr_pull_param if DUAL_INSTANCED compile failed.
      • +
      • radv: avoid GPU hangs if someone does a resolve with non-multisample src (v2)
      • +
      • radv: fix f16->f32 denorm handling for SI/CIK. (v2)
      • +
      • radv: fix MSAA on SI gpus.
      • +
      • radv: force cs/ps/l2 flush at end of command stream. (v2)
      • +
      + +

      Emil Velikov (3):

      +
        +
      • docs: add sha256 checksums for 17.1.6
      • +
      • egl/x11: don't leak xfixes_query in the error path
      • +
      • egl: avoid eglCreatePlatform*Surface{EXT,} crash with invalid dpy
      • +
      + +

      Eric Anholt (1):

      +
        +
      • util: Fix build on old glibc.
      • +
      + +

      Frank Richter (3):

      +
        +
      • st/mesa: fix a null pointer access
      • +
      • st/wgl: check for negative delta in wait_swap_interval()
      • +
      • gallium/os: fix os_time_get_nano() to roll over less
      • +
      + +

      Ilia Mirkin (3):

      +
        +
      • glsl/ast: update rhs in addition to the var's constant_value
      • +
      • nv50/ir: fix srcMask computation for TG4 and TXF
      • +
      • nv50/ir: fix TXQ srcMask
      • +
      + +

      Jason Ekstrand (1):

      +
        +
      • anv/formats: Allow sampling on depth-only formats on gen7
      • +
      + +

      Karol Herbst (1):

      +
        +
      • nv50/ir: fix ConstantFolding with saturation
      • +
      + +

      Kenneth Graunke (1):

      +
        +
      • i965: Delete pitch alignment assertion in get_blit_intratile_offset_el.
      • +
      + +

      Marek Olšák (2):

      +
        +
      • ac: fail shader compilation if libelf is replaced by an incompatible version
      • +
      • radeonsi: disable CE by default
      • +
      + +

      Tim Rowley (1):

      +
        +
      • swr/rast: Fix invalid casting for calls to Interlocked* functions
      • +
      + + +
      + + diff -Nru mesa-17.2.4/docs/relnotes/17.1.8.html mesa-17.3.3/docs/relnotes/17.1.8.html --- mesa-17.2.4/docs/relnotes/17.1.8.html 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/docs/relnotes/17.1.8.html 2018-01-18 21:30:28.000000000 +0000 @@ -0,0 +1,115 @@ + + + + + Mesa Release Notes + + + + +
      +

      The Mesa 3D Graphics Library

      +
      + + +
      + +

      Mesa 17.1.8 Release Notes / August 28, 2017

      + +

      +Mesa 17.1.8 is a bug fix release which fixes bugs found since the 17.1.7 release. +

      +

      +Mesa 17.1.8 implements the OpenGL 4.5 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.5. OpenGL +4.5 is only available if requested at context creation +because compatibility contexts are not supported. +

      + + +

      SHA256 checksums

      +
      +faa59a677e88fd5224cdfebcdb6ca9ad3e3c64bd562baa8d5c3c1faeef1066b6  mesa-17.1.8.tar.gz
      +75ed2eaeae26ddd536150f294386468ae2e1a7717948c41cd14b7875be5269db  mesa-17.1.8.tar.xz
      +
      + + +

      New features

      +

      None

      + + +

      Bug fixes

      + +
        + +
      • Bug 101910 - [BYT] ES31-CTS.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32f
      • + +
      • Bug 102308 - segfault in glCompressedTextureSubImage3D
      • + +
      + + +

      Changes

      + +

      Andres Gomez (6):

      +
        +
      • docs: add sha256 checksums for 17.1.7
      • +
      • cherry-ignore: cherry-ignore: added 17.2 nominations.
      • +
      • cherry-ignore: add "i965/tex: Don't pass samples to miptree_create_for_teximage"
      • +
      • cherry-ignore: add "i965: Make a BRW_NEW_FAST_CLEAR_COLOR dirty bit."
      • +
      • cherry-ignore: add "egl/drm: Fix misused x and y offsets in swrast_*_image*"
      • +
      • Update version to 17.1.8
      • +
      + +

      Christoph Haag (1):

      +
        +
      • mesa: only copy requested compressed teximage cubemap faces
      • +
      + +

      Dave Airlie (1):

      +
        +
      • radv: don't crash if we have no framebuffer
      • +
      + +

      Ilia Mirkin (2):

      +
        +
      • glsl: add a few missing int64 constant propagation cases
      • +
      • nv50/ir: properly set sType for TXF ops to U32
      • +
      + +

      Jason Ekstrand (1):

      +
        +
      • i965: Stop looking at NewDriverState when emitting 3DSTATE_URB
      • +
      + +

      Kai Chen (1):

      +
        +
      • egl/wayland: Use roundtrips when awaiting buffer release
      • +
      + +

      Lionel Landwerlin (1):

      +
        +
      • i965: perf: minimize the chances to spread queries across batchbuffers
      • +
      + +

      Marek Olšák (1):

      +
        +
      • radeonsi/gfx9: add a temporary workaround for a tessellation driver bug
      • +
      + +

      Tim Rowley (1):

      +
        +
      • swr/rast: switch gen_knobs.cpp license
      • +
      + +

      Topi Pohjolainen (1):

      +
        +
      • intel/blorp: Adjust intra-tile x when faking rgb with red-only
      • +
      + + +
      + + diff -Nru mesa-17.2.4/docs/relnotes/17.1.9.html mesa-17.3.3/docs/relnotes/17.1.9.html --- mesa-17.2.4/docs/relnotes/17.1.9.html 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/docs/relnotes/17.1.9.html 2018-01-18 21:30:28.000000000 +0000 @@ -0,0 +1,144 @@ + + + + + Mesa Release Notes + + + + +
      +

      The Mesa 3D Graphics Library

      +
      + + +
      + +

      Mesa 17.1.9 Release Notes / September 8, 2017

      + +

      +Mesa 17.1.9 is a bug fix release which fixes bugs found since the 17.1.8 release. +

      +

      +Mesa 17.1.9 implements the OpenGL 4.5 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.5. OpenGL +4.5 is only available if requested at context creation +because compatibility contexts are not supported. +

      + + +

      SHA256 checksums

      +
      +4325401b07b5f44759da781bc8d7c0a4a7244e09a702d16c037090986e07ee22  mesa-17.1.9.tar.gz
      +5f51ad94341696097d5df7b838183534478216858ac0fc8de183671a36ffea1a  mesa-17.1.9.tar.xz
      +
      + + +

      New features

      +

      None

      + + +

      Bug fixes

      +
        + +
      • Bug 100613 - Regression in Mesa 17 on s390x (zSystems)
      • + +
      • Bug 102454 - glibc 2.26 doesn't provide anymore xlocale.h
      • + +
      • Bug 102467 - src/mesa/state_tracker/st_cb_readpixels.c:178]: (warning) Redundant assignment
      • + +
      + + +

      Changes

      + +

      Andres Gomez (8):

      +
        +
      • docs: add sha256 checksums for 17.1.8
      • +
      • cherry-ignore: added 17.2 nominations.
      • +
      • cherry-ignore: add "nir: Fix system_value_from_intrinsic for subgroups"
      • +
      • cherry-ignore: add "i965: Fix crash in fallback GTT mapping."
      • +
      • cherry-ignore: add "radeonsi/gfx9: always flush DB metadata on framebuffer changes"
      • +
      • cherry-ignore: add "radv: Fix vkCopyImage with both depth and stencil aspects."
      • +
      • cherry-ignore: add "radeonsi/gfx9: proper workaround for LS/HS VGPR initialization bug"
      • +
      • Update version to 17.1.9
      • +
      + +

      Bas Nieuwenhuizen (3):

      +
        +
      • radv: Fix off by one in MAX_VBS assert.
      • +
      • radv: Fix sparse BO mapping merging.
      • +
      • radv: Actually set the cmd_buffer usage_flags.
      • +
      + +

      Ben Crocker (1):

      +
        +
      • llvmpipe: lp_build_gather_elem_vec BE fix for 3x16 load
      • +
      + +

      Charmaine Lee (1):

      +
        +
      • vbo: fix offset in minmax cache key
      • +
      + +

      Christian Gmeiner (1):

      +
        +
      • etnaviv: use correct param for etna_compatible_rs_format(..)
      • +
      + +

      Emil Velikov (3):

      +
        +
      • egl: don't NULL deref the .get_capabilities function pointer
      • +
      • egl/wayland: plug leaks in dri2_wl_create_window_surface() error path
      • +
      • egl/wayland: polish object teardown in dri2_wl_destroy_surface
      • +
      + +

      Eric Engestrom (1):

      +
        +
      • util: improve compiler guard
      • +
      + +

      Grazvydas Ignotas (2):

      +
        +
      • radv: clear dynamic_shader_stages on create
      • +
      • radv: don't assert on empty hash table
      • +
      + +

      Ilia Mirkin (2):

      +
        +
      • glsl: fix counting of vertex shader output slots used by explicit vars
      • +
      • st/mesa: fix handling of vertex array double inputs
      • +
      + +

      Jason Ekstrand (2):

      +
        +
      • anv/formats: Nicely handle unknown VkFormat enums
      • +
      • spirv: Add support for the HelperInvocation builtin
      • +
      + +

      Karol Herbst (1):

      +
        +
      • nvc0: write 0 to pipeline_statistics.cs_invocations
      • +
      + +

      Michael Olbrich (1):

      +
        +
      • egl/dri2: only destroy created objects
      • +
      + +

      Ray Strode (1):

      +
        +
      • gallivm: correct channel shift logic on big endian
      • +
      + +

      Roland Scheidegger (1):

      +
        +
      • st/mesa: fix view template initialization in try_pbo_readpixels
      • +
      + + +
      + + diff -Nru mesa-17.2.4/docs/relnotes/17.2.4.html mesa-17.3.3/docs/relnotes/17.2.4.html --- mesa-17.2.4/docs/relnotes/17.2.4.html 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/relnotes/17.2.4.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,131 +0,0 @@ - - - - - Mesa Release Notes - - - - -
      -

      The Mesa 3D Graphics Library

      -
      - - -
      - -

      Mesa 17.2.4 Release Notes / October 30, 2017

      - -

      -Mesa 17.2.4 is a bug fix release which fixes bugs found since the 17.2.3 release. -

      -

      -Mesa 17.2.4 implements the OpenGL 4.5 API, but the version reported by -glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / -glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. -Some drivers don't support all the features required in OpenGL 4.5. OpenGL -4.5 is only available if requested at context creation -because compatibility contexts are not supported. -

      - - -

      SHA256 checksums

      -
      -TBD
      -
      - - -

      New features

      -

      None

      - - -

      Bug fixes

      -
        - -
      • Bug 102774 - [BDW] [Bisected] Absolute constant buffers break VAAPI in mpv
      • - -
      • Bug 103388 - Linking libcltgsi.la (llvm/codegen/libclllvm_la-common.lo) fails with "error: no match for 'operator-'" with GCC-7, Mesa from Git and current LLVM revisions
      • - -
      - - -

      Changes

      -

      Andres Gomez (8):

      -
        -
      • cherry-ignore: configure.ac: rework llvm detection and handling
      • -
      • cherry-ignore: glsl: fix derived cs variables
      • -
      • cherry-ignore: added 17.3 nominations.
      • -
      • cherry-ignore: radv: Don't use vgpr indexing for outputs on GFX9.
      • -
      • cherry-ignore: radv: Disallow indirect outputs for GS on GFX9 as well.
      • -
      • cherry-ignore: mesa/bufferobj: don't double negate the range
      • -
      • cherry-ignore: broadcom/vc5: Propagate vc4 aliasing fix to vc5.
      • -
      • Update version to 17.2.4
      • -
      - -

      Bas Nieuwenhuizen (1):

      -
        -
      • ac/nir: Fix nir_texop_lod on GFX for 1D arrays.
      • -
      - -

      Dave Airlie (1):

      -
        -
      • radv/image: bump all the offset to uint64_t.
      • -
      - -

      Emil Velikov (1):

      -
        -
      • docs: add sha256 checksums for 17.2.3
      • -
      - -

      Henri Verbeet (1):

      -
        -
      • vulkan/wsi: Free the event in x11_manage_fifo_queues().
      • -
      - -

      Jan Vesely (1):

      -
        -
      • clover: Fix compilation after clang r315871
      • -
      - -

      Jason Ekstrand (4):

      -
        -
      • nir/intrinsics: Set the correct num_indices for load_output
      • -
      • intel/fs: Handle flag read/write aliasing in needs_src_copy
      • -
      • anv/pipeline: Call nir_lower_system_valaues after brw_preprocess_nir
      • -
      • intel/eu: Use EXECUTE_1 for JMPI
      • -
      - -

      Kenneth Graunke (1):

      -
        -
      • i965: Revert absolute mode for constant buffer pointers.
      • -
      - -

      Marek Olšák (1):

      -
        -
      • Revert "mesa: fix texture updates for ATI_fragment_shader"
      • -
      - -

      Matthew Nicholls (1):

      -
        -
      • ac/nir: generate correct instruction for atomic min/max on unsigned images
      • -
      - -

      Michel Dänzer (1):

      -
        -
      • st/mesa: Initialize textures array in st_framebuffer_validate
      • -
      - -

      Samuel Pitoiset (1):

      -
        -
      • radv: add the draw count buffer to the list of buffers
      • -
      - -

      Stefan Schake (1):

      -
        -
      • broadcom/vc4: Fix aliasing issue
      • -
      - - -
      - - diff -Nru mesa-17.2.4/docs/relnotes/17.3.0.html mesa-17.3.3/docs/relnotes/17.3.0.html --- mesa-17.2.4/docs/relnotes/17.3.0.html 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/docs/relnotes/17.3.0.html 2018-01-18 21:30:28.000000000 +0000 @@ -0,0 +1,246 @@ + + + + + Mesa Release Notes + + + + +
      +

      The Mesa 3D Graphics Library

      +
      + + +
      + +

      Mesa 17.3.0 Release Notes / December 8. 2017

      + +

      +Mesa 17.3.0 is a new development release. +People who are concerned with stability and reliability should stick +with a previous release or wait for Mesa 17.3.1. +

      +

      +Mesa 17.3.0 implements the OpenGL 4.5 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.5. OpenGL +4.5 is only available if requested at context creation +because compatibility contexts are not supported. +

      + + +

      SHA256 checksums

      +
      +0cb1ffe2b4637d80f08df3bdfeb300352dcffd8ff4f6711278639b084e3f07f9  mesa-17.3.0.tar.gz
      +29a0a3a6c39990d491a1a58ed5c692e596b3bfc6c01d0b45e0b787116c50c6d9  mesa-17.3.0.tar.xz
      +
      + + +

      New features

      + +

      +Note: some of the new features are only available with certain drivers. +

      + +
        +
      • libtxc_dxtn is now integrated into Mesa. GL_EXT_texture_compression_s3tc and GL_ANGLE_texture_compression_dxt are now always enabled on drivers that support them
      • +
      • GL_ARB_indirect_parameters on i965/gen7+
      • +
      • GL_ARB_polygon_offset_clamp on i965, nv50, nvc0, r600, radeonsi, llvmpipe, swr
      • +
      • GL_ARB_transform_feedback_overflow_query on radeonsi
      • +
      • GL_ARB_texture_filter_anisotropic on i965, nv50, nvc0, r600, radeonsi
      • +
      • GL_EXT_memory_object on radeonsi
      • +
      • GL_EXT_memory_object_fd on radeonsi
      • +
      • EGL_ANDROID_native_fence_sync on radeonsi with a future kernel (possibly 4.15)
      • +
      • EGL_IMG_context_priority on i965
      • +
      + +

      Bug fixes

      + +
        + +
      • Bug 97532 - Regression: GLB 2.7 & Glmark-2 GLES versions segfault due to linker precision error (259fc505) on dead variable
      • + +
      • Bug 100438 - glsl/ir.cpp:1376: ir_dereference_variable::ir_dereference_variable(ir_variable*): Assertion `var != NULL' failed.
      • + +
      • Bug 100613 - Regression in Mesa 17 on s390x (zSystems)
      • + +
      • Bug 101334 - AMD SI cards: Some vulkan apps freeze the system
      • + +
      • Bug 101378 - interpolateAtSample check for input parameter is too strict
      • + +
      • Bug 101655 - Explicit sync support for android
      • + +
      • Bug 101691 - gfx corruption on windowed 3d-apps running on dGPU
      • + +
      • Bug 101709 - [llvmpipe] piglit gl-1.0-scissor-offscreen regression
      • + +
      • Bug 101766 - Assertion `!"invalid type"' failed when constant expression involves literal of different type
      • + +
      • Bug 101832 - [PATCH][regression][bisect] Xorg fails to start after f50aa21456d82c8cb6fbaa565835f1acc1720a5d
      • + +
      • Bug 101851 - [regression] libEGL_common.a undefined reference to '__gxx_personality_v0'
      • + +
      • Bug 101867 - Launch options window renders black in Feral Games in current Mesa trunk
      • + +
      • Bug 101876 - SIGSEGV when launching Steam
      • + +
      • Bug 101910 - [BYT] ES31-CTS.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32f
      • + +
      • Bug 101925 - playstore/webview crash
      • + +
      • Bug 101941 - Getting different output depending on attribute declaration order
      • + +
      • Bug 101961 - Serious Sam Fusion hangs system completely
      • + +
      • Bug 101981 - Commit ddc32537d6db69198e88ef0dfe19770bf9daa536 breaks rendering in multiple applications
      • + +
      • Bug 101982 - Weston crashes when running an OpenGL program on i965
      • + +
      • Bug 101983 - [G33] ES2-CTS.functional.shaders.struct.uniform.sampler_nested* regression
      • + +
      • Bug 101989 - ES3-CTS.functional.state_query.integers.viewport_getinteger regression
      • + +
      • Bug 102006 - gstreamer vaapih264enc segfault
      • + +
      • Bug 102014 - Mesa git build broken by commit bc7f41e11d325280db12e7b9444501357bc13922
      • + +
      • Bug 102015 - [Regression,bisected]: Segfaults with various programs
      • + +
      • Bug 102024 - FORMAT_FEATURE_SAMPLED_IMAGE_BIT not supported for D16_UNORM and D32_SFLOAT
      • + +
      • Bug 102038 - assertion failure in update_framebuffer_size
      • + +
      • Bug 102050 - commit b4f639d02a causes build breakage on Android 32bit builds
      • + +
      • Bug 102052 - No package 'expat' found
      • + +
      • Bug 102062 - Segfault at eglCreateContext in android-x86
      • + +
      • Bug 102125 - [softpipe] piglit arb_texture_view-targets regression
      • + +
      • Bug 102148 - Crash when running qopenglwidget example on mesa llvmpipe win32
      • + +
      • Bug 102177 - [SKL] ES31-CTS.core.sepshaderobjs.StateInteraction fails sporadically
      • + +
      • Bug 102201 - [regression, SI] GPU crash in Unigine Valley
      • + +
      • Bug 102241 - gallium/wgl: SwapBuffers freezing regularly with swap interval enabled
      • + +
      • Bug 102274 - assertion failure in ir_validate.cpp:240
      • + +
      • Bug 102308 - segfault in glCompressedTextureSubImage3D
      • + +
      • Bug 102358 - WarThunder freezes at start, with activated vsync (vblank_mode=2)
      • + +
      • Bug 102377 - PIPE_*_4BYTE_ALIGNED_ONLY caps crashing
      • + +
      • Bug 102429 - [regression, SI] Performance decrease in Unigine Valley & Heaven
      • + +
      • Bug 102435 - [skl,kbl] [drm] GPU HANG: ecode 9:0:0x86df7cf9, in csgo_linux64 [4947], reason: Hang on rcs, action: reset
      • + +
      • Bug 102454 - glibc 2.26 doesn't provide anymore xlocale.h
      • + +
      • Bug 102461 - [llvmpipe] piglit glean fragprog1 XPD test 1 regression
      • + +
      • Bug 102467 - src/mesa/state_tracker/st_cb_readpixels.c:178]: (warning) Redundant assignment
      • + +
      • Bug 102496 - Frontbuffer rendering corruption on mesa master
      • + +
      • Bug 102502 - [bisected] Kodi crashes since commit 707d2e8b - gallium: fold u_trim_pipe_prim call from st/mesa to drivers
      • + +
      • Bug 102530 - [bisected] Kodi crashes when launching a stream - commit bd2662bf
      • + +
      • Bug 102552 - Null dereference due to not checking return value of util_format_description
      • + +
      • Bug 102565 - u_debug_stack.c:114: undefined reference to `_Ux86_64_getcontext'
      • + +
      • Bug 102573 - fails to build on armel
      • + +
      • Bug 102665 - test_glsl_to_tgsi_lifetime.cpp:53:67: error: ‘>>’ should be ‘> >’ within a nested template argument list
      • + +
      • Bug 102677 - [OpenGL CTS] KHR-GL45.CommonBugs.CommonBug_PerVertexValidation fails
      • + +
      • Bug 102680 - [OpenGL CTS] KHR-GL45.shader_ballot_tests.ShaderBallotBitmasks fails
      • + +
      • Bug 102685 - piglit.spec.glsl-1_50.compiler.vs-redeclares-pervertex-out-before-global-redeclaration
      • + +
      • Bug 102774 - [BDW] [Bisected] Absolute constant buffers break VAAPI in mpv
      • + +
      • Bug 102809 - Rust shadows(?) flash random colours
      • + +
      • Bug 102844 - memory leak with glDeleteProgram for shader program type GL_COMPUTE_SHADER
      • + +
      • Bug 102847 - swr fail to build with llvm-5.0.0
      • + +
      • Bug 102852 - Scons: Support the new Scons 3.0.0
      • + +
      • Bug 102904 - piglit and gl45 cts linker tests regressed
      • + +
      • Bug 102924 - mesa (git version) images too dark
      • + +
      • Bug 102940 - Regression: Vulkan KMS rendering crashes since 17.2
      • + +
      • Bug 102955 - HyperZ related rendering issue in ARK: Survival Evolved
      • + +
      • Bug 102999 - [BISECTED,REGRESSION] Failing Android EGL dEQP with RGBA configs
      • + +
      • Bug 103002 - string_buffer_test.cpp:43: error: ISO C++ forbids initialization of member ‘str1’
      • + +
      • Bug 103085 - [ivb byt hsw] piglit.spec.arb_indirect_parameters.tf-count-arrays
      • + +
      • Bug 103098 - [OpenGL CTS] KHR-GL45.enhanced_layouts.varying_structure_locations fails
      • + +
      • Bug 103101 - [SKL][bisected] DiRT Rally GPU hang
      • + +
      • Bug 103115 - [BSW BXT GLK] dEQP-VK.spirv_assembly.instruction.compute.sconvert.int32_to_int64
      • + +
      • Bug 103128 - [softpipe] piglit fs-ldexp regression
      • + +
      • Bug 103142 - R600g+sb: optimizer apparently stuck in an endless loop
      • + +
      • Bug 103214 - GLES CTS functional.state_query.indexed.atomic_counter regression
      • + +
      • Bug 103227 - [G965 G45 ILK] ES2-CTS.gtf.GL2ExtensionTests.texture_float.texture_float regression
      • + +
      • Bug 103247 - Performance regression: car chase, manhattan
      • + +
      • Bug 103253 - blob.h:138:1: error: unknown type name 'ssize_t'
      • + +
      • Bug 103265 - [llvmpipe] piglit depth-tex-compare regression
      • + +
      • Bug 103323 - Possible unintended error message in file pixel.c line 286
      • + +
      • Bug 103388 - Linking libcltgsi.la (llvm/codegen/libclllvm_la-common.lo) fails with "error: no match for 'operator-'" with GCC-7, Mesa from Git and current LLVM revisions
      • + +
      • Bug 103393 - glDispatchComputeGroupSizeARB : gl_GlobalInvocationID.x != gl_WorkGroupID.x * gl_LocalGroupSizeARB.x + gl_LocalInvocationID.x
      • + +
      • Bug 103412 - gallium/wgl: Another fix to context creation without prior SetPixelFormat()
      • + +
      • Bug 103519 - wayland egl apps crash on start with mesa 17.2
      • + +
      • Bug 103529 - [GM45] GPU hang with mpv fullscreen (bisected)
      • + +
      • Bug 103537 - i965: Shadow of Mordor broken since commit 379b24a40d3d34ffdaaeb1b328f50e28ecb01468 on Haswell
      • + +
      • Bug 103544 - Graphical glitches r600 in game this war of mine linux native
      • + +
      • Bug 103616 - Increased difference from reference image in shaders
      • + +
      • Bug 103628 - [BXT, GLK, BSW] KHR-GL46.shader_ballot_tests.ShaderBallotBitmasks
      • + +
      • Bug 103759 - plasma desktop corrupted rendering
      • + +
      • Bug 103787 - [BDW,BSW] gpu hang on spec.arb_pipeline_statistics_query.arb_pipeline_statistics_query-comp
      • + +
      • Bug 103909 - anv_allocator.c:113:1: error: static declaration of ‘memfd_create’ follows non-static declaration
      • + +
      + +

      Changes

      + + +
      + + diff -Nru mesa-17.2.4/docs/relnotes/17.3.1.html mesa-17.3.3/docs/relnotes/17.3.1.html --- mesa-17.2.4/docs/relnotes/17.3.1.html 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/docs/relnotes/17.3.1.html 2018-01-18 21:30:28.000000000 +0000 @@ -0,0 +1,191 @@ + + + + + Mesa Release Notes + + + + +
      +

      The Mesa 3D Graphics Library

      +
      + + +
      + +

      Mesa 17.3.1 Release Notes / December 21, 2017

      + +

      +Mesa 17.3.1 is a bug fix release which fixes bugs found since the 17.3.0 release. +

      +

      +Mesa 17.3.1 implements the OpenGL 4.5 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.5. OpenGL +4.5 is only available if requested at context creation +because compatibility contexts are not supported. +

      + + +

      SHA256 checksums

      +
      +b0bb0419dbe3043ed4682a28eaf95721f427ca3f23a3c2a7dc77dbe8a3b6384d  mesa-17.3.1.tar.gz
      +9ae607e0998a586fb2c866cfc8e45e6f52d1c56cb1b41288253ea83eada824c1  mesa-17.3.1.tar.xz
      +
      + + +

      New features

      +

      None

      + + +

      Bug fixes

      + +
        + +
      • Bug 94739 - Mesa 11.1.2 implementation error: bad format MESA_FORMAT_Z_FLOAT32 in _mesa_unpack_uint_24_8_depth_stencil_row
      • + +
      • Bug 102710 - vkCmdBlitImage with arrayLayers > 1 fails
      • + +
      • Bug 103579 - Vertex shader causes compiler to crash in SPIRV-to-NIR
      • + +
      • Bug 103966 - Mesa 17.2.5 implementation error: bad format MESA_FORMAT_Z_FLOAT32 in _mesa_unpack_uint_24_8_depth_stencil_row
      • + +
      • Bug 104119 - radv: OpBitFieldInsert produces 0 with a loop counter for Insert
      • + +
      • Bug 104143 - r600/sb: clobbers gl_Position -> gl_FragCoord
      • + +
      + + +

      Changes

      + +

      Alex Smith (1):

      +
        +
      • radv: Add LLVM version to the device name string
      • +
      + +

      Bas Nieuwenhuizen (3):

      +
        +
      • spirv: Fix loading an entire block at once.
      • +
      • radv: Don't advertise VK_EXT_debug_report.
      • +
      • radv: Fix multi-layer blits.
      • +
      + +

      Ben Crocker (1):

      +
        +
      • docs/llvmpipe: document ppc64le as alternative architecture to x86.
      • +
      + +

      Brian Paul (2):

      +
        +
      • xlib: call _mesa_warning() instead of fprintf()
      • +
      • gallium/aux: include nr_samples in util_resource_size() computation
      • +
      + +

      Bruce Cherniak (1):

      +
        +
      • swr: Fix KNOB_MAX_WORKER_THREADS thread creation override.
      • +
      + +

      Dave Airlie (1):

      +
        +
      • radv: port merge tess info from anv
      • +
      + +

      Emil Velikov (5):

      +
        +
      • docs: add sha256 checksums for 17.3.0
      • +
      • util: scons: wire up the sha1 test
      • +
      • cherry-ignore: meson: fix strtof locale support check
      • +
      • cherry-ignore: util: add mesa-sha1 test to meson
      • +
      • Update version to 17.3.1
      • +
      + +

      Eric Anholt (1):

      +
        +
      • broadcom/vc4: Fix handling of GFXH-515 workaround with a start vertex count.
      • +
      + +

      Eric Engestrom (1):

      +
        +
      • compiler: use NDEBUG to guard asserts
      • +
      + +

      Fabian Bieler (2):

      +
        +
      • glsl: Match order of gl_LightSourceParameters elements.
      • +
      • glsl: Fix gl_NormalScale.
      • +
      + +

      Gert Wollny (1):

      +
        +
      • r600/sb: do not convert if-blocks that contain indirect array access
      • +
      + +

      James Legg (1):

      +
        +
      • nir/opcodes: Fix constant-folding of bitfield_insert
      • +
      + +

      Jason Ekstrand (1):

      +
        +
      • i965: Switch over to fully external-or-not MOCS scheme
      • +
      + +

      Juan A. Suarez Romero (1):

      +
        +
      • travis: disable Meson build
      • +
      + +

      Kenneth Graunke (2):

      +
        +
      • meta: Initialize depth/clear values on declaration.
      • +
      • meta: Fix ClearTexture with GL_DEPTH_COMPONENT.
      • +
      + +

      Leo Liu (1):

      +
        +
      • radeon/vce: move destroy command before feedback command
      • +
      + +

      Marek Olšák (4):

      +
        +
      • radeonsi: flush the context after resource_copy_region for buffer exports
      • +
      • radeonsi: allow DMABUF exports for local buffers
      • +
      • winsys/amdgpu: disable local BOs again due to worse performance
      • +
      • radeonsi: don't call force_dcc_off for buffers
      • +
      + +

      Matt Turner (2):

      +
        +
      • util: Assume little endian in the absence of platform-specific handling
      • +
      • util: Add a SHA1 unit test program
      • +
      + +

      Nicolai Hähnle (1):

      +
        +
      • radeonsi: fix the R600_RESOURCE_FLAG_UNMAPPABLE check
      • +
      + +

      Pierre Moreau (1):

      +
        +
      • nvc0/ir: Properly lower 64-bit shifts when the shift value is >32
      • +
      + +

      Timothy Arceri (1):

      +
        +
      • glsl: get correct member type when processing xfb ifc arrays
      • +
      + +

      Vadym Shovkoplias (2):

      +
        +
      • glx/dri3: Remove unused deviceName variable
      • +
      • util/disk_cache: Remove unneeded free() on always null string
      • +
      + + +
      + + diff -Nru mesa-17.2.4/docs/relnotes/17.3.2.html mesa-17.3.3/docs/relnotes/17.3.2.html --- mesa-17.2.4/docs/relnotes/17.3.2.html 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/docs/relnotes/17.3.2.html 2018-01-18 21:30:28.000000000 +0000 @@ -0,0 +1,109 @@ + + + + + Mesa Release Notes + + + + +
      +

      The Mesa 3D Graphics Library

      +
      + + +
      + +

      Mesa 17.3.2 Release Notes / January 8, 2018

      + +

      +Mesa 17.3.2 is a bug fix release which fixes bugs found since the 17.3.1 release. +

      +

      +Mesa 17.3.2 implements the OpenGL 4.5 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.5. OpenGL +4.5 is only available if requested at context creation +because compatibility contexts are not supported. +

      + + +

      SHA256 checksums

      +
      +f997e80f14c385f9a2ba827c2b74aebf1b7426712ca4a81c631ef9f78e437bf4  mesa-17.3.2.tar.gz
      +e2844a13f2d6f8f24bee65804a51c42d8dc6ae9c36cff7ee61d0940e796d64c6  mesa-17.3.2.tar.xz
      +
      + + +

      New features

      +

      None

      + + +

      Bug fixes

      + +
        + +
      • Bug 97852 - Unreal Engine corrupted preview viewport
      • + +
      • Bug 103801 - [i965] >Observer_ issue
      • + +
      • Bug 104288 - Steamroll needs allow_glsl_cross_stage_interpolation_mismatch=true
      • + +
      + + +

      Changes

      + +

      Bas Nieuwenhuizen (1):

      +
        +
      • radv: Fix DCC compatible formats.
      • +
      + +

      Brendan King (1):

      +
        +
      • egl: link libEGL against the dynamic version of libglapi
      • +
      + +

      Dave Airlie (6):

      +
        +
      • radv/gfx9: add support for 3d images to blit 2d paths
      • +
      • radv: handle depth/stencil image copy with layouts better. (v3.1)
      • +
      • radv/meta: fix blit paths for depth/stencil (v2.1)
      • +
      • radv: fix issue with multisample positions and interp_var_at_sample.
      • +
      • radv/gfx9: add 3d sampler image->buffer copy shader. (v3)
      • +
      • radv: don't do format replacement on tc compat htile surfaces.
      • +
      + +

      Emil Velikov (2):

      +
        +
      • docs: add sha256 checksums for 17.3.1
      • +
      • Update version to 17.3.2
      • +
      + +

      Eric Engestrom (1):

      +
        +
      • egl: let each platform decided how to handle LIBGL_ALWAYS_SOFTWARE
      • +
      + +

      Rob Herring (1):

      +
        +
      • egl/android: Fix build break with dri2_initialize_android _EGLDisplay parameter
      • +
      + +

      Samuel Pitoiset (2):

      +
        +
      • radv/gfx9: fix primitive topology when adjacency is used
      • +
      • radv: use a faster version for nir_op_pack_half_2x16
      • +
      + +

      Tapani Pälli (2):

      +
        +
      • mesa: add AllowGLSLCrossStageInterpolationMismatch workaround
      • +
      • drirc: set allow_glsl_cross_stage_interpolation_mismatch for more games
      • +
      + + +
      + + diff -Nru mesa-17.2.4/docs/relnotes/17.3.3.html mesa-17.3.3/docs/relnotes/17.3.3.html --- mesa-17.2.4/docs/relnotes/17.3.3.html 1970-01-01 00:00:00.000000000 +0000 +++ mesa-17.3.3/docs/relnotes/17.3.3.html 2018-01-18 21:30:28.000000000 +0000 @@ -0,0 +1,150 @@ + + + + + Mesa Release Notes + + + + +
      +

      The Mesa 3D Graphics Library

      +
      + + +
      + +

      Mesa 17.3.3 Release Notes / January 18, 2018

      + +

      +Mesa 17.3.3 is a bug fix release which fixes bugs found since the 17.3.2 release. +

      +

      +Mesa 17.3.3 implements the OpenGL 4.5 API, but the version reported by +glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) / +glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used. +Some drivers don't support all the features required in OpenGL 4.5. OpenGL +4.5 is only available if requested at context creation +because compatibility contexts are not supported. +

      + + +

      SHA256 checksums

      +
      +TBD
      +
      + + +

      New features

      +

      None

      + + +

      Bug fixes

      + +
        + +
      • Bug 104214 - Dota crashes when switching from game to desktop
      • + +
      • Bug 104492 - Compute Shader: Wrong alignment when assigning struct value to structured SSBO
      • + +
      • Bug 104551 - Check if Mako templates for Python are installed
      • + +
      + + +

      Changes

      + +

      Alex Smith (3):

      +
        +
      • anv: Add missing unlock in anv_scratch_pool_alloc
      • +
      • anv: Take write mask into account in has_color_buffer_write_enabled
      • +
      • anv: Make sure state on primary is correct after CmdExecuteCommands
      • +
      + +

      Andres Gomez (1):

      +
        +
      • anv: Import mako templates only during execution of anv_extensions
      • +
      + +

      Bas Nieuwenhuizen (11):

      +
        +
      • radv: Invert condition for all samples identical during resolve.
      • +
      • radv: Flush caches before subpass resolve.
      • +
      • radv: Fix fragment resolve destination offset.
      • +
      • radv: Use correct framebuffer size for partial FS resolves.
      • +
      • radv: Always use fragment resolve if dest uses DCC.
      • +
      • Revert "radv/gfx9: fix block compression texture views."
      • +
      • radv: Use correct HTILE expanded words.
      • +
      • radv: Allow writing 0 scissors.
      • +
      • ac/nir: Handle loading data from compact arrays.
      • +
      • radv: Invalidate L1 for VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT.
      • +
      • ac/nir: Sanitize location_frac for local variables.
      • +
      + +

      Dave Airlie (8):

      +
        +
      • radv: fix events on compute queues.
      • +
      • radv: fix pipeline statistics end query on compute queue
      • +
      • radv/gfx9: fix 3d image to image transfers on compute queues.
      • +
      • radv/gfx9: fix 3d image clears on compute queues
      • +
      • radv/gfx9: fix buffer to image for 3d images on compute queues
      • +
      • radv/gfx9: fix block compression texture views.
      • +
      • radv/gfx9: use a bigger hammer to flush cb/db caches.
      • +
      • radv/gfx9: use correct swizzle parameter to work out border swizzle.
      • +
      + +

      Emil Velikov (1):

      +
        +
      • docs: add sha256 checksums for 17.3.2
      • +
      + +

      Florian Will (1):

      +
        +
      • glsl: Respect std430 layout in lower_buffer_access
      • +
      + +

      Juan A. Suarez Romero (6):

      +
        +
      • cherry-ignore: intel/fs: Use the original destination region for int MUL lowering
      • +
      • cherry-ignore: i965/fs: Use UW types when using V immediates
      • +
      • cherry-ignore: main: Clear shader program data whenever ProgramBinary is called
      • +
      • cherry-ignore: egl: pass the dri2_dpy to the $plat_teardown functions
      • +
      • cherry-ignore: vulkan/wsi: free cmd pools
      • +
      • Update version to 17.3.3
      • +
      + +

      Józef Kucia (1):

      +
        +
      • radeonsi: fix alpha-to-coverage if color writes are disabled
      • +
      + +

      Kenneth Graunke (2):

      +
        +
      • i965: Require space for MI_BATCHBUFFER_END.
      • +
      • i965: Torch public intel_batchbuffer_emit_dword/float helpers.
      • +
      + +

      Lucas Stach (1):

      +
        +
      • etnaviv: disable in-place resolve for non-supertiled surfaces
      • +
      + +

      Samuel Iglesias Gonsálvez (1):

      +
        +
      • anv: VkDescriptorSetLayoutBinding can have descriptorCount == 0
      • +
      + +

      Thomas Hellstrom (1):

      +
        +
      • loader/dri3: Avoid freeing renderbuffers in use
      • +
      + +

      Tim Rowley (1):

      +
        +
      • swr/rast: fix invalid sign masks in avx512 simdlib code
      • +
      + + +
      + + diff -Nru mesa-17.2.4/docs/relnotes.html mesa-17.3.3/docs/relnotes.html --- mesa-17.2.4/docs/relnotes.html 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/relnotes.html 2018-01-18 21:30:28.000000000 +0000 @@ -21,6 +21,15 @@

      Note, path set must exist before running for dumping or replacing to work. When both are set, these paths should be different so the dumped shaders do -not clobber the replacement shaders. +not clobber the replacement shaders. Also, the filenames of the replacement shaders +should match the filenames of the corresponding dumped shaders. +

      + +

      Capturing Shaders

      + +

      +Setting MESA_SHADER_CAPTURE_PATH to a directory will cause the compiler +to write .shader_test files for use with +shader-db, a tool +which compiler developers can use to gather statistics about shaders +(instructions, cycles, memory accesses, and so on). +

      +

      +Notably, this captures linked GLSL shaders - with all stages together - +as well as ARB programs.

      GLSL Version

      diff -Nru mesa-17.2.4/docs/sourcetree.html mesa-17.3.3/docs/sourcetree.html --- mesa-17.2.4/docs/sourcetree.html 2017-10-30 14:49:43.000000000 +0000 +++ mesa-17.3.3/docs/sourcetree.html 2018-01-18 21:30:28.000000000 +0000 @@ -145,7 +145,7 @@
    • xvmc - XvMC state tracker
    • vdpau - VDPAU state tracker
    • va - VA-API state tracker -
    • omx - OpenMAX state tracker +
    • omx_bellagio - OpenMAX Bellagio state tracker
  • winsys -