--- mesa-17.3.3.orig/bin/install_megadrivers.py +++ mesa-17.3.3/bin/install_megadrivers.py @@ -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() --- mesa-17.3.3.orig/debian/README.Debian +++ mesa-17.3.3/debian/README.Debian @@ -0,0 +1,18 @@ +Documentation for the libegl1-x11, libgles1, and libgles2 virtual +packages. + +Although there are is no standardised linux ABI for GL|ES, there is +a “strongly encouraged” set of standard headers, type and linkage definitions +supplied by the Khronos group[1]. The mesa implementation provides this ABI. +Any non-mesa implementation that wants to provide these packages should +conform to the Khronos group's de-facto ABI. + +The case of EGL is similar; Khronos again supplies a de-facto linux ABI. +The EGL ABI is necessarily tied to the native windowing system by the +eglNativeDisplayType, eglNativeWindowType, and eglNativePixmapType typedefs. +The EGL virtual package therefore includes the name of the x11 windowing +system to leave room should further windowing ABIs be standardised. + +[1]: http://www.khronos.org/registry/implementers_guide.html#uncontrolled + + -- Cyril Brulebois , Sat, 22 Jan 2011 06:03:46 +0100 --- mesa-17.3.3.orig/debian/README.source +++ mesa-17.3.3/debian/README.source @@ -0,0 +1,47 @@ +------------------------------------------------------ +Quick Guide To Patching This Package For The Impatient +------------------------------------------------------ + +1. Make sure you have quilt installed +2. Unpack the package as usual with "dpkg-source -x" +3. Run the "patch" target in debian/rules +4. Create a new patch with "quilt new" (see quilt(1)) +5. Edit all the files you want to include in the patch with "quilt edit" + (see quilt(1)). +6. Write the patch with "quilt refresh" (see quilt(1)) +7. Run the "clean" target in debian/rules + +Alternatively, instead of using quilt directly, you can drop the patch in to +debian/patches and add the name of the patch to debian/patches/series. + + +The X Strike Force team maintains X packages in git repositories on +git.debian.org in the pkg-xorg subdirectory. Most upstream packages +are actually maintained in git repositories as well, so they often +just need to be pulled into git.debian.org in a "upstream-*" branch. + +The .orig.tar.gz is upstream's mesa tarball. + +While building from git, dpkg-source can complain about symlinks vs. +normal files mismatches. To work around this issue, before uploading, +and without committing: + + find -type l | while read dest; do src=$(readlink -f $dest); rm $dest; cp $src $dest; done + +The Debian packaging is added by creating the "debian-*" git branch +which contains the aforementioned "upstream-*" branch plus the debian/ +repository files. +When a patch has to be applied to the Debian package, two solutions +are involved: +* If the patch is available in one of the upstream branches, it + may be git'cherry-picked into the Debian repository. In this + case, it appears directly in the .diff.gz. +* Otherwise, the patch is added to debian/patches/ which is managed + with quilt as documented in /usr/share/doc/quilt/README.source. + Thus, the patching system requires a build dependency on quilt. + +Updating debian/upstream/signing-key.asc with new keys requires the following steps: +* fetch the key: + gpg [--keyserver $server] --recv-keys $keyid +* export it to the file: + gpg --export-options export-minimal --export -a $keyid >> debian/upstream/signing-key.asc --- mesa-17.3.3.orig/debian/changelog +++ mesa-17.3.3/debian/changelog @@ -0,0 +1,4727 @@ +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 + * Make mesa-va-drivers enhance libva2 rather than libva1. + * vulkan-mir.patch: Dropped, breaks radeon vulkan driver. (LP: #1720890) + + -- Timo Aaltonen Wed, 08 Nov 2017 16:29:58 +0200 + +mesa (17.2.4-0ubuntu1) bionic; urgency=medium + + * New upstream bugfix release. (LP: #1727390) + * i965-disable-l3-cache-alloc-for-ext-buffers.diff: Fix corruption + running windowed 3D apps on dGPU. (LP: #1727401) + + -- Timo Aaltonen Tue, 07 Nov 2017 15:36:09 +0200 + +mesa (17.2.2-0ubuntu2) bionic; urgency=medium + + [ Andreas Boll ] + * Build with dh_libva (Closes: #879064). + + -- Jeremy Bicha Sat, 04 Nov 2017 15:43:28 -0400 + +mesa (17.2.2-0ubuntu1) artful; urgency=medium + + * New upstream bugfix release. + + -- Timo Aaltonen Tue, 03 Oct 2017 15:49:38 +0300 + +mesa (17.2.1-0ubuntu1) artful; urgency=medium + + * New upstream bugfix release. (LP: #1716250) + + -- Timo Aaltonen Mon, 18 Sep 2017 14:42:16 +0300 + +mesa (17.2.0-0ubuntu1) artful; urgency=medium + + * New upstream release. + * control, rules: Bump llvm/clang to 5.0, and libclc to match. + + -- Timo Aaltonen Tue, 05 Sep 2017 16:24:49 +0300 + +mesa (17.2.0~rc4-0ubuntu3) artful; urgency=medium + + * control: Build libxatracker* only on x86. + + -- Timo Aaltonen Tue, 15 Aug 2017 15:52:41 +0300 + +mesa (17.2.0~rc4-0ubuntu2) artful; urgency=medium + + * rules: Build gallium/svga only on x86. + + -- Timo Aaltonen Tue, 15 Aug 2017 15:26:38 +0300 + +mesa (17.2.0~rc4-0ubuntu1) artful; urgency=medium + + * New upstream release candidate. + * Merge from Debian. + * patches: Refresh Mir support patches. + + -- Timo Aaltonen Tue, 15 Aug 2017 10:28:24 +0300 + +mesa (17.2.0~rc3-1) experimental; urgency=medium + + * New upstream release candidate. + * control: Add wayland-protocols (>= 1.9) to Build-Depends. + * control: Bump libdrm-dev build dependency to 2.4.82. + * libegl1-mesa.symbols: Updated. + + -- Timo Aaltonen Tue, 08 Aug 2017 09:37:22 +0300 + +mesa (17.1.5-1) unstable; urgency=medium + + * Team upload. + + [ Jordan Justen ] + * New upstream release. + * Update Standards-Version to 4.0.0 for lintian + out-of-date-standards-version + + -- Timo Aaltonen Tue, 25 Jul 2017 09:04:49 +0300 + +mesa (17.1.4-1ubuntu1) artful; urgency=medium + + * Merge from Debian. + - update/refresh Mir patches + + -- Timo Aaltonen Mon, 03 Jul 2017 19:04:38 +0300 + +mesa (17.1.4-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Mon, 03 Jul 2017 18:29:51 +0300 + +mesa (17.1.3-2) unstable; urgency=medium + + * Upload to unstable. + + -- Emilio Pozuelo Monfort Tue, 27 Jun 2017 00:26:18 +0200 + +mesa (17.1.3-1) experimental; urgency=medium + + * New upstream release. + + -- Emilio Pozuelo Monfort Mon, 26 Jun 2017 00:03:57 +0200 + +mesa (17.1.2-2ubuntu2) artful; urgency=medium + + * egl-platform-mir.patch + * egl-platform-rs.patch + - Fix configure.ac so that the Mir EGL platforms are actually + built. (LP: #1526658) (LP: #1696797) + + -- Christopher James Halse Rogers Fri, 16 Jun 2017 17:51:50 +1000 + +mesa (17.1.2-2ubuntu1) artful; urgency=medium + + * Merge from Debian. + + -- Timo Aaltonen Tue, 13 Jun 2017 10:57:29 +0300 + +mesa (17.1.2-2) experimental; urgency=medium + + * rules: --with-egl-platforms is deprecated, use --with-platforms + instead. + * rules: Enable surfaceless EGL platform. + + -- Timo Aaltonen Tue, 13 Jun 2017 10:50:33 +0300 + +mesa (17.1.2-1ubuntu1) artful; urgency=medium + + * Merge from Debian. + * Refresh patches. + + -- Timo Aaltonen Wed, 07 Jun 2017 13:24:07 +0300 + +mesa (17.1.2-1) experimental; urgency=medium + + * New upstream release. + * Update d/upstream/signing-key.asc with key from Juan A. Suarez Romero. + * README.source: Add documentation about how to update d/u/signing- + key.asc. + + -- Timo Aaltonen Wed, 07 Jun 2017 10:32:08 +0300 + +mesa (17.1.0-1ubuntu1) artful; urgency=medium + + * Merge from Debian. + * i915-dont-default-to-2.1.patch: Dropped, implemented upstream. + * Refresh patches. + + -- Timo Aaltonen Fri, 12 May 2017 16:35:35 +0300 + +mesa (17.1.0-1) experimental; urgency=medium + + * New upstream release. + * control: Add zlib1g-dev to build-depends. + * control: Bump libdrm-dev build-dep to 2.4.80. + * libgbm1.symbols: Updated. + + -- Timo Aaltonen Thu, 11 May 2017 09:59:50 +0300 + +mesa (17.0.5-0ubuntu1) artful; urgency=medium + + * New upstream bugfix release. (LP: #1686344) + + -- Timo Aaltonen Thu, 04 May 2017 20:07:36 +0300 + +mesa (17.0.4-1ubuntu1) artful; urgency=medium + + * Merge from Debian. + + -- Timo Aaltonen Wed, 26 Apr 2017 11:01:18 +0300 + +mesa (17.0.4-1) experimental; urgency=medium + + * New upstrem release. + + -- Timo Aaltonen Wed, 19 Apr 2017 16:14:20 +0300 + +mesa (17.0.3-1ubuntu1) zesty; urgency=medium + + * Merge from Debian. + + -- Timo Aaltonen Mon, 03 Apr 2017 19:03:10 +0300 + +mesa (17.0.3-1) experimental; urgency=medium + + * New upstream release. + * Update d/upstream/signing-key.asc with key from Andres Gomez. + + -- Andreas Boll Mon, 03 Apr 2017 11:35:58 +0200 + +mesa (17.0.2-1ubuntu2) zesty; urgency=medium + + [ Cemil Azizoglu ] + * egl-platform-rs.patch: Add support for Mir's new render surface based + EGL driver + * khr_platform_mir.patch: Add EGL_KHR_platform_mir + * vulkan-mir.patch: Add Vulkan WSI driver for Mir + + -- Timo Aaltonen Tue, 28 Mar 2017 19:22:29 +0300 + +mesa (17.0.2-1ubuntu1) zesty; urgency=medium + + * Merge from Debian experimental. + + -- Timo Aaltonen Tue, 21 Mar 2017 13:36:51 +0200 + +mesa (17.0.2-1) experimental; urgency=medium + + [ Timo Aaltonen ] + * New upstream release. + + [ Andreas Boll ] + * Require LLVM on sparc64: + - Enables radeonsi, llvmpipe and radv drivers. + - Enables OpenCL support. + + -- Andreas Boll Tue, 21 Mar 2017 11:35:09 +0100 + +mesa (17.0.1-1ubuntu1) zesty; urgency=medium + + * Merge from Debian. + - enable llvmpipe on ppc64el (LP: #1489483) + + -- Timo Aaltonen Fri, 10 Mar 2017 14:25:48 +0200 + +mesa (17.0.1-1) experimental; urgency=medium + + [ Timo Aaltonen ] + * New upstream release. + + [ Andreas Boll ] + * Declare Multi-Arch: same for mesa-vulkan-drivers (Closes: #853897). + * Cherry-pick 7d1195c (clover: Work around build failure with + AltiVec.) from upstream master branch. + * Enable OpenCL on ppc64el (Closes: #810913). + * Require LLVM on more architectures (armel mips mips64el mipsel + powerpc ppc64): + - Enables radeonsi, llvmpipe and radv drivers. + - Enables OpenCL support. + + -- Andreas Boll Mon, 06 Mar 2017 15:15:00 +0100 + +mesa (17.0.0-1ubuntu1) zesty; urgency=medium + + [ Timo Aaltonen ] + * Merge from Debian. + * Drop patches for 16k wide textures on i965, upstream. + + [ Cemil Azizoglu ] + * Updated egl-platform-mir.patch. + - remove device_name field (removed from the generic struct in the + upstream and made wayland specific). + - Change MirSurfaceParameters into MirWindowParameters. + + -- Timo Aaltonen Mon, 13 Feb 2017 16:19:39 +0200 + +mesa (17.0.0-1) experimental; urgency=medium + + * New upstream release. + * control, rules: Bump clang/llvm to 4.0, and libclc to match. + + -- Timo Aaltonen Mon, 13 Feb 2017 15:46:47 +0200 + +mesa (17.0.0~rc3-1) experimental; urgency=medium + + [ Timo Aaltonen ] + * Drop libgles1. + + [ Andreas Boll ] + * New upstream release candidate. + * Drop transitional package libegl1-mesa-drivers. + * Remove Breaks/Replaces from pre-jessie. + * Explicitly disable LLVM on some arches. Should fix FTBFS on x32. + * Drop configure.ac-Require-LLVM-for-r300-only-on-x86-and-x.patch, + upstream. + * Cherry-pick 045f38a (vulkan: Don't install vk_platform.h or + vulkan.h). + * Update list of unwanted vulkan headers. + * Drop unused git-cleanup.sh script. Replaced with usage of --extend- + diff-ignore some time ago. + * Enable building etnaviv and imx on armhf (Closes: #852614). + - Bump libdrm-dev build-dep to 2.4.74-2~. + + -- Andreas Boll Mon, 06 Feb 2017 19:05:30 +0100 + +mesa (17.0.0~rc2-1) experimental; urgency=medium + + * New upstream release candidate. + * Add configure.ac-Require-LLVM-for-r300-only-on-x86-and-x.patch: + Should fix FTBFS on some arches. + * rules: Explicitly enable/disable gbm. Should fix FTBFS on hurd. + * Revert to debhelper compat 9 (Workaround for #851130). + + -- Andreas Boll Wed, 25 Jan 2017 16:45:53 +0100 + +mesa (17.0.0~rc1-1) experimental; urgency=medium + + * New upstream release candidate. + * Bump libdrm-dev build-dep to 2.4.74 per configure.ac. + * Bump libwayland-dev build-dep to 1.11.0 per configure.ac. + * Remove libgcrypt20-dev build-dep per configure.ac. + * Update watch url. + * Drop vl-zscan-fix-Fix-trivial-sign-compare-warnings.diff and r600- + sb-Fix-loop-optimization-related-hangs-on-eg.diff, upstream. + * Drop workaround-binutils-mips-844357.diff, binutils regression has + been fixed. + * Rename EGL_DISPLAYS to EGL_PLATFORMS. + * Update extend-diff-ignore. + + -- Andreas Boll Thu, 19 Jan 2017 18:39:06 +0100 + +mesa (13.0.6-1) unstable; urgency=medium + + * New upstream release. + + -- Andreas Boll Tue, 21 Mar 2017 14:02:03 +0100 + +mesa (13.0.5-1) unstable; urgency=medium + + * New upstream release. + * Switch mesa3d.org URLs to https. + * Update extend-diff-ignore. + + -- Andreas Boll Tue, 21 Feb 2017 13:13:50 +0100 + +mesa (13.0.4-1ubuntu1) zesty; urgency=medium + + * Merge from debian. + * radeonsi-always-leave-poly-offset-in-a-valid-state.diff: + Dropped, upstream. + + -- Timo Aaltonen Mon, 06 Feb 2017 09:47:24 +0200 + +mesa (13.0.4-1) unstable; urgency=medium + + * New upstream release. + * Drop vl-zscan-fix-Fix-trivial-sign-compare-warnings.diff and r600- + sb-Fix-loop-optimization-related-hangs-on-eg.diff, upstream. + * Drop workaround-binutils-mips-844357.diff, binutils regression has + been fixed (Closes: #852030). + * Revert to debhelper compat 9 (Workaround for #851130). + * Update extend-diff-ignore. + + -- Andreas Boll Wed, 01 Feb 2017 15:36:10 +0100 + +mesa (13.0.3-1ubuntu3) zesty; urgency=medium + + * control: Add dh-autoreconf back to build-deps, for backports. + * radeonsi-always-leave-poly-offset-in-a-valid-state.diff: + Fix fdo#99451. + + -- Timo Aaltonen Thu, 19 Jan 2017 18:59:24 +0200 + +mesa (13.0.3-1ubuntu2) zesty; urgency=medium + + * rules: Drop forcing -O2 to fix ppc64el ftbfs, gcc got fixed already. + (LP: #1605796) + * control: Fix dependencies for ubuntuBSD. (LP: #1565080) + * compat,rules: Don't bump compat to 10, breaks applying patches + before autoreconf which we need for the Mir EGL platform. + + -- Timo Aaltonen Thu, 12 Jan 2017 09:49:20 +0200 + +mesa (13.0.3-1ubuntu1) zesty; urgency=medium + + * Merge from Debian. + * intel: Add patches to support 16k textures. (LP: #1655556) + + -- Timo Aaltonen Wed, 11 Jan 2017 09:45:19 +0200 + +mesa (13.0.3-1) unstable; urgency=medium + + [ Timo Aaltonen ] + * New upstream release. + + [ Andreas Boll ] + * Add vl-zscan-fix-Fix-trivial-sign-compare-warnings.diff: Fixes mpeg2 + decoding on radeon GPUs without native mpeg2 support (Closes: + #846297). Thanks to Jörg-Volker Peetz for reporting and tracking + down this regression! + * Add r600-sb-Fix-loop-optimization-related-hangs-on-eg.diff: Fixes + GPU hangs on r600g (Evergreen and Northern Islands GPUs) in many + games. + + -- Timo Aaltonen Tue, 10 Jan 2017 17:38:23 +0200 + +mesa (13.0.2-3) unstable; urgency=medium + + * Fix typo to correctly disable asm on x32. Should fix FTBFS on x32. + * Add debian/source/format file. + + -- Andreas Boll Thu, 15 Dec 2016 16:42:25 +0100 + +mesa (13.0.2-2) unstable; urgency=medium + + * Bump llvm/libclang build-deps to >= 1:3.9.1. + - Enables support for OpenCL on AMD Polaris GPUs (Closes: #848173). + * Cherry-pick 6dc96de (cso: don't release sampler states that are + bound) from upstream master branch. Fixes random GPU hangs on + radeonsi (AMD Southern Islands and newer) in many games. + * Bump debhelper compat to 10. + * Stop passing --disable-silent-rules to configure, debhelper does + that for a while. + * Drop no longer needed dpkg-dev versioned build-dependency. + * Drop redundant cross-build detection, debhelper does this for us + already. + * Disable assembly usage on x32. Related to Bug #758094. + + -- Andreas Boll Thu, 15 Dec 2016 15:16:56 +0100 + +mesa (13.0.2-1ubuntu1) zesty; urgency=medium + + * Merge from Debian. + + -- Timo Aaltonen Tue, 29 Nov 2016 18:15:09 +0200 + +mesa (13.0.2-1) unstable; urgency=medium + + * New upstream release. + * workaround-binutils-mips-844357.diff: Add workaround for broken + binutils on mips*. Fixes invalid symbol table of libGL.so.1. See + also Bug #844357. + + -- Andreas Boll Tue, 29 Nov 2016 16:29:00 +0100 + +mesa (13.0.1-2) unstable; urgency=medium + + * Cherry-pick commit 1809f17 (mesa: Drop PATH_MAX usage.) from + upstream 13.0 branch. Should fix FTBFS on hurd (Closes: #843588). + * Enable extra HUD support for showing I/O stats of block/NIC devices. + * Enable HUD lmsensors support. + + -- Andreas Boll Mon, 28 Nov 2016 13:32:31 +0100 + +mesa (13.0.1-1ubuntu1) zesty; urgency=medium + + * Merge from Debian experimental. + * dri3-fix-totem-with-libva.diff: Dropped, upstream. + * egl-platform-mir.patch: Refreshed. + + -- Timo Aaltonen Wed, 23 Nov 2016 16:36:34 +0200 + +mesa (13.0.1-1) experimental; urgency=medium + + * New upstream release. + + -- Andreas Boll Mon, 14 Nov 2016 16:23:42 +0100 + +mesa (13.0.0-1) experimental; urgency=medium + + * New upstream release. + * Make mesa-vulkan-drivers.install more generic. Should fix FTBFS on + some arches. + * rules: Remove superfluous linux check. + * rules: Remove vulkan_intel.h only where it get installed in tmp. + Should fix FTBFS on some more arches. + * source/local-options: Update extend-diff-ignore. + + -- Andreas Boll Wed, 02 Nov 2016 11:49:13 +0100 + +mesa (13.0.0~rc2-1) experimental; urgency=medium + + * New upstream release candidate. + * control, rules: Use llvm/clang 3.9 (Closes: #836913). + * control: Bump libclc dependencies. + * Bump libdrm-dev build-dep to 2.4.69 per configure.ac. + * Remove libudev-dev and libudev1 dependencies per configure.ac. + * Enable OpenCL on kfreebsd-* since we don't need udev anymore. + * Enable radv vulkan driver. + * control: Remove superfluous linux- prefix. + * not-installed: wglext.h got dropped from the tarball. + * mesa-common-dev: Remove mesa_glinterop.h, upstream doesn't install + it anymore. + * Update libgles2-mesa.symbols. + * Update libgl1-mesa-glx.symbols. + * source/local-options: Update extend-diff-ignore. + * Update mesa-vulkan-drivers.lintian-overrides. + + -- Andreas Boll Tue, 25 Oct 2016 10:59:08 +0200 + +mesa (12.0.4-2ubuntu1) zesty; urgency=medium + + * Merge from Debian + - New upstream bugfix release. (LP: #1641017) + * dri3-fix-totem-with-libva.diff: Dropped, upstream. + + -- Timo Aaltonen Wed, 23 Nov 2016 14:04:45 +0200 + +mesa (12.0.4-2) unstable; urgency=medium + + * Limit new glx symbols to !hurd-any. Should fix FTBFS on hurd. + + -- Andreas Boll Fri, 11 Nov 2016 18:31:40 +0100 + +mesa (12.0.4-1) unstable; urgency=medium + + * New upstream release. + * not-installed: wglext.h got dropped from the tarball. + * mesa-common-dev: Remove mesa_glinterop.h, upstream doesn't install + it anymore. + * Update symbols of libegl1-mesa and libgl1-mesa-glx. + + -- Andreas Boll Fri, 11 Nov 2016 16:35:09 +0100 + +mesa (12.0.3-3) unstable; urgency=medium + + * Limit libgbm1 dependency to !hurd-any (Closes: #841774). Thanks, + Samuel Thibault! + + -- Andreas Boll Mon, 24 Oct 2016 10:18:09 +0200 + +mesa (12.0.3-2) unstable; urgency=medium + + * control: Add libtxc-dxtn-s2tc as an alternative in libgl1-mesa-dri's + Recommends (Closes: #839658). + * control: Add strictly versioned dependency on libgbm1 to libegl1- + mesa. + + -- Andreas Boll Fri, 21 Oct 2016 09:49:37 +0200 + +mesa (12.0.3-1ubuntu2) yakkety; urgency=medium + + * dri3-fix-totem-with-libva.diff: Fix apps crashing when libva is + being used with dri3. + + -- Timo Aaltonen Thu, 06 Oct 2016 11:58:42 +0300 + +mesa (12.0.3-1ubuntu1) yakkety; urgency=medium + + * Merge from Debian. + + [ Christopher James Halse Rogers ] + * egl-platform-mir.patch: Updated for upstream changes to dri2_initialize + in egl_dri2.c. (LP: #1620934, #1620994) + + -- Timo Aaltonen Fri, 16 Sep 2016 10:07:05 +0300 + +mesa (12.0.3-1) unstable; urgency=medium + + * New upstream release. + * Enable vc4 on arm64. + + -- Andreas Boll Thu, 15 Sep 2016 13:38:40 +0200 + +mesa (12.0.2-1ubuntu1) yakkety; urgency=medium + + * Merge from Debian. + * install.in: Modify a bit to be more in line with Debian. + + -- Timo Aaltonen Tue, 06 Sep 2016 15:05:17 +0300 + +mesa (12.0.2-1) unstable; urgency=medium + + * New upstream release. + * rules: Pass -c4 to dpkg-gensymbols through dh_makeshlibs, got + dropped with the migration to dh. + * rules: Replace deprecated debhelper option -s with -a. + * copyright: Sync with docs/license.html. + * Replace almost all dynamic debhelper config files with static files. + * rules: Drop unneeded override_dh_builddeb, xz is the default + compression type for dpkg-deb nowadays. + * Replace mesa-vulkan-drivers.post{inst,rm} with mesa-vulkan- + drivers.triggers. + * control: Only build-dep on libgcrypt20-dev on architectures where we + build mesa-vulkan-drivers. + * source/local-options: Add more files to extend-diff-ignore option. + Fixes 87 patch-system-but-direct-changes-in-diff lintian warnings. + + -- Andreas Boll Tue, 06 Sep 2016 10:37:23 +0200 + +mesa (12.0.1-3ubuntu2) yakkety; urgency=medium + + * debian/rules: Work around gcc ICE on ppc64el by forcing -O2. + + -- Adam Conrad Fri, 22 Jul 2016 16:46:48 -0600 + +mesa (12.0.1-3ubuntu1) yakkety; urgency=medium + + * egl-platform-mir.patch: Don't enable support for ABGR8888. (LP: + #1473901) + + -- Timo Aaltonen Mon, 18 Jul 2016 11:36:21 +0300 + +mesa (12.0.1-3) experimental; urgency=medium + + * rules, control: Build mesa-vulkan-drivers only on linux- + {amd64,i386,x32}. + + -- Timo Aaltonen Mon, 18 Jul 2016 16:31:00 +0300 + +mesa (12.0.1-2) experimental; urgency=medium + + * rules: Drop MESA_GIT_SHA1 hack because upstream uses build timestamp + instead. + * rules, not-installed: Handle removing unwanted vulkan headers in + rules instead. + + -- Timo Aaltonen Mon, 18 Jul 2016 11:45:01 +0300 + +mesa (12.0.1-1ubuntu1) yakkety; urgency=medium + + * Merge from debian experimental. + * Rebase Mir egl platform patch. + * Re-enable llvm on ppc64el to see if unity tests work. + + -- Timo Aaltonen Mon, 18 Jul 2016 08:37:54 +0300 + +mesa (12.0.1-1) experimental; urgency=medium + + * New upstream release candidate. + * symbols: Updated. + * mesa-common-dev: Add mesa_glinterop.h. + * Enable building intel vulkan driver on linux & kfreebsd, add + libgcrypt20-dev and libvulkan-dev to build-depends. + * rules: Tidy up override_dh_clean. + * rules: Use package version for MESA_GIT_SHA1. + * rules: Fix install of va drivers. + * gallivm-disable-avx512-features.diff: Removed, included upstream. + * control, rules: Enable llvm/opencl on arm64. (LP: #1585942) + + -- Timo Aaltonen Sat, 16 Jul 2016 13:03:04 +0300 + +mesa (11.2.2-1ubuntu1) yakkety; urgency=medium + + * Merge from debian. (LP: #1549849) + + -- Timo Aaltonen Fri, 13 May 2016 07:34:30 +0300 + +mesa (11.2.2-1) unstable; urgency=medium + + * New upstream release. + * control: Bump Standards-Version to 3.9.8 (no changes). + + -- Andreas Boll Wed, 11 May 2016 12:22:28 +0200 + +mesa (11.2.1-2) unstable; urgency=medium + + * gallivm-disable-avx512-features.diff: LLVM 3.8 enables AVX512 on all + Skylake CPU's when it's a server-CPU feature. Disable it from the + llvmpipe driver so that it doesn't crash on non-server Skylake. + + -- Timo Aaltonen Mon, 09 May 2016 15:17:24 +0300 + +mesa (11.2.1-1ubuntu1) yakkety; urgency=medium + + * Merge from Debian. + + -- Timo Aaltonen Thu, 21 Apr 2016 00:13:44 +0300 + +mesa (11.2.1-1) experimental; urgency=medium + + * New upstream release. + * control, rules: Use llvm/clang 3.8. + + -- Timo Aaltonen Mon, 18 Apr 2016 11:25:00 +0300 + +mesa (11.2.0-1ubuntu2) xenial; urgency=medium + + * control, rules: Enable mesa-opencl-icd now that the archive reorg + allows to build-depend on packages from universe. (LP: #1319835) + + -- Timo Aaltonen Thu, 14 Apr 2016 14:20:56 +0300 + +mesa (11.2.0-1ubuntu1) xenial; urgency=medium + + * Merge from debian. (LP: #1481832. #1548845) + + -- Timo Aaltonen Tue, 05 Apr 2016 10:19:51 +0300 + +mesa (11.2.0-1) experimental; urgency=medium + + [ Andreas Boll ] + * control: Fix vdpau-va-driver Breaks/Replaces for mesa-va-drivers + (Closes: #819655). + * control: Bump Standards-Version to 3.9.7 (no changes). + * watch: Update url to use https instead of ftp. + + [ Timo Aaltonen ] + * New upstream release. + * rules: Disable tests for now, most of them weren't run before anyway + and they cause unnecessary ftbfs on some archs. + + -- Andreas Boll Thu, 31 Mar 2016 16:52:51 +0200 + +mesa (11.2.0~rc4-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Timo Aaltonen Wed, 30 Mar 2016 09:35:05 +0300 + +mesa (11.2.0~rc3-2) experimental; urgency=medium + + * mesa-va-drivers: Build gallium VA driver, and add symlinks for + nouveau, r600 and radeonsi. + * control: Add vdpau-va-driver Breaks/Replaces for mesa-va-drivers. + + -- Timo Aaltonen Thu, 24 Mar 2016 14:01:20 +0200 + +mesa (11.2.0~rc3-1) experimental; urgency=medium + + * New upstream release candidate. + * Drop upstreamed patches. + * libgl1-mesa-glx.symbols: Remove dropped symbols. + * rules,control: Drop -dbg packages, we have -dbgsym now. + * rules, *.install.in, not-installed: Drop dri/-build prefix, we build + everything in one pass nowadays. + * control: Bump libdrm-dev build-dep to 2.4.67 for freedreno. + * rules: Migrate to dh. + * control: Add dh-autoreconf to build-depends. + + -- Timo Aaltonen Wed, 09 Mar 2016 01:01:55 +0200 + +mesa (11.1.3-1) unstable; urgency=medium + + * New upstream release. + + -- Andreas Boll Mon, 18 Apr 2016 19:04:40 +0200 + +mesa (11.1.2-1ubuntu2) xenial; urgency=medium + + * debian/patches/glibc2.23-pthreads-compat.patch: fix misuse of + pthread_barrier API. Closes LP: #1559842. + + -- Steve Langasek Mon, 21 Mar 2016 05:59:56 +0000 + +mesa (11.1.2-1ubuntu1) xenial; urgency=medium + + * Merge from Debian. + * control, rules: Use llvm-3.8 for OpenGL 4.1 support. (LP: #1535500) + + -- Timo Aaltonen Tue, 09 Feb 2016 13:40:00 +0200 + +mesa (11.1.2-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Thu, 11 Feb 2016 13:14:08 +0200 + +mesa (11.1.1-2) unstable; urgency=medium + + * Limit the symbols glXGetDriverConfig and glXGetScreenDriver to + arch=!hurd-any (Fixes FTBFS on hurd). + + -- Andreas Boll Fri, 15 Jan 2016 18:44:52 +0100 + +mesa (11.1.1-1ubuntu2) xenial; urgency=medium + + * Remove architecture restrictions on Mir EGL platform; + Mir is now built everywhere. + + -- Christopher James Halse Rogers Thu, 21 Jan 2016 17:07:05 -0600 + +mesa (11.1.1-1ubuntu1) xenial; urgency=medium + + * Merge from Debian. + * patches: Refreshed. + + -- Timo Aaltonen Fri, 04 Dec 2015 12:40:46 +0200 + +mesa (11.1.1-1) experimental; urgency=medium + + * New upstream release. + * Enable support for virgl (Closes: #807774). + * Enable support for vc4 (Closes: #809406). + * Enable support for freedreno on arm64. + + -- Andreas Boll Thu, 14 Jan 2016 11:27:28 +0100 + +mesa (11.1.0-1) experimental; urgency=medium + + * New upstream release. + * Add a patch to remove the unused symbol + _glapi_create_table_from_handle from libGL.so.1. + * Replace shlibs file with a symbols file for libgl1-mesa-glx. + + -- Andreas Boll Tue, 15 Dec 2015 20:24:10 +0100 + +mesa (11.1.0~rc3-1) experimental; urgency=medium + + * New upstream release candidate. + * Bump libdrm-dev build-dep to 2.4.65. + * Update symbols for libgles2-mesa and libxatracker2. + * Remove Breaks/Conflicts/Provides/Replaces from pre-wheezy. + * Remove duplicated field "Priority" from package libgl1-mesa-dri. + * Declare Multi-Arch: same for mesa-opencl-icd{,-dbg} (Closes: + #804919). + * Add a Lintian override for symbols-declares-dependency-on-other- + package libgbm1-private. + * Remove obsolete libgl1-mesa-dri.lintian-overrides. + + -- Andreas Boll Thu, 10 Dec 2015 12:22:54 +0100 + +mesa (11.0.8-1ubuntu1) xenial; urgency=medium + + * Merge from debian. + + -- Timo Aaltonen Tue, 22 Dec 2015 16:59:55 +0200 + +mesa (11.0.8-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Tue, 22 Dec 2015 16:12:35 +0200 + +mesa (11.0.7-1ubuntu1) xenial; urgency=medium + + * Merge from Debian. + - new bugfix release + + -- Timo Aaltonen Thu, 10 Dec 2015 14:35:28 +0200 + +mesa (11.0.7-1) unstable; urgency=medium + + [ Julien Cristau ] + * Update debian/copyright from docs/license.html (closes: #806805). Thanks, + Steinar H. Gunderson! + + [ Andreas Boll ] + * New upstream release. + + -- Andreas Boll Wed, 09 Dec 2015 21:18:17 +0100 + +mesa (11.0.6-1ubuntu1) xenial; urgency=medium + + * Merge from Debian. + - new bugfix release + + -- Timo Aaltonen Mon, 30 Nov 2015 16:24:08 +0200 + +mesa (11.0.6-1) unstable; urgency=medium + + * New upstream release. + * Bump libvdpau-dev build-dep. + * Add docs-Replace-sourceforge-logo-with-a-text-link.patch (Fixes + Lintian error privacy-breach-logo). + * Add some Lintian overrides for package-name-doesnt-match-sonames. + + -- Andreas Boll Fri, 27 Nov 2015 08:59:30 +0100 + +mesa (11.0.5-1ubuntu2) xenial; urgency=medium + + * debian/{rules,control}: Duplicate ppc/arm64 Mir disabling for s390x. + + -- Adam Conrad Tue, 24 Nov 2015 00:08:47 -0700 + +mesa (11.0.5-1ubuntu1) xenial; urgency=medium + + * Merge from Debian. + - new upstream bugfix release + + -- Timo Aaltonen Thu, 12 Nov 2015 16:49:01 +0200 + +mesa (11.0.5-1) unstable; urgency=medium + + * New upstream release. + * Add myself to Uploaders. + + -- Andreas Boll Thu, 12 Nov 2015 11:55:02 +0100 + +mesa (11.0.4-1ubuntu1) xenial; urgency=medium + + [ Timo Aaltonen ] + * Merge from Debian. + * patches: Dropped patches included in this release, fix Mir patch + FTBFS. (LP: #1509005) + + [ Christopher James Halse Rogers ] + * patches: Fix Mir patch harder. + + -- Timo Aaltonen Wed, 28 Oct 2015 07:58:56 +0200 + +mesa (11.0.4-1) unstable; urgency=medium + + [ Andreas Boll ] + * New upstream release. + * Cherry-pick commit 70e91d6 (i965: Remove early release of DRI2 + miptree) from upstream (Closes: #769518). + * control: Add libclc-amdgcn to mesa-opencl-icd depends. + + -- Timo Aaltonen Mon, 26 Oct 2015 10:30:04 +0200 + +mesa (11.0.2-1ubuntu4) wily; urgency=medium + + * core-fix-EXT_texture_format_BGRA8888.patch: Cherry pick upstream commit + fixing incorrectly-strict error handling in format code. Fixes black + windows in Weston and Mir (LP: #1504387) + + -- Christopher James Halse Rogers Fri, 09 Oct 2015 14:45:54 +1100 + +mesa (11.0.2-1ubuntu3) wily; urgency=medium + + * d/patches/egl-platform-mir.patch: add mirclient dependency (LP: #1503450) + + -- Tiago Stürmer Daitx Tue, 06 Oct 2015 22:05:12 +0000 + +mesa (11.0.2-1ubuntu2) wily; urgency=medium + + * control, rules: Disable LLVM on ppc64el again, until unity tests + pass with it. + + -- Timo Aaltonen Fri, 02 Oct 2015 15:45:56 +0300 + +mesa (11.0.2-1ubuntu1) wily; urgency=medium + + * Merge from debian. + - new upstream bugfix release + + -- Timo Aaltonen Wed, 30 Sep 2015 15:19:09 +0300 + +mesa (11.0.2-1) experimental; urgency=medium + + [ Andreas Boll ] + * control: Bump libclc dependencies. + + [ Timo Aaltonen ] + * New upstream release. + * rules, control: Enable llvmpipe on ppc64el. (LP: #1489483) + + -- Timo Aaltonen Tue, 29 Sep 2015 16:35:59 +0300 + +mesa (11.0.0-1ubuntu1) wily; urgency=medium + + * Merge from Debian. (LP: #1484279) + * egl-platform-mir.patch: Updated. + * i965-remove-early-release-of-dri2-miptree.patch: Add a workaround to + fix crashes in brw_meta_fast_clear. (LP: #1492037) + * control, rules: Default to llvm-3.6 again, because 3.7 won't be in + main for wily. + + -- Timo Aaltonen Tue, 22 Sep 2015 19:20:17 +0300 + +mesa (11.0.0-1) experimental; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Mon, 14 Sep 2015 14:23:13 +0300 + +mesa (11.0.0~rc3-1) experimental; urgency=medium + + [ Andreas Boll ] + * Use https for Vcs-* fields. + + [ Timo Aaltonen ] + * New upstream release candidate. + + -- Timo Aaltonen Mon, 07 Sep 2015 15:04:32 +0300 + +mesa (11.0.0~rc2-1) experimental; urgency=medium + + * New upstream release candidate. + + -- Timo Aaltonen Wed, 02 Sep 2015 11:38:28 +0300 + +mesa (11.0.0~rc1-1) experimental; urgency=medium + + [ Andreas Boll ] + * New upstream release candidate. + * control: Drop unneeded libomxil-bellagio-dev build-dep. + * rules: Explicitly disable vaapi (Closes: #789100). + * control: Update upstream url. + * control: Update Vcs-* fields. + * Drop libgl1-mesa-swx11* packages. + * control: Update package description. + + [ Timo Aaltonen ] + * control: Delete commented out libgl1-mesa-glx-i686 from the file. + * control: Bump llvm/libclang build-deps to match versions where + amdgpu is enabled. + + -- Timo Aaltonen Mon, 24 Aug 2015 11:15:16 +0300 + +mesa (11.0.0~git20150817-1) experimental; urgency=medium + + * New upstream snapshot + * control: Bump libdrm build-dep to 2.4.63. + * control: Add libomxil-bellagio-dev to build-deps. + * rules: Disable gles1 & 2 for swx11 builds. + * libegl1-mesa.symbols, libgles2-mesa.symbols: Updated + * control, rules: Migrate to llvm 3.7. + * rules: Enable llvmpipe on armhf again. + + -- Timo Aaltonen Tue, 18 Aug 2015 07:53:45 +0300 + +mesa (10.6.8-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Tue, 22 Sep 2015 17:21:49 +0300 + +mesa (10.6.7-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Mon, 14 Sep 2015 11:15:23 +0300 + +mesa (10.6.5-1) unstable; urgency=medium + + [ Andreas Boll ] + * New upstream release. + + [ Julien Cristau ] + * Break libopengl-perl (<< 0.6704+dfsg-2), thanks to Niko Tyni + (closes: #796918) + + -- Timo Aaltonen Wed, 02 Sep 2015 12:26:37 +0300 + +mesa (10.6.4-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Wed, 19 Aug 2015 09:11:47 +0300 + +mesa (10.6.3-1ubuntu1) wily; urgency=medium + + * Merge from debian-experimental git. + * Drop skl-*, i965-* patches, upstream. + * egl-platform-mir.patch: Updated. + + -- Timo Aaltonen Tue, 11 Aug 2015 08:00:09 +0300 + +mesa (10.6.3-1) unstable; urgency=medium + + * New upstream release. + * libegl1-mesa.symbols: Updated. + * not-installed: Dropped wmesa.h which is gone. + * libgles{1,2}-mesa.symbols: Updated. + * libegl1-mesa.symbols: Drop a spurious comment. + * source/local-options: Updated extend-diff-ignore. + * mesa-common-dev.docs: Updated. + * Delete i965-do_blit...patch, upstream. + + -- Timo Aaltonen Tue, 28 Jul 2015 11:12:44 +0300 + +mesa (10.5.9-2ubuntu1) wily; urgency=medium + + * Merge from Debian unstable. + + -- Timo Aaltonen Fri, 10 Jul 2015 14:02:38 +0300 + +mesa (10.5.9-2) unstable; urgency=medium + + * i965-do_blit_drawpixels-decode-array-formats.patch: Fix a regression + since 10.5.5, allow using blit fastpath again. + + -- Timo Aaltonen Fri, 10 Jul 2015 13:01:40 +0300 + +mesa (10.5.9-1ubuntu1) wily; urgency=medium + + * Merge from Debian unstable. + * skl-use-1-register-for-uniform-pull.diff dropped, upstream. + + -- Timo Aaltonen Mon, 06 Jul 2015 10:03:58 +0300 + +mesa (10.5.9-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Mon, 06 Jul 2015 08:56:26 +0300 + +mesa (10.5.8-1ubuntu2) wily; urgency=medium + + * i965-store-the-gpu-revision.diff, + i965-refactor-simd16-to-2xsimd8-checks.diff, + i965-define-i915-param-revision.diff, + skl-break-down-simd16-3-source-instructions.diff: + Fix noise in Unity, torcs et al. (LP: #1471213) + + -- Timo Aaltonen Fri, 03 Jul 2015 15:08:26 +0300 + +mesa (10.5.8-1ubuntu1) wily; urgency=medium + + * Merge from Debian unstable. + + -- Timo Aaltonen Thu, 25 Jun 2015 21:34:12 +0300 + +mesa (10.5.8-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Thu, 25 Jun 2015 18:50:11 +0300 + +mesa (10.5.7-1ubuntu1) wily; urgency=medium + + * Merge from Debian unstable, remaining changes + - libclc/clang is not in main, drop building mesa-opencl-icd + - drop building the software rasterizer + - llvm-3.6 is the default on Ubuntu, use it + - install GL/EGL libs under a separate dir to not conflict with + blobs, use alternatives for ldconfig + - patches: + egl-platform-mir.patch: Mir EGL platform + i915-dont-default-to-2.1.patch: revert of i915 forced OpenGL + 2.1 commit + skl-*: backports for Skylake + * control: Add libmirclient-dev to build-depends. + + -- Timo Aaltonen Tue, 16 Jun 2015 14:33:48 +0300 + +mesa (10.5.7-1) unstable; urgency=medium + + * New upstream release. + * control: Bump policy to 3.9.6, no changes. + + -- Timo Aaltonen Tue, 16 Jun 2015 11:57:08 +0300 + +mesa (10.5.5-1) unstable; urgency=medium + + [ Maarten Lankhorst ] + * New upstream release. + * Update watch file. + + [ Timo Aaltonen ] + * libegl1-mesa.symbols: Updated. + + -- Timo Aaltonen Tue, 12 May 2015 13:26:49 +0300 + +mesa (10.5.2-0ubuntu1) vivid; urgency=medium + + * Merge from unreleased experimental git + - new upstream bugfix release + * egl-platform-mir.patch: Refreshed. + + -- Timo Aaltonen Mon, 30 Mar 2015 15:07:30 +0300 + +mesa (10.5.0-0ubuntu1) vivid; urgency=medium + + * Merge with unreleased debian-experimental. + + -- Maarten Lankhorst Mon, 09 Mar 2015 14:10:00 +0100 + +mesa (10.5.0~rc3-0ubuntu1) vivid; urgency=medium + + * Merge with unreleased debian-experimental. + * Drop skl-implement-wadisable1ddepthstencil.diff, upstreamed. + + -- Maarten Lankhorst Mon, 02 Mar 2015 11:45:53 +0100 + +mesa (10.5.0~rc2-0ubuntu1) vivid; urgency=medium + + * Merge with unreleased debian-experimental. + + -- Maarten Lankhorst Mon, 16 Feb 2015 09:35:43 +0100 + +mesa (10.5.0~rc1-0ubuntu2) vivid; urgency=medium + + * Add a couple of backported fixes for Skylake: + skl-use-1-register-for-uniform-pull.diff + skl-use-vec4-datatypes-for-message-header.diff + skl-implement-wadisable1ddepthstencil.diff + + -- Timo Aaltonen Fri, 20 Feb 2015 08:54:44 +0200 + +mesa (10.5.0~rc1-0ubuntu1) vivid; urgency=medium + + [ Timo Aaltonen ] + * Update Mir patch. + + [ Maarten Lankhorst ] + * Merge from unreleased debian-experimental. + + -- Maarten Lankhorst Thu, 19 Feb 2015 11:28:53 +0100 + +mesa (10.4.2-2ubuntu5) vivid; urgency=medium + + * Fix ftbfs from no longer including libmirclient-dev. + + -- Maarten Lankhorst Wed, 11 Feb 2015 09:21:54 +0100 + +mesa (10.4.2-2ubuntu4) vivid; urgency=medium + + * debian/control: + - Change build-dep for mir to mir-client-platform-mesa-dev. + * debian/patches/egl-platform-mir.patch: + - Fix potential double free (LP: #1414999). + - Fix gbm_device leak (LP: #1419704). + - Fix dri_buffers[front/back] leak (LP: #1419710). + - Use mir-client-platform-mesa-dev to get Mir build flags. + + -- Alexandros Frantzis Mon, 09 Feb 2015 12:35:56 +0200 + +mesa (10.4.2-2ubuntu3) vivid; urgency=medium + + * egl-platform-mir.patch: Fix memory leak. (LP:#1418486) + + -- Timo Aaltonen Fri, 06 Feb 2015 12:12:01 +0200 + +mesa (10.4.2-2ubuntu2) vivid; urgency=medium + + * Flip the switch to llvm 3.6 with patches backported from upstream. + * Add upstream workaround for hangs on gen4. (LP: #1388612) + + -- Maarten Lankhorst Thu, 29 Jan 2015 13:27:10 +0100 + +mesa (10.4.2-2ubuntu1) vivid; urgency=medium + + [ Timo Aaltonen ] + * Merge from Debian experimental. + + [ Maarten Lankhorst ] + * Disable opencl after it was re-enabled accidentally in the merge. + + -- Maarten Lankhorst Tue, 20 Jan 2015 10:30:20 +0100 + +mesa (10.4.2-2) unstable; urgency=medium + + * rules: Drop dh_makeshlibs exception on gbm_gallium_drm.so as it's + gone now. + * control: Add depends on libwayland-egl1-mesa to libegl1-mesa-dev, + since it ships libwayland-egl.so on Linux. + * control: Mark libegl1-mesa-drivers M-A: same again. (Closes: + #775370) + + -- Timo Aaltonen Thu, 15 Jan 2015 15:28:40 +0200 + +mesa (10.4.2-1) experimental; urgency=medium + + * New upstream release. + * control, rules, libopenvg*, libgbm1, libegl1-mesa-drivers: + Drop EGL/GBM state trackers and OpenVG. + * control: Make libegl1-mesa-drivers transitional. + + -- Timo Aaltonen Tue, 13 Jan 2015 13:43:51 +0200 + +mesa (10.3.2-0ubuntu1) vivid; urgency=medium + + * Merge from unreleased debian-unstable. + + -- Maarten Lankhorst Mon, 27 Oct 2014 08:43:19 +0100 + +mesa (10.3.2-1) unstable; urgency=medium + + [ Sven Joachim ] + * New upstream stable release. + - Fixes crashes in vdpau with the r600g driver (Closes: #766058). + + -- Julien Cristau Mon, 27 Oct 2014 11:40:24 +0100 + +mesa (10.3.1-1ubuntu1) utopic; urgency=medium + + * Merge with released debian unstable, no changes in packaging. + - New upstream release. (LP: #1384289) + + -- Maarten Lankhorst Thu, 23 Oct 2014 12:50:53 +0200 + +mesa (10.3.1-1) unstable; urgency=medium + + * Build libgbm on kfreebsd (fixes FTBFS). + * New upstream stable release. + * Upload to unstable. + + -- Julien Cristau Mon, 13 Oct 2014 17:56:27 +0200 + +mesa (10.3.0-2) experimental; urgency=medium + + * Add missing Replaces/Breaks for the gallium-pipe move. + + -- Julien Cristau Fri, 10 Oct 2014 00:09:47 +0200 + +mesa (10.3.0-0ubuntu3) utopic; urgency=medium + + [ Andreas Pokorny ] + * debian/patches/egl-platform-mir.patch: + - Add support for get_image_buffers and KHR_image_pixmap. + + [ Alexandros Frantzis ] + * debian/patches/egl-platform-mir.patch: + - Update for Mesa 10.3 (LP: #1377853). + + -- Alexandros Frantzis Tue, 07 Oct 2014 13:06:26 +0300 + +mesa (10.3.0-0ubuntu2) utopic; urgency=medium + + * Add depends on libgl1-mesa-dri to some packages. + - libgl1-mesa-glx, libegl1-mesa and libgbm1 depend on the dri + files to be installed, even for swrast support. (LP: #1374131) + + -- Maarten Lankhorst Mon, 29 Sep 2014 14:33:23 +0200 + +mesa (10.3.0-0ubuntu1) utopic; urgency=medium + + * New upstream release. (LP: #1364003) + * Merge from released debian-experimental. + + -- Maarten Lankhorst Mon, 22 Sep 2014 15:42:27 +0200 + +mesa (10.3.0-1) experimental; urgency=medium + + [ Maarten Lankhorst ] + * New upstream release. + * Remove upstreamed patch. + - 01_gallium-util-add-missing-u_debug-include.patch + + [ Andreas Boll ] + * Move gallium-pipe installation from libgl1-mesa-dri.install.linux.in + to mesa-opencl-icd.install.in, because it's only needed for opencl. + + -- Maarten Lankhorst Wed, 08 Oct 2014 10:30:05 +0200 + +mesa (10.3.0~rc3-3) experimental; urgency=medium + + [ Andreas Boll ] + * Bump llvm-3.5-dev and libclang-3.5-dev to 1:3.5-1, should fix FTBFS on + kfreebsd-*. + * Bump compat to v9 for changed dh_strip behavior: + - dh_strip puts separated debug symbols in a location based on their + build-id (Closes: #755921). + * Drop redundant libegl1-mesa-drivers.install.linux.in. + + [ Dima Kogan ] + * All -dev packages are now Multi-Arch: same (Closes: #689088, #678040). + + [ Julien Cristau ] + * Upload clean source without partial Ubuntu alternatives patches (closes: #761678) + + -- Julien Cristau Mon, 15 Sep 2014 22:39:15 +0200 + +mesa (10.3.0~rc3-2) experimental; urgency=medium + + [ Andreas Boll ] + * Add 01_gallium-util-add-missing-u_debug-include.patch, fixes FTBFS on + big endian archs. + * Enable --with-egl-platforms=drm on kfreebsd-any, should fix FTBFS. + * Don't try to install vdpau hardlinks on hurd, should fix FTBFS. + + [ Fabio Pedretti ] + * debian/rules: minor cleanup. + + -- Maarten Lankhorst Mon, 15 Sep 2014 11:01:55 +0200 + +mesa (10.3.0~rc3-1) experimental; urgency=medium + + [ Maarten Lankhorst ] + * Build with llvm 3.5. + * New upstream release. + * Remove mention of tdfx. + + [ Timo Aaltonen ] + * mesa-common-dev: Add glcorearb.h. + * not-installed: Skip libglapi.so. + + -- Maarten Lankhorst Mon, 08 Sep 2014 15:50:42 +0200 + +mesa (10.2.6-1ubuntu3) utopic; urgency=medium + + * And revert again for now.. (LP: #1360241) + + -- Maarten Lankhorst Fri, 22 Aug 2014 15:02:30 +0200 + +mesa (10.2.6-1ubuntu2) utopic; urgency=medium + + * Fixup typo. + + -- Maarten Lankhorst Thu, 21 Aug 2014 18:39:52 +0200 + +mesa (10.2.6-1ubuntu1) utopic; urgency=medium + + * Drop 101_ubuntu_hidden_glname.patch. + - 8 years old patch supposedly to fix glx-tls, but if it was + important nowadays I would have expected it in upstream by now. + * Rebuild against llvm 3.5-rc3. + * Add explicit depends on llvm 3.5-rc3 for libgl1-mesa-dri. + + -- Maarten Lankhorst Thu, 21 Aug 2014 15:27:00 +0200 + +mesa (10.2.6-1) unstable; urgency=medium + + * New upstream release. + * Drop x32-updates.diff, upstream. + + -- Maarten Lankhorst Thu, 21 Aug 2014 15:06:36 +0200 + +mesa (10.2.5-1ubuntu2) utopic; urgency=medium + + * Temporarily revert to llvm 3.4, too many regressions. + + -- Maarten Lankhorst Wed, 13 Aug 2014 23:11:15 +0200 + +mesa (10.2.5-1ubuntu1) utopic; urgency=low + + * Rebuild with llvm 3.5. + + -- Maarten Lankhorst Tue, 12 Aug 2014 13:05:29 +0200 + +mesa (10.2.5-1) unstable; urgency=medium + + [ Andreas Boll ] + * New upstream release. + - nv50: fix build failure on m68k due to invalid struct alignment + assumptions (Closes: #728053). + - i915: Fix up intelInitScreen2 for DRI3 (Closes: #754297). + + [ Matthias Klose ] + * Add patch to fix FTBFS on x32. (Closes: #757703) + - x32-updates.patch + + [ Maarten Lankhorst ] + * Enable support for freedreno. + + -- Maarten Lankhorst Mon, 11 Aug 2014 13:34:58 +0200 + +mesa (10.2.4-1) unstable; urgency=medium + + * New upstream release. + + -- Julien Cristau Sun, 20 Jul 2014 10:20:05 +0200 + +mesa (10.2.3-0ubuntu1) utopic; urgency=low + + * Merge from unreleased unstable to fix vmwgfx. + + -- Maarten Lankhorst Wed, 09 Jul 2014 11:57:29 +0200 + +mesa (10.2.3-1) unstable; urgency=low + + [ Maarten Lankhorst ] + * New upstream release. + + [ Julien Cristau ] + * Add debian/upstream/signing-key.asc, and add pgpsigurlmangle option to + debian/watch so uscan can check signatures on release tarballs. + + -- Julien Cristau Wed, 09 Jul 2014 19:39:06 +0200 + +mesa (10.2.2-1ubuntu1) utopic; urgency=medium + + * Merge with released debian unstable. + - New upstream release. + + -- Maarten Lankhorst Thu, 03 Jul 2014 11:44:05 +0200 + +mesa (10.2.2-1) unstable; urgency=medium + + [ Andreas Boll ] + * New upstream release. + - glx: Don't crash on swap event for a Window (non-GLXWindow) + (Closes: #685328). + - 01_targets-xa-limit-the-amount-of-exported-symbols.diff dropped, + upstream + * Cherry-pick commit b4dcf87 (glxext: Send the Drawable's ID in the + GLX_BufferSwapComplete event) from upstream, fixes intel + dri3. + + -- Maarten Lankhorst Thu, 03 Jul 2014 09:54:48 +0200 + +mesa (10.2.1-2ubuntu3) utopic; urgency=low + + * Fix segfault in Mir EGL platform on i965 (LP: #1336854) + + -- Christopher James Halse Rogers Thu, 03 Jul 2014 11:52:41 +1000 + +mesa (10.2.1-2ubuntu2) utopic; urgency=medium + + * Fix FTBFS by fixing 117-static-gallium.patch + + -- Maarten Lankhorst Wed, 25 Jun 2014 11:41:13 +0200 + +mesa (10.2.1-2ubuntu1) utopic; urgency=medium + + * Merge with released debian unstable. + - New upstream release. + - Drop upstreamed patches. + - Refresh mir patch. + + -- Maarten Lankhorst Mon, 23 Jun 2014 15:52:33 +0200 + +mesa (10.2.1-2) unstable; urgency=medium + + * Upload to unstable. + + -- Maarten Lankhorst Mon, 23 Jun 2014 12:00:09 +0200 + +mesa (10.2.1-1) experimental; urgency=medium + + [ Andreas Boll ] + * New upstream release. + - 01_glapi-Duplicate-GLES1-prototypes-in-glapi_dispatch.c.diff + dropped, upstream + * Add 01_targets-xa-limit-the-amount-of-exported-symbols.diff, fixes + FTBFS with gcc-4.9. + [ Maarten Lankhorst ] + * Attempt to fix a FTBFS on hurd. + + -- Maarten Lankhorst Mon, 16 Jun 2014 15:41:59 +0200 + +mesa (10.2.0~rc4-2) experimental; urgency=medium + + [ Andreas Boll ] + * Add 01_glapi-Duplicate-GLES1-prototypes-in-glapi_dispatch.c.diff, + should fix FTBFS on non-i386 and non-amd64. + + [ Emilio Pozuelo Monfort ] + * Upload to experimental. + + -- Emilio Pozuelo Monfort Sat, 31 May 2014 00:44:19 +0200 + +mesa (10.2.0~rc4-1) experimental; urgency=medium + + [ Fabio Pedretti ] + * debian/rules: remove unused --with-llvm-shared-libs configure option + * debian/control: remove python-libxml2 dependency + + [ Julien Cristau ] + * Bump libdrm-dev build-dep to 2.4.54 per configure.ac. + * Bump libxcb-dri2 and libxcb-glx build-deps per configure.ac. + * Remove Cyril Brulebois from Uploaders. + * debian/rules: explicitly disable omx. + + [ Maarten Lankhorst ] + * New upstream release candidate. + + [ Andreas Boll ] + * New upstream release candidate. + - 01_no_undefined.diff dropped, upstream + * Don't try to enable xa on !linux. + + [ Emilio Pozuelo Monfort ] + * Upload to experimental. + + -- Emilio Pozuelo Monfort Sat, 24 May 2014 15:16:23 +0200 + +mesa (10.2.0~rc1-1) experimental; urgency=medium + + [ Timo Aaltonen ] + * New upstream release candidate. + - 02_gbm_no_undefined.diff dropped, upstream + - 03_gbm_make_devices_static.diff dropped, upstream + * control: Bump libdrm-dev build-dependency. + * Drop a symbol from libxatracker2. + * libosmesa6: Bump the soname to upstream default (8), drop + 04_osmesa_version.diff. Add a symlink with the old name to point to + the new lib. + + [ Julien Cristau ] + * Add 01_no_undefined.diff to actually add -Wl,--no-undefined to the linker + flags for our shared libraries. + + [ Andreas Boll ] + * Relax ocl-icd-libopencl1 dependency to allow the generic virtual + libopencl1 as a valid alternative (Closes: #745765). + * Add missing separator between dependency items '${misc:Depends}' + and 'libglapi-mesa (= ${binary:Version})'. + + -- Julien Cristau Wed, 14 May 2014 22:57:08 +0200 + +mesa (10.1.4-1) unstable; urgency=medium + + [ Timo Aaltonen ] + * New upstream release. + + [ Andreas Boll ] + * New upstream release. + * Bump llvm-3.4-dev and libclang-3.4-dev to 1:3.4.1-3 + - Enables geometry shaders on radeonsi + + [ Emilio Pozuelo Monfort ] + * Upload to unstable. + + -- Emilio Pozuelo Monfort Tue, 27 May 2014 12:05:35 +0200 + +mesa (10.1.3-0ubuntu1) utopic; urgency=medium + + [ Maarten Lankhorst ] + * Merge from unreleased debian-unstable. + + [ Timo Aaltonen ] + * fix-gpu-hangs-on-bdw.diff: Upstream commit to fix various GPU hangs + on Broadwell. (LP: #1318589) + + -- Maarten Lankhorst Mon, 12 May 2014 09:51:08 +0000 + +mesa (10.1.2-1) unstable; urgency=medium + + [ Andreas Boll ] + * New upstream release. + + i965: Don't enable reset notification support on Gen4-5 (Closes: #746557) + + -- Julien Cristau Tue, 06 May 2014 09:31:26 +0200 + +mesa (10.1.1-1) unstable; urgency=low + + [ Andreas Boll ] + * New upstream release. + * Relax ocl-icd-libopencl1 dependency to allow the generic virtual + libopencl1 as a valid alternative (Closes: #745765). + * Add missing separator between dependency items '${misc:Depends}' + and 'libglapi-mesa (= ${binary:Version})'. + + -- Julien Cristau Sun, 27 Apr 2014 19:51:45 +0200 + +mesa (10.1.0-4ubuntu5) trusty; urgency=medium + + * enable-bdw.diff: Enable Broadwell support. (LP: #1300258) + * fix-unity-on-bdw.diff: Fix rendering on unity. + + -- Timo Aaltonen Mon, 14 Apr 2014 09:59:17 +0300 + +mesa (10.1.0-4ubuntu4) trusty; urgency=medium + + * Cherry-pick patches to improve stability with vmware. (LP: #1284134) + + -- Maarten Lankhorst Thu, 10 Apr 2014 12:08:10 +0200 + +mesa (10.1.0-4ubuntu3) trusty; urgency=medium + + * i965-dont-call-abort-on-unknown-dev.diff: Allow using a fallback + driver when the native one doesn't support the device. + + -- Timo Aaltonen Wed, 09 Apr 2014 12:42:49 +0300 + +mesa (10.1.0-4ubuntu2) trusty; urgency=medium + + * fix-kwin.diff: i965; Don't check reset status on gen4/5. (LP: #1299499) + + -- Timo Aaltonen Tue, 01 Apr 2014 16:58:02 +0300 + +mesa (10.1.0-4ubuntu1) trusty; urgency=medium + + * Merge from unreleased debian sid. + * Add explicit libudev1 | libudev0 dependency. (LP: #1296947) + + -- Maarten Lankhorst Mon, 31 Mar 2014 09:56:17 +0000 + +mesa (10.1.0-5) unstable; urgency=low + + [ Maarten Lankhorst ] + * Add explicit libudev1 dependency (LP: #1296947) + - libudev is being dlopened now, but still a dependency. + + [ Julien Cristau ] + * Fix libegl1-mesa-dev installability on hurd, which doesn't have + libegl1-mesa-drivers (closes: #742335). Thanks, Pino Toscano! + + -- Julien Cristau Mon, 31 Mar 2014 15:58:53 +0200 + +mesa (10.1.0-4) unstable; urgency=medium + + [ Andreas Boll ] + * Fix unsatisfiable libwayland-egl1-mesa and libwayland-dev dependency on + !linux (Closes: #742306). + * Install /etc/drirc on hurd (Closes: #741572). + + -- Julien Cristau Sat, 22 Mar 2014 10:39:12 +0100 + +mesa (10.1.0-3) unstable; urgency=medium + + [ Andreas Boll ] + * Build OpenCL only on architectures where we have LLVM enabled. + * Actually enable radeonsi on kfreebsd. + + [ Sven Joachim ] + * Drop dependency of libegl1-mesa-drivers on libgl1-mesa-dri again. + + [ Julien Cristau ] + * Steal Ubuntu patch to work around build failure on armhf + (https://bugs.freedesktop.org/show_bug.cgi?id=72064) + * Upload to unstable. + + -- Julien Cristau Wed, 19 Mar 2014 22:48:14 +0100 + +mesa (10.1.0-2) experimental; urgency=medium + + [ Sjoerd Simons ] + * Install libwayland-egl in a separate library package (libwayland-egl1-mesa) + and provide a virtual libwayland-egl1 package. (Closes: #739269). + + -- Julien Cristau Mon, 17 Mar 2014 23:11:14 +0100 + +mesa (10.1.0-1ubuntu1) trusty; urgency=medium + + * Merge from released debian-experimental. + * Rename libvdpau1-drivers-mesa to mesa-vdpau-drivers. + - This makes ubuntu package names identical to debian. + * Disable opencl for now. + + -- Maarten Lankhorst Thu, 13 Mar 2014 16:30:35 +0100 + +mesa (10.1.0-1) experimental; urgency=low + + [ Andreas Boll ] + * Disable dri3 on !linux + * Enable building drivers for libvdpau1 (Closes: #705558). + * New upstream release. + * Drop 01-hurd.diff, upstream in 10.1.0. + * Next attempt to fix FTBFS on hurd + + [ Sven Joachim ] + * Drop dependency of libegl1-mesa-drivers on libgl1-mesa-dri. + + -- Julien Cristau Fri, 07 Mar 2014 22:16:32 +0100 + +mesa (10.1.0~rc3-0ubuntu3) trusty; urgency=medium + + * Add --dynamic-list to undo damage from -Bsymbolic-functions. + - This fixes vdpau interop properly. + + -- Maarten Lankhorst Thu, 06 Mar 2014 10:28:47 +0100 + +mesa (10.1.0~rc3-0ubuntu2) trusty; urgency=medium + + * Install libegl-wayland in /mesa-egl again. + - Fixes FTBFS for g-c-c. + + -- Maarten Lankhorst Wed, 05 Mar 2014 10:17:21 +0100 + +mesa (10.1.0~rc3-0ubuntu1) trusty; urgency=medium + + [ Maarten Lankhorst ] + * Merge from unreleased debian-experimental. + * Enable egl, libopenvg, gbm and vdpau for all archs. + - This simplifies the build rules considerably, and + is closer to debian behavior. + * Cherry pick fixes for playback of interlaced videos. (LP: #1287326) + * Cherry pick fixes for crashes related to vdpau interop. + + -- Maarten Lankhorst Tue, 25 Feb 2014 14:29:26 +0100 + +mesa (10.1.0~rc2-1) experimental; urgency=medium + + [ Maarten Lankhorst ] + * Add missing depends to keep lib(e)gl1-dev usable. + * Bump to rc2. + + [ Emilio Pozuelo Monfort ] + * Update build dependencies and dependencies minimum versions. Thanks to + Fabio Pedretti for the patch. + + [ Andreas Boll ] + * Attempt to fix FTBFS on hurd. + * Cherry pick some fixes for GLX fbconfig. (Closes: #739691) + + [ Samuel Thibault ] + * Enable egl and gles on hurd (closes: #729260) + + [ Julien Cristau ] + * libgbm1.symbols: try to avoid listing private symbols. + * Enable radeon/r200/r300/r600/radeonsi on kfreebsd (closes: #732337). + Thanks, Robert Millan! + * gallium: fix build failure on powerpcspe (closes: #695746). Thanks, Roland + Stigge! + + -- Julien Cristau Sun, 02 Mar 2014 20:22:47 +0100 + +mesa (10.1.0~rc1-1ubuntu4) trusty; urgency=medium + + * Merge from debian git + - Enable building drivers for libvdpau1 + + -- Timo Aaltonen Thu, 20 Feb 2014 21:46:24 +0200 + +mesa (10.1.0~rc1-1ubuntu3) trusty; urgency=low + + [ Robert Hooker ] + * Add more missing depends to lib(e)gl1-mesa-dev. + + -- Maarten Lankhorst Wed, 19 Feb 2014 19:38:33 +0100 + +mesa (10.1.0~rc1-1ubuntu2) trusty; urgency=low + + * Add libxcb-dri3-dev to lib(e)gl1-mesa-dev depends. + + -- Maarten Lankhorst Wed, 19 Feb 2014 19:06:29 +0100 + +mesa (10.1.0~rc1-1ubuntu1) trusty; urgency=low + + * First mesa 10.1 release candidate. + * Refresh egl-platform-mir.patch and drop upstreamed bits. + * Merge more upstream fixes post rc1. + * Cherry pick some fixes for GLX fbconfig. (LP: #1278168) + + -- Maarten Lankhorst Wed, 19 Feb 2014 17:19:12 +0100 + +mesa (10.1.0~rc1-1) experimental; urgency=low + + * New upstream release. + * Add new build-depends for dri3. + * Refresh libegl1-mesa and gbm symbols. + + -- Maarten Lankhorst Wed, 12 Feb 2014 11:50:39 +0100 + +mesa (10.0.2-1) experimental; urgency=low + + [ Maarten Lankhorst ] + * Stop building libgl1-mesa-dri-experimental (Closes: #685104). + - It's been empty since 8.0. + [ Matthias Klose ] + * Move to llvm-3.4. + + [ Julien Cristau ] + * Fix FTBFS on kfreebsd. + * ... and attempt to fix FTBFS on hurd. + * New upstream stable release. + + -- Julien Cristau Sat, 25 Jan 2014 10:44:22 +0100 + +mesa (10.0.1-1ubuntu2) trusty; urgency=medium + + [ Matthias Klose ] + * Build using llvm-3.4. + + -- Maarten Lankhorst Thu, 19 Dec 2013 19:21:03 +0100 + +mesa (10.0.1-1ubuntu1) trusty; urgency=low + + * New upstream release. + * Do not enable llvmpipe on armhf. (LP: #1260068) + + -- Maarten Lankhorst Thu, 19 Dec 2013 18:03:32 +0100 + +mesa (10.0.1-1) experimental; urgency=low + + * New upstream release. + * Do not attempt to build i915 and i965 on arm. + * Enable radeonsi on arm. + * Disable llvmpipe on armhf, it regresses. + + -- Maarten Lankhorst Wed, 18 Dec 2013 15:18:25 +0100 + +mesa (10.0.0-1ubuntu4) trusty; urgency=medium + + * libegl1-mesa-dev: Don't depend on libmirclient-dev on ppc64. + + -- Matthias Klose Mon, 16 Dec 2013 10:51:02 +0100 + +mesa (10.0.0-1ubuntu3) trusty; urgency=low + + * Refresh Mir EGL platform patch. + + Adds EGL_KHR_image support, needed for nested Mir-on-Mir support + + Adds resize support (LP: #1227744) + + Properly free()s surface front and back buffers on destroy (LP: #1211982) + + -- Christopher James Halse Rogers Wed, 11 Dec 2013 12:24:46 +0800 + +mesa (10.0.0-1ubuntu2) trusty; urgency=low + + * Do not require libdrm-intel on arm, fixes FTBFS regression. + + -- Maarten Lankhorst Mon, 09 Dec 2013 19:20:07 +0100 + +mesa (10.0.0-1ubuntu1) trusty; urgency=low + + * Merge from released debian-experimental, changes: + - Reset versions on libxatracker2 symbols. + - Enable llvmpipe on armhf. + + -- Maarten Lankhorst Mon, 09 Dec 2013 11:59:03 +0100 + +mesa (10.0.0-1) experimental; urgency=low + + [ Emilio Pozuelo Monfort ] + * debian/control: + + Let libegl1-mesa-dev depend on libwayland-dev as wayland-egl.pc + requires wayland-client.pc. + + [ Maarten Lankhorst ] + * New upstream release. + * Refresh patches for 10.0-rc1. + * Bump libdrm-dev requirement to 2.4.48 for intel. + * Add breaks on xserver-xorg-core without support for loading megadriver. + * Cherry pick commit to hide some gbm symbols. + * Manually install *_dri.so to preserve mega-driver hardlinks. + + [ Timo Aaltonen ] + * rules: Enable llvmpipe on armhf, should work now. + + -- Julien Cristau Sun, 08 Dec 2013 15:17:17 +0100 + +mesa (10.0.0-0ubuntu1) trusty; urgency=low + + * Merge from unreleased debian-experimental. + * Drop upstreamed aarch64 patch. + * Refresh patches. + * Disable 118-dricore-gallium.patch for now, requires porting. + + -- Maarten Lankhorst Mon, 09 Dec 2013 11:11:41 +0100 + +mesa (9.2.2-1ubuntu2) trusty; urgency=medium + + * Build without Mir backend on ppc64. + + -- Matthias Klose Sat, 07 Dec 2013 14:42:44 +0100 + +mesa (9.2.2-1ubuntu1) trusty; urgency=low + + * Merge from released debian-unstable. + + -- Maarten Lankhorst Tue, 22 Oct 2013 12:17:27 +0200 + +mesa (9.2.2-1) unstable; urgency=low + + * New upstream release. + + -- Maarten Lankhorst Tue, 22 Oct 2013 10:59:20 +0200 + +mesa (9.2.1-1ubuntu3) saucy; urgency=low + + * libegl1-mesa-dev: Don't depend on libmirclient-dev on AArch64. + + -- Matthias Klose Thu, 10 Oct 2013 16:25:10 +0200 + +mesa (9.2.1-1ubuntu2) saucy; urgency=low + + * Build without Mir backend on AArch64. + + -- Matthias Klose Wed, 09 Oct 2013 23:11:33 +0000 + +mesa (9.2.1-1ubuntu1) saucy; urgency=low + + [ Robert Hooker ] + * Add i915-dont-default-to-2.1.patch: Stop defaulting to OpenGL 2.1 that is not + fully implemented in hardware on gen3 GPUs, the software fallbacks make Unity + unusably slow. (LP: #1222602) + [ Maarten Lankhorst ] + * New upstream bugfix release. (LP: #1232940) + + -- Maarten Lankhorst Mon, 07 Oct 2013 10:39:18 +0200 + +mesa (9.2.1-1) experimental; urgency=low + + * New upstream release. + + -- Maarten Lankhorst Mon, 07 Oct 2013 10:00:39 +0200 + +mesa (9.2-1ubuntu3) saucy; urgency=low + + * Create a libglapi.so symlink. (LP: #1232000) + + -- Maarten Lankhorst Tue, 01 Oct 2013 13:09:38 +0200 + +mesa (9.2-1ubuntu2) saucy; urgency=low + + * Fix double-free in Mir EGL platform (LP: #1221974) + + -- Christopher James Halse Rogers Tue, 17 Sep 2013 12:05:36 -0400 + +mesa (9.2-1ubuntu1) saucy; urgency=low + + * Merge from debian-experimental, remaining changes: + - Add support for aarch64. + - Build libgallium and libmesagallium shared. + - Enable mir support. + + -- Maarten Lankhorst Wed, 28 Aug 2013 14:02:08 +0200 + +mesa (9.2-1) experimental; urgency=low + + [ Jon Severinsson ] + * control: Recommend libtxc-dxtn-s2tc0 | libtxc-dxtn0, not just the virtual libtxc-dxtn0. + * control: Bump libdrm-dev build-dependency to 2.4.45. + * control: Add versioned libglapi-mesa dependency to libosmesa6. + * libgl1-mesa(-swx11)-dev.install.in: Install the correct pkgconfig/gl.pc files. + * rules: Add --disable-shared-glapi to the swx11-i386-i686 target. + + [ Maarten Lankhorst ] + * Bump libdrm-dev to 2.4.46. + + [ Sven Joachim ] + * Remove the workaround for sparc introduced in version 7.10-2. + + [ Maarten Lankhorst ] + * New upstream release. + * Refresh 02_gbm_no_undefined.diff. + * Drop 12_fix_glapi_gen.diff, upstreamed. + + -- Maarten Lankhorst Wed, 28 Aug 2013 10:28:20 +0200 + +mesa (9.2~rc1-1) experimental; urgency=low + + * New upstream release. + * Refresh patches for 9.2: + - 02_gbm_no_undefined.diff. + - 04_osmesa_version.diff + - 06_kfreebsd-ftbfs.diff + * Removed writes to srcdir, fixing parallel builds. + - 12_fix_glapi_gen.diff + * Require llvm-3.3-dev >= 1:3.3-4 and libelf-dev. + * Update symbols files. + + -- Maarten Lankhorst Tue, 20 Aug 2013 15:42:31 +0200 + +mesa (9.1.7-1) unstable; urgency=low + + [ Andreas Beckmann ] + * libgl1-mesa-glx: Add Breaks: glx-diversions (<< 0.4) because the old + versions were not aware of libGL.so.1.2.0. (Closes: #720069) + + [ Maarten Lankhorst ] + * New upstream release. + + -- Maarten Lankhorst Mon, 07 Oct 2013 11:34:34 +0200 + +mesa (9.1.6-2ubuntu2) saucy; urgency=low + + * Import missing powerpc build fixes. + + -- Maarten Lankhorst Tue, 13 Aug 2013 16:23:32 +0200 + +mesa (9.1.6-2ubuntu1) saucy; urgency=low + + * New upstream release. + * Merge from RELEASED debian-unstable. \o/ + * Remaining changes: + - Building mir. + - Add support for aarch64. + - Linking against shared dricore/gallium. + * Drop fix-osmesa-exports.diff, upstreamed. + + -- Maarten Lankhorst Tue, 13 Aug 2013 15:39:43 +0200 + +mesa (9.1.6-2) unstable; urgency=low + + * Don't run 'make -j' if DEB_BUILD_OPTIONS doesn't set parallel. Oops. + + -- Julien Cristau Mon, 12 Aug 2013 08:00:21 +0200 + +mesa (9.1.6-1) unstable; urgency=low + + [ Andreas Boll ] + * New upstream release. (Closes: #717410) + * Cherry-pick commit 0dbbfa0 (mesa: Fix MESA_PATCH version) from + upstream. + + [ Julien Cristau ] + * Don't run configure for different builds in parallel. + + -- Julien Cristau Sun, 11 Aug 2013 18:15:58 +0200 + +mesa (9.1.4-0ubuntu8) saucy; urgency=low + + * hide the now missing Mir symbol on powerpc. + + -- Didier Roche Mon, 05 Aug 2013 13:43:52 +0200 + +mesa (9.1.4-0ubuntu7) saucy; urgency=low + + * rules,control: Don't build Mir support on powerpc as it's not available + there. + + -- Didier Roche Mon, 05 Aug 2013 12:59:59 +0200 + +mesa (9.1.4-0ubuntu6) saucy; urgency=low + + * Add Mir EGL platform + + -- Christopher James Halse Rogers Fri, 02 Aug 2013 13:30:23 +1000 + +mesa (9.1.4-0ubuntu5) saucy; urgency=low + + * Fix the build on Aarch64, disabling most of the acceleration + packages. + + -- Matthias Klose Mon, 22 Jul 2013 14:29:24 +0200 + +mesa (9.1.4-0ubuntu4) saucy; urgency=low + + * Fix build on Aarch64. + * debian/rules: Split out a configure target to be able to restart + builds. + + -- Matthias Klose Sun, 21 Jul 2013 13:43:45 +0200 + +mesa (9.1.4-0ubuntu3) saucy; urgency=low + + * Add fix-os-mesa-exports.diff from upstream. (LP: #1066599) + + -- Maarten Lankhorst Tue, 16 Jul 2013 11:29:32 +0200 + +mesa (9.1.4-0ubuntu2) saucy; urgency=low + + * control, rules: Again, add llvm-3.2-dev to build-depends for + powerpc, enable gallium llvm and shared libs (FTBFS). + + -- Timo Aaltonen Tue, 02 Jul 2013 15:26:47 +0300 + +mesa (9.1.4-0ubuntu1) saucy; urgency=low + + * Merge from unreleased debian git, remaining changes: + - don't build libgl1-mesa-swx11* + - use alternatives for libEGL, libGL*, libOpenVG + - build a common libgallium library to save disk space + - clean up extra po files + * Drop patches now upstream. + * Update revert-a64c1eb9b110.diff. + + -- Timo Aaltonen Tue, 02 Jul 2013 10:06:51 +0300 + +mesa (9.1.4-1) unstable; urgency=low + + [ Julien Cristau ] + * Don't call wayland_buffer_is_drm from libgbm, it's in libEGL + (closes: #712556). + * Make sure libgbm doesn't have undefined symbols. + + [ Andreas Boll ] + * Use dpkg-buildflags. + * Disable silent rules. + * Cherry-pick commit 0829b89 (mesa: Fix ieee fp on Alpha) from upstream + (Fixes FTBFS on alpha) + + [ Timo Aaltonen ] + * New upstream release. + + [ Julien Cristau ] + * libegl1-mesa-drivers depends on libgl1-mesa-dri for libllvmradeon + (closes: #714828) + + -- Julien Cristau Sat, 06 Jul 2013 11:37:34 +0200 + +mesa (9.1.3-6) unstable; urgency=low + + * Team upload. + + * debian/libegl1-mesa.symbols: + + More kfreebsd build fixes. Mark some symbols as linux-any. + + -- Emilio Pozuelo Monfort Fri, 07 Jun 2013 20:27:55 +0200 + +mesa (9.1.3-5) unstable; urgency=low + + * Team upload. + + [ Andreas Boll ] + * debian: Don't install libllvmradeon*.so on kfreebsd-*, fixes FTBFS. + + [ Emilio Pozuelo Monfort ] + * Upload to unstable. + + -- Emilio Pozuelo Monfort Fri, 07 Jun 2013 14:12:43 +0200 + +mesa (9.1.3-4) unstable; urgency=low + + * Team upload. + + [ Andreas Boll ] + * debian: Fix another kfreebsd-* FTBFS with adding libgl1-mesa- + dri.install.kfreebsd.in, where we don't install gallium-pipe/*.so + + [ Emilio Pozuelo Monfort ] + * Release to unstable. + + -- Emilio Pozuelo Monfort Fri, 07 Jun 2013 00:50:34 +0200 + +mesa (9.1.3-3) experimental; urgency=low + + [ Andreas Boll ] + * debian/not-installed: Remove /etc/drirc, it's shipped since 8.0.5-1. + Fixes build on hurd. + * debian: Fix build regression on !hurd. + Fix it with libgl1-mesa-dri.install.hurd.in, where we don't install drirc. + * Cherry-pick commit 7de78ce5, 07f2dee and 9622049 from upstream + (Fixes FTBFS on kfreebsd-*) + - configure.ac: Remove redundant checks of enable_dri. + - configure.ac: Build dricommon for DRI gallium drivers + - configure.ac: Build dricommon for gallium swrast + * Memory corruption (OOB read/write) in i965 driver [CVE-2013-1872] + + [ Julien Cristau ] + * Build i915 and i965 on kfreebsd. + + -- Cyril Brulebois Thu, 06 Jun 2013 10:29:15 +0200 + +mesa (9.1.3-2) experimental; urgency=low + + * Team upload. + + [ Julien Cristau ] + * Fix build of swrast only without libdrm, causing build failure on hurd + (cherry-picked from upstream). Thanks, Andreas Boll! + + [ Andreas Boll ] + * debian/not-installed: Remove glut headers + * debian/patches: Drop 05_kfreebsd-egl-x11.diff, fixed by eglibc (2.17-4) + * debian/rules: Use rm -f instead of rm for deleting libdricore*.so, fixes + build failure on kfreebsd-*. + * glapi: Add some missing static_dispatch=false annotations to + es_EXT.xml. Fixes FTBFS on powerpc and ia64 (cherry-picked from + upstream). + + [ Emilio Pozuelo Monfort ] + * Release to experimental. + + -- Emilio Pozuelo Monfort Mon, 03 Jun 2013 15:25:19 +0200 + +mesa (9.1.3-1) experimental; urgency=low + + * Team upload. + * New upstream release. + - Set close on exec flag when opening dri devices (Closes: #651370). + - Don't emit a .note.ABI-tag section anymore (Closes: #628758). + + [ Timo Aaltonen ] + * Refresh patches + - disable 05_kfreebsd-egl-x11.diff for now. + * control: Added libtool to build-depends. + * rules: Drop special handling of config.{guess,sub}, not needed anymore. + * rules, libosmesa*: Build only the 32bit OSMesa library. + * control: Bump libdrm build-dep to 2.4.39. + * control: Bump libwayland-dev build-dep to 0.95. + * rules: Update the clean target. + * rules: Add --disable-shared-glapi to the swx11 targets. + * libosmesa*.install.in: Install files from the correct path. + * rules: --with-driver= is deprecated, use --enable-foo. + * rules: Purge .la files before dh_install. + * Update symbols. + * libgl1-mesa-dri.install*.in: Add libdricore. + * control: Add new dependencies to libgl1-mesa-dev. + * rules, libgl1-mesa-dri.install.linux.in: Add support for radeonsi. + * rules: Build llvm shared libs on platforms that support llvm. + * control, rules, libglu*: Remove libglu packaging, since it's been split + off upstream. + * rules: Disable dri for the swx11 targets. + * not-installed: Updated. + * Update symbols for libgles2-mesa and libxatracker1. + * libegl1-mesa-drivers.install.linux: Bump libwayland-egl.so version + * control: Add libdrm-dev to mesa-common-dev Depends. + * control: Build-depend on llvm-3.2-dev (Closes: #678822). + * libgl1-mesa-dri.install.in: Include gallium-pipe/*.so and libllvmradeon*.so. + * rules: Add files to clean. + * control: Add libxcb-dri2-0-dev to libgl1-mesa-dev depends. + + [ Steve Langasek ] + * Install all dri drivers from the DESTDIR tree, instead of copying them + from the build tree; this simplifies the install rules since we know + already that we're only building drivers that we want to ship, and + avoids rpath problems with libtool linking to in-tree convenience + libraries. + * debian/rules: don't install libdricore*.so, this isn't a public library. + * Add Pre-Depends on multiarch-support to libgl1-mesa-dri, since we're + shipping a shared library in the package; not an issue in practice since + this is all post-wheezy / post-precise, but it's an archive reject error + in Debian right now so let's just be complete. + + [ Maarten Lankhorst ] + * Bump standards-version to 3.9.3. + * control: Bump libwayland-dev build-dep to 1.0.2. + * Remove 13-llvm-config-pick-a-version.diff and just pass a flag to configure. + + [ Robert Hooker ] + * Drop xutils-dev build dep, makedepend is no longer required + * Recommend libtxc-dxtn0 in libgl1-mesa-dri for easier use with multiarch + installs (Closes: #668645). + * Drop 02_use-ieee-fp-on-s390-and-m68k.patch, upstream in 9.1.2. + * Drop 10-hurd-configure-tweaks.diff, upstream in 9.1.2. + + [ Sven Joachim ] + * Bump libdrm-dev build-dependency to 2.4.42. + + [ Rico Tzschichholz ] + * Update packaging mesa packaging with xorg-edgers + + [ Emilio Pozuelo Monfort ] + * integer overflows calculating memory needs for replies [CVE-2013-1993] + * Bump llvm-3.2-dev build dependency to 1:3.2repack-7~ for a fixed + llvm-config-3.2 --libdir, otherwise configure fails. + + -- Emilio Pozuelo Monfort Tue, 28 May 2013 21:15:55 +0200 + +mesa (9.1.3-0ubuntu3) saucy; urgency=low + + * Added patches to add/fix Haswell pci-id's (LP: #1175533) + - add-vlv-ids.diff + - fix-hsw-gt3-names.diff + - fix-missing-gt3-id.diff + - add-more-reserved-hsw-ids.diff + + -- Maarten Lankhorst Wed, 19 Jun 2013 14:16:47 +0200 + +mesa (9.1.3-0ubuntu2) saucy; urgency=low + + * Add back a patch that reverts a change which made blur slow on i915, + add two other reverts so the big one applies cleanly. (LP: #1187500) + + -- Timo Aaltonen Fri, 07 Jun 2013 15:11:32 +0300 + +mesa (9.1.3-0ubuntu1) saucy; urgency=low + + [ Robert Hooker ] + * New upstream bug-fix release. + * Drop upstream patches: + - 0001-nv50-fix-3D-render-target-setup.patch + - 0002-nv50-nvc0-disable-DEPTH_RANGE_NEAR-FAR-clipping-duri.patch + - 0003-nv50-nvc0-fix-3d-blits-restore-viewport-after-blit.patch + - 0004-nvc0-fix-for-2d-engine-R-source-formats-writing-RRR1.patch + - 100_no_abi_tag.patch + - 119-libllvmradeon-link.patch + - vbo-fix-crash.diff + * debian/patches/117-static-gallium.patch: Refresh for minor change + in 9.1.2 + + -- Maarten Lankhorst Thu, 23 May 2013 10:06:41 +0200 + +mesa (9.1.1-0ubuntu3) raring; urgency=low + + * Hide x86sse symbols on i386, preventing conflicts. (LP: #1170074) + - 120-hide-x86sse.patch + + -- Maarten Lankhorst Thu, 18 Apr 2013 12:27:32 +0200 + +mesa (9.1.1-0ubuntu2) raring; urgency=low + + * control, rules: Add llvm-3.2-dev to build-depends for powerpc, enable + gallium llvm and shared libs (FTBFS). + + -- Timo Aaltonen Wed, 17 Apr 2013 01:42:38 -0600 + +mesa (9.1.1-0ubuntu1) raring; urgency=low + + [ Timo Aaltonen ] + * Merge from unreleased debian git + - new upstream release (LP: #1112147, #1164093) + * Revert a commit to fix slow blur on intel. + * vbo-fix-crash.diff: Patch from the stable tree that fixes a crasher + with shared display lists. + + [ Maarten Lankhorst ] + * Add some more patches to fix image copy regressions on nouveau. + + -- Timo Aaltonen Tue, 16 Apr 2013 15:35:32 +0300 + +mesa (9.1~git20130207.f1c46c84-0ubuntu1) UNRELEASED; urgency=low + + [ Timo Aaltonen ] + * Merge from unreleased debian git. + * Refresh patches. + + [ Robert Hooker ] + * Drop ubuntu specific libtxc-dxtn-s2tc0 recommends from libgl1-mesa-glx, + libgl1-mesa-dri now recommends libtxc-dxtn0. + + -- Timo Aaltonen Thu, 07 Feb 2013 18:09:58 +0200 + +mesa (9.0.3-0ubuntu1) raring; urgency=low + + * New upstream release. (LP: #1134466) + + -- Maarten Lankhorst Thu, 14 Mar 2013 12:18:29 +0100 + +mesa (9.0.2-0ubuntu1) raring; urgency=low + + * New upstream release. + * Decrease size of mesa's libgl1-mesa-dri again + - re-enable 117-static-gallium.patch + - add 118-dricore-gallium.patch to link against libdricore again + + -- Maarten Lankhorst Tue, 22 Jan 2013 11:54:09 +0100 + +mesa (9.0.1-0ubuntu1) raring; urgency=low + + * Merge from unreleased debian git. + - release 9.0.1 + * add 118-automake-ldrm.patch to ease backport to precise + - upstream commit, targeted for 9.0.2 + + -- Maarten Lankhorst Mon, 19 Nov 2012 12:03:50 +0100 + +mesa (9.0-0ubuntu2) raring; urgency=low + + * patches/118-wayland-0.99.diff: Upstream port to wayland 0.99 API + * patches/119-wayland-no-0.85.diff: Drop wayland 0.85 defines + * patches/120-wayland-no-egl-pixmap.diff: Drop wl_egl_pixmap usage + * debian/control: Adjust build-depends to match the above patches + + -- Adam Conrad Sun, 18 Nov 2012 02:52:31 +0000 + +mesa (9.0-0ubuntu1) quantal; urgency=low + + * Merge from unreleased debian git. + - final 9.0 release. + * rules: Don't try building gallium swrast for arm, since it doesn't + work and wasn't actually built anyway. + + -- Timo Aaltonen Tue, 09 Oct 2012 15:55:51 +0300 + +mesa (9.0~git20121004.b2048c5e-0ubuntu1) quantal; urgency=low + + * Merge from unreleased debian git. + - new snapshot leading to final 9.0. + * Drop patch 118, obsolete. + + -- Timo Aaltonen Wed, 03 Oct 2012 18:23:24 +0300 + +mesa (9.0~git20120917.7cfd42ce-0ubuntu3) quantal; urgency=low + + * Add 118-undefined-symbols.patch, fixing libglapi and libosmesa + missing symbols. (LP: #1053088) + + -- Timo Aaltonen Thu, 20 Sep 2012 13:25:46 +0300 + +mesa (9.0~git20120917.7cfd42ce-0ubuntu2) quantal; urgency=low + + * Add Recommends on libtxc-dxtn-s2tc0, required by Bastion, Psychonauts, + Amnesia and other games on Intel graphics. This package provides + patent-free s3tc texture support. + (LP: #1053029) + + -- Bryce Harrington Tue, 18 Sep 2012 21:17:11 -0700 + +mesa (9.0~git20120917.7cfd42ce-0ubuntu1) quantal; urgency=low + + * Merge from unreleased debian git. (LP: #1047306) + + -- Timo Aaltonen Mon, 17 Sep 2012 13:24:35 +0300 + +mesa (9.0~git20120903.e1673d20-0ubuntu1) quantal; urgency=low + + * Merge from unreleased debian git. + * Remove 118-remove-assertion.diff, included upstream. + + -- Timo Aaltonen Thu, 06 Sep 2012 18:09:56 +0300 + +mesa (9.0~git20120821.c1114c61-0ubuntu2) quantal; urgency=low + + * Added 118-remove-assertion.diff from upstream (LP: #1042293). + + -- Timo Aaltonen Mon, 27 Aug 2012 21:12:44 +0300 + +mesa (9.0~git20120821.c1114c61-0ubuntu1) quantal; urgency=low + + * Merge from unreleased debian git. + - Includes support for ATI Trinity PCI IDs (LP: #1009089) + * rules, control, libgl1-mesa-swx11*: Remove swx11 support. + * Refresh patches: + - drop 115_llvm_dynamic_linking.diff, + 117_nullptr_check_in_query_version.patch, and + 118_glsl_initialize_samplers.patch, all upstream + - disable 116_use_shared_galliumcore.diff until it's reviewed and + reworked to apply + * not-installed, libegl1-mesa-drivers-install.linux.in: Updated to + match the single-pass build. + * libgl1-mesa-dri.*install.in: Drop libglsl.so, it's included in + libdricore.so now. + * rules: Don't disable GLU on the common flags, we need to build it + on the dri target. + * libglu*install.in: Fix the source file paths to match the build target. + Drop the static lib from -dev since only shared libs get built. + * libgl1-mesa-dev.install.in: Fix the source file paths to match the + build target. + * libgl1-mesa-dri.install.linux.in: Don't try to install libgallium.so, + which isn't built yet. + * rules: Enable llvmpipe on armhf to see if it works or not. + * rules: Remove bin/install-sh on clean, and don't create a symlink for + it. + * control: Add Pre-Depends on dpkg-dev due to the binaries using xz + compression. + + -- Timo Aaltonen Thu, 23 Aug 2012 15:37:30 +0300 + +mesa (8.0.5-4) unstable; urgency=low + + * Cherry-pick commit 17f1cb1d99 (dri/nouveau: fix crash in + nouveau_flush) from upstream master branch. + + -- Sven Joachim Wed, 13 Mar 2013 17:52:18 +0100 + +mesa (8.0.5-3) unstable; urgency=high + + * mesa: add bounds checking for uniform array access (CVE-2012-5129). + + -- Julien Cristau Thu, 06 Dec 2012 10:20:40 +0100 + +mesa (8.0.5-2) unstable; urgency=low + + * Fix regression in 8.0.5 (spurious GL_INVALID_ENUM errors): + mesa: test for GL_EXT_framebuffer_sRGB in glPopAttrib(). + Thanks to Simon Chopin for the report. + + -- Julien Cristau Wed, 28 Nov 2012 22:09:14 +0100 + +mesa (8.0.5-1) unstable; urgency=low + + * New upstream stable release + * Pull a couple more fixes from upstream's 8.0 branch, including: + - nvfx: handle some unknown PIPE_CAPs (closes: 674965) + * Install drirc in libgl1-mesa-dri package with some settings for i965 + (closes: #671747). + + -- Julien Cristau Sun, 04 Nov 2012 16:55:17 +0100 + +mesa (8.0.4-2) unstable; urgency=high + + * Use xz for all binary packages not just *-dbg. + * glsl/linker: Avoid buffer over-run in + parcel_out_uniform_storage::visit_field (CVE-2012-2864; closes: #685667). + + -- Julien Cristau Fri, 24 Aug 2012 00:09:47 +0200 + +mesa (8.0.4-1) unstable; urgency=low + + [ Sven Joachim ] + * New upstream stable release (Closes: #682703). + * Cherry-pick commit fbf86c7f0f (i965/gen7: Reduce GT1 WM thread count + according to updated BSpec.) from upstream. + + -- Cyril Brulebois Sun, 29 Jul 2012 13:17:06 +0200 + +mesa (8.0.3-1) unstable; urgency=low + + [ Robert Hooker ] + * New upstream stable release (Closes: #673532) + * Refresh patches. + + -- Cyril Brulebois Wed, 13 Jun 2012 14:58:54 +0200 + +mesa (8.0.2-2) unstable; urgency=low + + * Upload to unstable. + + -- Cyril Brulebois Tue, 01 May 2012 21:42:35 +0200 + +mesa (8.0.2-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream bugfix release. (LP: #926379) + * control: libegl1-mesa-dev should depend on -drivers so that the + symlinks work. + + [ Robert Hooker ] + * Add libudev-dev to libgbm-dev dependencies. + + -- Cyril Brulebois Sun, 29 Apr 2012 15:51:10 +0200 + +mesa (8.0-2) experimental; urgency=low + + [ Julien Cristau ] + * Only build the radeon, r200, i915 and i965 dri drivers on Linux. They + require KMS. + + [ Cyril Brulebois ] + * Fix FTBFS on GNU/kFreeBSD with libgl1-mesa-dri.install.kfreebsd.in: + there's no *_dri.so file left in the top directory, only swrast is + built and shipped under gallium/. So mention it explicitly, in the + same way as it is done in the libgl1-mesa-dri.install.linux.in file. + * Enable wayland support again, but only on Linux. Wayland needs some + porting (it uses *CLOEXEC flags and epoll). For that, add those files + since EGL packages are also shipped on GNU/kFreeBSD, and we need to + add a few files for Wayland, but only for Linux: + - libegl1-mesa-dev.install.linux.in + - libegl1-mesa-drivers.install.linux.in + * Limit the wl_drm_interface symbol to arch=linux-any accordingly, + and bump the version. + * Limit the build-dependency on libwayland-dev to linux-any too, and + bump it. + * Automatically revert changes to bin/{config.{guess,sub},install-sh} in + the clean target. The first two are modified, the last one needs to be + turned back into a symlink. + + -- Cyril Brulebois Tue, 14 Feb 2012 16:18:14 +0100 + +mesa (8.0-1) experimental; urgency=low + + [ Cyril Brulebois ] + * New upstream release. + * Disable patch temporarily (needs a refresh): + - 11-hurd-ftbfs-again.diff + * Drop patch, no longer needed since swrastg was renamed to swrast: + - 14-load-swrastg-before-swrast.diff + * Update rules file to strop building DRI1 drivers, they went away + with the following upstream commit: + - dri: Remove all DRI1 drivers (e4344161bd). + * Update not-installed for removed files. + * Stop trying to ship swrastg through libgl1-mesa-dri-experimental, + it replaced the non-gallium variant. + + [ Timo Aaltonen ] + * Refresh patches. + * control: Add libxcb-glx0-dev to build-depends. + * control: Drop libglw1-mesa, libglw1-mesa-dev, glw got moved to a + separate source package. + * libegl-mesa.symbols, libgles2-mesa.symbols: Add new symbols. + * rules: Drop obsolete configure options. + * Enable vmwgfx gallium driver & xatracker. (Closes: #652501). + * Build llvmpipe swrast only on non-hurd x86, traditional for the + rest. + * rules: No need to copy nouveau_vieux to the gallium dir, it's + installed in libgl1-mesa-dri now. + * rules: Handle installing r300_dri.so like other gallium drivers, + in libgl1-mesa-dri.install.linux.in. + + [ Robert Hooker ] + * Bump libdrm build dep to 2.4.30, x11proto-gl-dev to 1.4.14, and + x11proto-dri2-dev to 2.6. + * Add libxatracker packaging. + * Add libxcb-glx0-dev to libegl1-mesa-dev depends. + + [ Christopher James Halse Rogers ] + * debian/control: Add libx11-xcb-dev to libegl1-mesa-dev depends. + + -- Cyril Brulebois Fri, 10 Feb 2012 14:02:04 +0100 + +mesa (7.11.2-1) unstable; urgency=low + + * New upstream release: + - Fix a few intel bugs. + + -- Cyril Brulebois Sun, 11 Dec 2011 15:43:40 +0100 + +mesa (7.11.1-1) unstable; urgency=low + + [ Sven Joachim ] + * New upstream release. + * Move the Nouveau drivers to the libgl1-mesa-dri package + (Closes: #645239). + * Install the swrastg driver in the libgl1-mesa-dri-experimental package + (Closes: #605444). + - New patch 14-load-swrastg-before-swrast.diff to prefer swrastg over + swrast. + - Build-depend on llvm-2.9-dev also on kfreebsd-{amd64,i386}. + + -- Cyril Brulebois Sun, 27 Nov 2011 18:54:24 +0100 + +mesa (7.11-6) unstable; urgency=low + + [ Julien Cristau ] + * Inline what's left of debian/scripts/choose-configs in debian/rules. + * Enable texture-float for dri (closes: #635651). + * Update from upstream's 7.11 branch (commit e7794048) + * Merge changes from 7.10.3-4, including: + - Fix comments in libegl1-mesa.symbols to avoid impending FTBFS with the + upcoming dpkg-dev 1.16.1 (closes: #642690) + + [ Cyril Brulebois ] + * Document the symlink dance in README.source. + + -- Cyril Brulebois Sat, 24 Sep 2011 20:32:55 +0200 + +mesa (7.11-5) unstable; urgency=low + + * Merge patch from Pino Tiscano (thanks!): + - Use hurd-any instead of: hurd-i386 (“wildcard archs are free”). + - Use any-i386 instead of: i386 kfreebsd-i386 hurd-i386. + - Rewrite a check in debian/rules to follow the same logic. + - Switch libgbm1-dbg to arch: linux-any. This fixes uninstallability + on kfreebsd-* by getting rid of this package there. + - Switch libglapi-mesa{,-dbg} arch: any. This fixes the FTBFS on + hurd-i386^Wany. + + -- Cyril Brulebois Sun, 28 Aug 2011 19:07:48 +0200 + +mesa (7.11-4) unstable; urgency=low + + * Use xz compression for dbg packages. + * Simplify dh_strip calls a bit using make variables. + * libgbm-dev is also linux-only, not just libgbm1. + + -- Julien Cristau Sat, 27 Aug 2011 12:02:42 +0200 + +mesa (7.11-3) unstable; urgency=low + + * Don't build libgbm on kfreebsd, it needs KMS/udev. + * Build/ship r300g on all Linux architectures, not just x86. + + -- Julien Cristau Fri, 26 Aug 2011 11:04:45 +0200 + +mesa (7.11-2) unstable; urgency=low + + * Work around the lack of O_CLOEXEC on kfreebsd, fix FTBFS. + * Don't crash on BadRequest from DRI2Connect, just fall back to sw or + indirect. + + -- Julien Cristau Thu, 25 Aug 2011 23:13:35 +0200 + +mesa (7.11-1) unstable; urgency=low + + [ Christopher James Halse Rogers ] + * New upstream release. + - Fix regression from 7.10, missing characters in text display with + intel drivers (Closes: #631516). Thanks to Martin Steigerwald for + the report and the tests. + * Temporarily disable Wayland EGL backend as it requires a newer + libwayland-dev + * Update rules for configure changes + * debian/lib{egl1,openvg1}-mesa.install.in: + * debian/libegl1-mesa-drivers.install.in: + - Stop trying to install st_{GL,OpenVG} and pipe_* + as they are all now built in to egl_gallium.so + * Add libgbm{1,1-dbg,-dev} packages for the new buffer-manager library. + * Drop 12-llvm-config-check.diff; upstream. + * Refresh 13-llvm-config-pick-a-version.diff for new upstream. + * Add strictly versioned dependencies on libglapi-mesa to libgl1-mesa-glx + and libegl1-mesa-drivers as they also now depend on this internal library. + * debian/rules: + * debian/libgl1-mesa-dri.install.linux.in: + - Manually install r300g only when we actually build it. Fixes build on + non-i386, non-amd64 linux. + + [ Julien Cristau ] + * Don't use dh_testroot in clean. + + -- Julien Cristau Thu, 25 Aug 2011 00:15:27 +0200 + +mesa (7.11~0-2) experimental; urgency=low + + * Thank you sbuild for giving a green light when that's not actually the + case. Fix missing Pre-Depends for the libegl1-mesa-drivers package + (multiarch-support). + + -- Cyril Brulebois Sun, 19 Jun 2011 21:26:00 +0200 + +mesa (7.11~0-1) experimental; urgency=low + + * New upstream snapshot, from the master branch (up to 2fe39b46e7). + * Drop 05_hurd-ftbfs.diff, merged upstream (as 758561786c). + * Refresh 06_kfreebsd-ftbfs.diff (due to 8fd8de3995). + * Refresh 08-kfreebsd-gallium.diff (adjust offsets). + * Add 10-hurd-configure-tweaks.diff to enable x86 assembler on Hurd, + thanks to Pino Toscano. + * Refresh 11-hurd-ftbfs-again.diff (adjust offsets and drop the + src/gallium/auxiliary/os/os_time.c hunk, which should be OK since + PIPE_OS_UNIX is used there, and should happily replace the use of + PIPE_OS_HURD; and adapt for the removal of the PIPE_OS_EMBEDDED check). + * debian/libegl1-mesa.install.in: Stop trying to install egl_dri2.so and + egl_glx.so, since they are now built-in (since c98ea26e16). + * debian/libgles{1,2}-mesa.install.in: Stop trying to install + st_GLESv{1,2}_CM.so (respectively), which got removed. Quoting the + commit message: “Remove GLES overlay. With core mesa doing runtime API + checks, GLES overlay is no longer needed.” (12583174c5). + * Drop --enable-gles-overlay from debian/rules accordingly. + * Add 12-llvm-config-check.diff to handle --disable-gallium more + properly. + * Add 13-llvm-config-pick-a-version.diff, so that llvm-config-2.9 is + searched by configure, instead of unversioned llvm-config. + * Add a NOT_INSTALLED_EITHER variable to debian/not-installed. A few + files might have to be removed, but only if that's a git snapshot + (those files aren't in the released tarballs). Let's consider it's OK + to run “rm -f” on them: {,dri/}usr/include/GL/glut{,f90}.h + * Add libglapi-mesa{,-dbg} packages. + * Use a package-name-doesnt-match-sonames override accordingly. + * Update libegl1-mesa.symbols with new symbols. + * Update libgles{1,2}-mesa.symbols now that internal symbols (_glapi_* + and _glthread_GetID) moved to libglapi-mesa. + * Add a gentarball target, to generate tarballs for git snapshots. + * Replace “The OpenGL utility library…” with “Mesa OpenGL utility + library…” in the description of the libglu1-mesa* packages. + * Replace radeon with r300 in GALLIUM_DRIVERS to match upstream renaming + (5722286be2). + * Build r300 classic (through DRI_DRIVERS) everywhere, since r300g comes + with a few additional requirements: LLVM is needed for this driver, + and apparently only works fine on x86 platform. As a consequence, only + build r300g on amd and i386, and add llvm-2.9-dev build-dep on those + platforms accordingly. Disable it explicitly on other platforms. + * Stop building i915g at all, it's apparently never going to be a + suitable replacement for i915c. + * Add libwayland-dev build-dep. + * Add wayland to EGL_DISPLAYS on Linux. + * Ship wayland-egl.pc and libwayland-egl.so in libegl1-mesa-dev; and ship + libwayland-egl.so.1* in libegl1-mesa-drivers. + * Update libegl1-mesa.symbols with new wl_drm_interface symbol. + + -- Cyril Brulebois Sun, 19 Jun 2011 19:01:52 +0200 + +mesa (7.10.3-4) unstable; urgency=medium + + [ Cyril Brulebois ] + * Accept libmotif-dev as an alternative to lesstif2-dev in + libglw1-mesa-dev's dependencies, as requested by Michael Hanke + (Closes: #631236). + * Merge upstream 7.10 branch up to e041956cb2. + * Wrap Breaks fields. + * Add Breaks: {xserver-xorg-core,libgl1-mesa-glx}-no-multiarch to + libgl1-mesa-dri* to handle upgrades from squeeze-backports (without + multiarch) to wheezy (with multiarch). + * Add lintian overrides for breaks-without-version accordingly, those + packages are only provided in squeeze-backports. + * Replace “The OpenGL utility library…” with “Mesa OpenGL utility + library…” in the description of the libglu1-mesa* packages. + * Rename all remaining *.install files as *.install.in and use + “${DEB_HOST_MULTIARCH}” instead of “*”. + * Use the sed substitution on all debian/*.in files accordingly. + * Remove debian/clean, and use the same for loop to remove the generated + files. + * Set urgency to “medium” to speed things up. Migration to testing is + a prerequisite for squeeze backports. + + [ Sven Joachim ] + * Fix comments in libegl1-mesa.symbols to avoid impending FTBFS with + the upcoming dpkg-dev 1.16.1. + + -- Cyril Brulebois Sun, 07 Aug 2011 21:50:46 +0200 + +mesa (7.10.3-3) unstable; urgency=low + + * Update the “Breaks: xserver-xorg-core” from “(<= 2:1.10.2-1)” to + “(<< 2:1.10.2-2)”. The first binNMU migrated to testing too soon, + so it was needed to rebuild it again, in testing. Updating the + Breaks makes sure that a multiarch mesa doesn't get installed with + a server built against a pre-multiarch mesa. + * Merge upstream 7.10 branch up to 1ad06c7a25. + + -- Cyril Brulebois Sun, 19 Jun 2011 17:31:17 +0200 + +mesa (7.10.3-2) unstable; urgency=low + + [ Cyril Brulebois ] + * Add Breaks against nvidia and fglrx packages, since they are also + affected by the multiarch changes, and need fixing. Until fixed + packages reach the archive, nvidia and fglrx users should stick to + mesa 7.10.2-3 packages, currently available in testing. Thanks to + Andreas and Patrick for the version strings (Closes: #630710). + * Set CXXFLAGS along with CFLAGS (Closes: #630602). Thanks for the + report and the patch, Fabio Pedretti! + + [ Julien Cristau ] + * Prepend the multiarch dir to the dri driver search path. ${ORIGIN}/dri + works for libGL, but not for egl_dri2.so (which lives in /usr/lib/*/egl/). + Thanks to Michel Dänzer for the heads-up! + + -- Cyril Brulebois Fri, 17 Jun 2011 11:46:20 +0200 + +mesa (7.10.3-1) unstable; urgency=low + + * New upstream release. + * Add flex and bison build-deps (even though the generated files are + stored in VCS, and shipped…). + + -- Cyril Brulebois Tue, 14 Jun 2011 15:37:41 +0200 + +mesa (7.10.2-4) unstable; urgency=low + + [ Steve Langasek ] + * Build for multiarch. + + [ Cyril Brulebois ] + * Explanation of the “Breaks: xserver-xorg-core” part for our users: the + server queries the DRI driver path at build time, which is getting + changed for multiarch, so the server needs be rebuilt; a binNMU will + take care of getting the server ready. + * Many thanks for multiarch, Steve! + * Update Uploaders list. Thanks, David and Brice! + * Wrap Build-Depends. + + -- Cyril Brulebois Tue, 14 Jun 2011 12:19:33 +0200 + +mesa (7.10.2-3) unstable; urgency=low + + * Merge upstream 7.10 branch up to eaadbacb5c. + * Ship r600g again, it should be more usable now. + + -- Cyril Brulebois Tue, 31 May 2011 17:48:47 +0200 + +mesa (7.10.2-2) unstable; urgency=low + + [ Cyril Brulebois ] + * Merge upstream 7.10 branch up to b8c6362389. + * Get rid of leading article in short descriptions, taking care of this + lintian tag for almost all binary packages: + - description-synopsis-starts-with-article + * Get rid of libgl1-mesa-dri-i686, already commented out in control file. + + [ Sven Joachim ] + * Avoid installing the nouveau_vieux driver into libgl1-mesa-dri + (Closes: #622222). + + -- Cyril Brulebois Mon, 02 May 2011 12:29:37 +0200 + +mesa (7.10.2-1) unstable; urgency=low + + * New upstream release. + + -- Cyril Brulebois Sun, 10 Apr 2011 23:42:41 +0200 + +mesa (7.10.1-1) experimental; urgency=low + + [ Cyril Brulebois ] + * Revert to r600 classic, r600 gallium doesn't seem ready yet, after all + (Closes: #612609). + + [ Julien Cristau ] + * Set the DRI driver search path to "${ORIGIN}/dri", allowing libGL to find + the drivers after being relocated to /usr/lib32 by ia32-libs + (closes: #466790). Thanks to Javier Serrano Polo for the suggestion. + + [ Christopher James Halse Rogers ] + * New upstream release + - Lots of intel bugfixes, mainly for Sandybridge. + - Lots of GLSL spec conformance fixes + - Drop 12-fix-fdo-31940.diff; included included in new release. + * Remove talloc from build-depends. This has been re-implemented in-tree. + * Also drop patch fixing talloc linking. + * Cherry-pick fix from master for changed nouveau headers in libdrm 2.4.24. + - Also bump build-depend on libdrm to 2.4.24 + * Build and install nouveau_vieux driver in libgl1-mesa-dri-experimental. + (Closes: #586062) + + -- Cyril Brulebois Sun, 03 Apr 2011 21:26:05 +0200 + +mesa (7.10-4) unstable; urgency=low + + * debian/not-installed: Ignore the same files on *i386. + * debian/local/control: Report-with: xserver-xorg{,-core}. + * debian/local/script: New bug script, calling glxinfo if available, + then the server's bug script. + * New patch, thanks to Pino Toscano, fixing FTBFS on GNU/Hurd: + - 11-hurd-ftbfs-again.diff + * Make a lot of binary packages linux-any kfreebsd-any: + - libegl1-mesa + - libegl1-mesa-dbg + - libegl1-mesa-dev + - libegl1-mesa-drivers + - libegl1-mesa-drivers-dbg + - libopenvg1-mesa + - libopenvg1-mesa-dbg + - libopenvg1-mesa-dev + - libgles1-mesa + - libgles1-mesa-dbg + - libgles1-mesa-dev + - libgles2-mesa + - libgles2-mesa-dbg + - libgles2-mesa-dev + * Disable EGL/Gallium/GLES/state trackers on GNU/Hurd. + * Fix FTBFS on sparc64, treat it the same way as sparc. Thanks, Aurélien + Jarno! (Closes: #613106). + * Add patch for a crash in dri2_invalidate_drawable, thanks to Kai + Wasserbäch (Closes: #612640): + - 12-fix-fdo-31940.diff + + -- Cyril Brulebois Wed, 16 Feb 2011 11:53:26 +0100 + +mesa (7.10-3) unstable; urgency=low + + [ Julien Cristau ] + * debian/rules: RIP lpia. + + [ Cyril Brulebois ] + * Cherry-pick from upstream (thanks to Dave Airlie for the hint): + - radeon: fix build on non-KMS systems. + This fixes the FTBFS on GNU/kFreeBSD. + * Ship r300g (r300 gallium) on Linux only: Introduce Linux-specific + libgl1-mesa-dri.install.linux to that effect. + * According to Michel Dänzer, r600g (r600 gallium) is working well + enough to be shipped now. Let's ship it, then! + * Cherry-pick from upstream, fixing X's failure to start with UMS on + r300g (Closes: #612380): + - dri_util: fail driCreateNewScreen if InitScreen is NULL + + -- Cyril Brulebois Tue, 08 Feb 2011 16:06:38 +0100 + +mesa (7.10-2) unstable; urgency=low + + * Fix FTBFS on i386: Add some files to debian/not-installed, on a + per-architecture fashion (those are under /usr/lib/i686/cmov/). + * Work around FTBFS on sparc due to new symbols: pass -c1 to + dpkg-gensymbols instead of -c4 (on sparc only). Those symbols probably + shouldn't be exported, but let's make it possible to build xorg-server + 1.9 in sid. + + -- Cyril Brulebois Sat, 05 Feb 2011 11:16:26 +0100 + +mesa (7.10-1) experimental; urgency=low + + * New upstream release. + * Add patch: 10-fix-talloc-linking.diff + * Use debian/not-installed to keep track of files which aren't getting + installed for now. Delete them before running dh_install. Use the list + of files appearing in the build logs for 7.9+repack-2. + * Switch from --list-missing to --fail-missing accordingly. + * Pass -c4 to dpkg-gensymbols through dh_makeshlibs to make sure + symbol-related changes are noticed and dealt with. + * Update symbols files with new symbols: + - libopenvg1-mesa.symbols + * Remove “mesa internal ASM optimized functions” lines from symbols + files, those seem to be gone, and with -c4 passed to dpkg-gensymbols, + any related issue will break the build: + - libgles1-mesa.symbols + - libgles2-mesa.symbols + * Stop using dh_strip -s --remaining-packages. When a build is resumed + (-nc), this dh_strip call is a no-op if it was previously written to + the debhelper log files. Specify all remaining packages instead. + That's boring, but avoid getting non-stripped packages. + * Add debian/git-cleanup.sh script to ease removing files in git which + aren't in the release tarballs, and make dpkg-source error out. + * Keep my eyes wide shut and add myself to Uploaders. + + -- Cyril Brulebois Tue, 25 Jan 2011 00:20:57 +0100 + +mesa (7.9+repack-2) experimental; urgency=low + + [ Cyril Brulebois ] + * Specify PASV in watch file, and mangle +repack. + + [ Christopher James Halse Rogers ] + * debian/control: + - Add libudev-dev to build-depends. This is required for the DRI2 EGL + driver to work with a drm display. + + [ Sven Joachim ] + * Update for the latest libdrm-nouveau API: + - Cherry-pick commit c25fcf5a from Mesa master. + - Build-depend on libdrm-dev 2.4.23 or newer. + * Use linux-any for linux-libc-dev and libudev-dev build-depends. + + [ Julien Cristau ] + * Update from upstream 7.9 branch, commit 0ff45dd. + * Refresh patches. + + -- Julien Cristau Tue, 04 Jan 2011 12:46:59 +0100 + +mesa (7.9+repack-1) experimental; urgency=low + + * Repack the upstream tarball to get rid of duplicate files which make dpkg + choke. Thanks to Luca Falavigna for his help diagnosing this. + + -- Julien Cristau Mon, 15 Nov 2010 23:04:45 +0100 + +mesa (7.9-1) experimental; urgency=low + + [ Christopher James Halse Rogers ] + * debian/control: + - Add EGL, GLESv1, GLESv2, and OpenVG virtual packages. The Khronos group + specifies a de-facto linux ABI for these libraries. We have a similar + package for libgl1. + * debian/README.Debian: + - Document the virtual packages above. + + [ Sven Joachim ] + * Bump libdrm-dev build dependency to 2.4.21-2~, the Nouveau Gallium + driver does not build with squeeze's libdrm-nouveau1. + + [ Julien Cristau ] + * New upstream release. + * Update patches: + - 03_optional-progs-and-install.patch dropped, demos moved to a separate + package + - 07-nouveau-update.diff and + 09-intel-fix-invalidate-before-initialisation.diff dropped, they were + backports from upstream + - 04_osmesa_version.diff updated + * Add build-dep on talloc. + * Drop the mesa-utils package, demos were moved out of the mesa tree. + * Use --with-egl-platforms instead of --with-egl-displays, and replace kms + with drm. + * Merge some packaging changes from ubuntu: + - libegl1-mesa-drivers-x11,kms: There are no longer separate kms or x11 + drivers for EGL, libegl1-mesa-drivers now contains a single driver that + provides both backends (Christopher James Halse Rogers) + - Remove pre-generated .pc's, use the ones generated at build time instead + (Robert Hooker) + - Build the r600 gallium driver + - Update symbols files + * README.source: we don't need to repack MesaLib.tar.gz anymore. + * Kill old sourceforge url from debian/watch. + * Ship the gallium r300 driver instead of the classic one. + + -- Julien Cristau Sat, 13 Nov 2010 00:36:11 +0100 + +mesa (7.8.2-2) experimental; urgency=low + + * Add missing dependencies to libegl1-mesa-dev, thanks to Alexandros + Frantzis (LP: #600243). + * gallium: handle kfreebsd like freebsd, fixing FTBFS (closes: #585618) + * intel: Fix invalidate before initialisation (stolen from fdo bugzilla + #29091, fixes server 1.9rc crash when starting an app using GLX 1.3) + * Pull from 7.8-branch up to commit d06e011. + * Fixup hurd and kfreebsd patches to apply. + + -- Julien Cristau Tue, 20 Jul 2010 15:57:31 +0200 + +mesa (7.8.2-1) experimental; urgency=low + + [ Robert Hooker ] + * Adjust the build system to install the dri target in a separate + DESTDIR, no longer passing --libdir=/usr/lib/glx at configure time + messing with the .pc's since it is used for a majority of the + packages now. + * Fix up the mesa-common-dev header install location. + + [ Julien Cristau ] + * Add ${misc:Depends} to all packages. + * libc6-dev is build-essential, no need to depend on it. + * Replace nonsensical dependency of libglw1-mesa-dev on libxext6 with a + dependency on libxt-dev and lesstif2-dev. + * Add new lintian overrides for the package-name-doesnt-match-sonames stuff. + * Don't ship progs/objviewer in the tarball, it's insanely big and unused. + * New upstream release. + * Refresh patches. + * Stop shipping an upstream git log, it's unlikely to be useful to anyone, + and it's big. + * debian/scripts/choose-configs: use DEB_HOST_ARCH, not DEB_BUILD_ARCH + (closes: #451648). + * Rename radeong_dri.so to r300_dri.so in build, not binary. + + [ Christopher James Halse Rogers ] + * debian/patches/07-nouveau-update.diff: + - Pull in nouveau_class.h header no longer shipped by libdrm 2.4.21 and + update nouveau build to use it. Fixes FTBFS against libdrm 2.4.21. + * debian/rules: + - Simplify selecting which gallium drivers are built. Use this to only + act on gallium packages on archs where we're actually building them. + Part of the fix for FTBFS on Hurd and kFreeBSD. + + -- Julien Cristau Thu, 01 Jul 2010 12:50:18 +0200 + +mesa (7.8.1-2) experimental; urgency=low + + [ Tormod Volden ] + * debian/rules: Do not strip the same packages twice + + [ Julien Cristau ] + * Stop building the ffb dri driver on sparc, it no longer exists. + * Merge changes from 7.7.1-2. + + [ Christopher James Halse Rogers ] + * debian/compat: + - Bump to v7 for dh_install search path behaviour + * debian/rules: + - Enable gallium for dri build. + - Enable egl for dri build. + - Build nouveau, radeon & swrast gallium drivers + - Build OpenVG, OpenGL|ES, dri, glx & egl state trackers + * debian/libegl1-mesa-dev.install: + * debian/libegl1-mesa.install: + * debian/libegl1-mesa.symbols: + - New libEGL package. + * debian/libgles1-mesa-dev.install: + * debian/libgles1-mesa.install: + * debian/libgles1-mesa.symbols: + - New OpenGL|ES v1.x package. + * debian/libgles2-mesa-dev.install: + * debian/libgles2-mesa.install: + * debian/libgles2-mesa.symbols: + - New OpenGL|ES v2.x package. + * debian/libopenvg1-mesa-dev.install: + * debian/libopenvg1-mesa.install: + * debian/libopenvg1-mesa.symbols: + - New OpenVG package. + * debian/libegl1-mesa-drivers-x11.install: + - New gallium EGL drivers package. + * debian/libegl1-mesa-drivers-kms.install: + - New gallium EGL kms driver package. + * debian/egl.pc: + * debian/vg.pc: + * debian/glesv1_cm.pc: + * debian/glesv2.pc: + - Pull pkg-config files from master and install them in the respective + -dev packages. + * debian/libgl1-mesa-dri-experimental.install: + * debian/libgl1-mesa-dri.install: + - “make install” puts classic and gallium drivers in the same path, but + builds gallium drivers in the gallium/ subdirectory. Copy the drivers + directly from the build path, rather than trying to separate them out + post-hock. + * debian/control: + - Add new packages. + - Add new build-depends on libx11-xcb-dev, libxcb-dri2-0-dev, + libxcb-xfixes0-dev and python-libxml2 for gallium. + - Bump build-depends on dpkg-dev for regex in symbols files. + + -- Julien Cristau Fri, 11 Jun 2010 03:19:09 +0200 + +mesa (7.8.1-1) experimental; urgency=low + + * New upstream release. + + Pull from upstream 7.8 branch up to commit db3b3421. + * Refresh patches. + * Bump build dependency to libdrm-dev 2.4.19, x11proto-gl-dev 1.4.11, + and x11proto-dri2-dev 2.1. + + -- Brice Goglin Sun, 18 Apr 2010 09:25:39 +0200 + +mesa (7.7.1-2) unstable; urgency=low + + * debian/rules: use DEB_HOST_ARCH_CPU instead of DEB_HOST_GNU_CPU. Prompted + by Ubuntu which changed the latter to i686, breaking their packages on + i386. + * Pull from mesa_7_7_branch (commit 8ba378d). + + -- Julien Cristau Thu, 20 May 2010 17:34:19 +0200 + +mesa (7.7.1-1) unstable; urgency=low + + [ Brice Goglin ] + * Remove Thierry Reding from Uploaders, closes: #572539. + * Bump Standards-Version to 3.8.4, no changes needed. + + [ Timo Aaltonen ] + * New upstream release. + + -- Brice Goglin Tue, 30 Mar 2010 17:15:09 +0200 + +mesa (7.7-4) unstable; urgency=low + + * Pull from upstream mesa_7_7_branch up to commit 293f4d51. + + r6xx/r7xx: emit relocation for FRAG & TILE buffer, closes: #569663. + + -- Brice Goglin Wed, 24 Feb 2010 22:44:11 +0100 + +mesa (7.7-3) experimental; urgency=low + + * Pull from upstream mesa_7_7_branch up to commit f5145a6e. + * Build against libdrm-radeon1 2.4.17 to get DRI2 support. + + -- Brice Goglin Mon, 01 Feb 2010 22:55:36 +0100 + +mesa (7.7-2) experimental; urgency=low + + [ Julien Cristau ] + * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no + good reason. Thanks, Colin Watson! + * Remove myself from Uploaders + + [ Brice Goglin ] + * Pull from upstream mesa_7_7_branch up to commit 2f28ca0a. + + Fix funky colors on radeon/r200/r300. + + -- Brice Goglin Wed, 27 Jan 2010 09:14:38 +0100 + +mesa (7.7-1) experimental; urgency=low + + [ Brice Goglin ] + * Bump libdrm build dependency to 2.4.15, closes: #561058. + * New upstream release. + * Pull from upstream mesa_7_7_branch up to commit 6d6c9c66. + + [ Julien Cristau ] + * Add freedesktop.org ftp to watch file since that's where newer upstream + tarballs are. + * Don't include GLUT sources since we don't use them. + + -- Brice Goglin Mon, 11 Jan 2010 17:52:31 +0100 + +mesa (7.7~rc2-1) experimental; urgency=low + + * New upstream release candidate. + + s3v and trident DRI drivers removed since they never worked. + + -- Brice Goglin Sat, 12 Dec 2009 13:02:55 +0100 + +mesa (7.6.1-1) unstable; urgency=low + + * New upstream release + + Pull upstream mesa_7_6_branch up to commit da876fa3 + * Bump linux-libc-dev build-dep to 2.6.31 for the r600 dri driver (fixes + ftbfs on mips). + * Drop hunk from 05_hurd-ftbfs.diff that was applied upstream. Refresh + other patches. + + -- Julien Cristau Tue, 29 Dec 2009 10:42:24 +0000 + +mesa (7.6.1~rc3-1) unstable; urgency=low + + * New upstream release candidate. + + Pull upstream mesa_7_6_branch up to commit 7d41b424. + + Includes sparc64 xform asm patch from #560403. + * Update debian/rules to fix sparc64 FTBFS, thanks Aurelien Jarno, + closes: #560403. + * Build r600 DRI driver. + + -- Brice Goglin Fri, 11 Dec 2009 18:36:36 +0100 + +mesa (7.6.1~rc2-1) unstable; urgency=low + + * New upstream release candidate. + + Pull upstream mesa_7_6_branch up to commit b2953ee. + + i965: Fix the bounds emitted in the vertex buffer packets, + closes: #556541. + + Fix window drawing regression in Kwin on older Radeon hardware, + fix assertion failure leading to crash on kwin when compositing + is enabled, closes: #549588. + + Refresh patches. + + -- Brice Goglin Sun, 06 Dec 2009 00:14:34 +0100 + +mesa (7.6-1) unstable; urgency=low + + [ Brice Goglin ] + * New upstream release. + + Fix software fallback assertion on RS480, closes: #539162. + + Fix segfault in _swrast_ReadPixels on i915, closes: #545085. + + [ Julien Cristau ] + * Don't run install from the various configs in parallel, hopefully fixing a + bug in the previous debian/rules. Thanks to Bernhard R. Link for the + suggestions. + + -- Brice Goglin Tue, 29 Sep 2009 11:51:58 +0200 + +mesa (7.5.1-1) unstable; urgency=low + + [ Brice Goglin ] + * New upstream release. + * Add README.source. + * Bump Standards-Version to 3.8.3. + + [ Julien Cristau ] + * Override 'package-name-doesnt-match-sonames' lintian warnings for libGLU, + libGLw and both libGLs. + * Use dh_lintian and bump debhelper build-dep accordingly. + + -- Brice Goglin Fri, 04 Sep 2009 11:38:46 +0200 + +mesa (7.5-3) unstable; urgency=low + + * Pull from upstream mesa_7_5_branch up to commit b4ba6a66 + (early 7.5.1 release snapshot). + * Only install the huge upstream changelog in mesa-common-dev, + closes: #538094. + * Enable i686 optimized libraries on hurd-i386. + + -- Brice Goglin Fri, 24 Jul 2009 00:29:28 +0200 + +mesa (7.5-2) unstable; urgency=low + + * Pull from upstream mesa_7_5_branch up to commit a6b31415 + + radeon/DRI1: if we have HW stencil, only expose fbconfigs with stencil, + closes: #537732. + * Install the upstream changelog. + + -- Brice Goglin Tue, 21 Jul 2009 22:21:50 +0200 + +mesa (7.5-1) unstable; urgency=low + + [ Timo Aaltonen ] + * Move dri.pc to mesa-common-dev (closes: #521667) + + [ Brice Goglin ] + * Enable i686 optimized libraries on kfreebsd-i386, closes: #537345. + * New upstream release: + + i915: Fix assertion failure on remapping a non-BO-backed VBO, + closes: #537147. + + GLX/DRI1: Mark GLX visuals with depth != screen depth non-conformant, + closes: #532980. + + -- Brice Goglin Sun, 19 Jul 2009 12:53:41 +0200 + +mesa (7.5~rc4-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release candidate. + + xdriinfo now works with DRI2 (closes: #527132) + * rules: Disable EGL. + * mesa-common-dev.install: Don't install glxew.h, conflicts with libglew. + + [ Julien Cristau ] + * Update patches: + + 02_use-ieee-fp-on-s390-and-m68k.patch moved from imports.h to compiler.h + + 03_optional-progs-and-install.patch refreshed + + 05_hurd-ftbfs.diff partly applied upstream + + 06_kfreebsd-ftbfs.diff refreshed + * Install dri.pc, which will be needed to build xorg-server 1.7. + * Don't build gallium for now. + + -- Julien Cristau Sun, 28 Jun 2009 20:21:37 +0200 + +mesa (7.4.4-1) unstable; urgency=low + + [ Julien Cristau ] + * New upstream release. + + fixes a crash in swrast glXWaitX (closes: #528708) + * Don't build hardware dri drivers on s390. + * Update 04_osmesa_version.diff, refresh 06_kfreebsd-ftbfs.diff. + + [ Brice Goglin ] + * Enable motif in GLw, closes: #527483. + + -- Julien Cristau Sun, 28 Jun 2009 18:58:27 +0200 + +mesa (7.4.1-1) unstable; urgency=low + + [ Julien Cristau ] + * Make libgl1-mesa-dev and mesa-common-dev 'Architecture: any'. This gets + rid of uninstallability when a new upstream version isn't built on all + architectures, and allows us to ship potentially arch-specific .pc files. + * Install pkgconfig files for libGLU, libOSMesa and libGLw. + * Make libgl1-mesa-dri{,-dbg} 'Architecture: any', as swrast_dri.so should + get built everywhere. + * Drop the dependency on libgl1-mesa-glx from -dri, and make -glx recommend + -dri instead. The dri drivers are also loaded by the X server, which + doesn't need libGL. On the other hand, libGL needs one of the dri drivers + for direct rendering (either software or hardware). Mark libgl1-mesa-dri + as breaking old xserver-xorg-core and libgl1-mesa-glx, to avoid + incompatibilities. + * Add patch by Samuel Thibault to fix FTBFS on hurd-i386. + * Pull from mesa_7_4_branch as of May 3rd (commit 63375254). + * Move -dbg packages to new 'debug' section. + + [ Brice Goglin ] + * Add patch by Aurelien Jarno to fix FTBFS on kfreebsd-i386, closes: #524690. + + -- Julien Cristau Sun, 03 May 2009 16:05:09 +0200 + +mesa (7.4-2) unstable; urgency=low + + * Upload to unstable. + + -- Julien Cristau Wed, 08 Apr 2009 23:53:47 +0100 + +mesa (7.4-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release. + + -- Julien Cristau Wed, 01 Apr 2009 20:25:00 +0200 + +mesa (7.4~rc1-1) experimental; urgency=low + + * New upstream release candidate. + * Fix watch file to make uscan not consider release candidates as newer than + actual releases. + * debian/control: add lpia to the Architecture field for + libgl1-mesa-dri{,-dbg} to match Ubuntu. + * debian/rules: on lpia, only build the i915 and i965 dri drivers (based on + Ubuntu changes). + * Build-depend on linux-libc-dev >= 2.6.29 on linux archs. + + -- Julien Cristau Wed, 25 Mar 2009 11:34:42 +0100 + +mesa (7.3-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release. + + [ Julien Cristau ] + * Try to make the diff a bit smaller by removing directories that are in + upstream git but not in tarballs. + + -- Julien Cristau Fri, 30 Jan 2009 20:00:34 +0100 + +mesa (7.3~rc3-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release candidate. + + [ Julien Cristau ] + * Refresh patches 03 and 04. + + -- Julien Cristau Wed, 21 Jan 2009 19:01:21 +0100 + +mesa (7.3~rc1-1) experimental; urgency=low + + * New upstream release candidate. + + provides DRI2 (closes: #411141). + + i915: fallback for cube map texture. Fixes GPU hang with scorched3d + (closes: #484049). + + [ Timo Aaltonen ] + * Remove debian/patches/01_disable-intel-classic-warn.diff, the + warning is gone now. + * debian/control: + - Build-depend on x11proto-dri2-dev (>= 1.99.3) + + [ Julien Cristau ] + * Require libdrm-dev 2.4.3. + * Merge packaging changes from unstable, from 7.0.3-5 to 7.0.3-7. + * Delete unused configs/debian-*, and install-source.sh script. We've + switched to using autoconf, and mesa-swx11-source is gone. + * Delete some now unused code from debian/rules. + + -- Julien Cristau Sat, 10 Jan 2009 22:14:55 +0100 + +mesa (7.2-1) experimental; urgency=low + + [ Brice Goglin ] + * Fix grammar and punctuation in glxinfo(1), thanks Sam Hocevar, + closes: #498595. + + [ Timo Aaltonen ] + * New upstream release. + * Refresh patch 04_osmesa_version.diff + + [ Julien Cristau ] + * Remove the build-dep on dri2proto, DRI2 support has been removed. + * intel: don't warn about TTM init failure. + + -- Julien Cristau Wed, 24 Sep 2008 14:28:21 +0200 + +mesa (7.1-1) experimental; urgency=low + + * Add parallel build support. + * New upstream development release + + libGLU now only exports its public interface (closes: #319388) + * Some more parallel build updates. + + -- Julien Cristau Wed, 27 Aug 2008 19:52:24 +0200 + +mesa (7.1~rc3-1) experimental; urgency=low + + [ Julien Cristau ] + * New upstream release candidate (updated to git commit 4fab47b1). + * Build against libdrm >= 2.3.1. + * 04_osmesa_version.diff: fix libOSMesa versioning, to revert accidental + SONAME bump. + + [ Timo Aaltonen ] + * Refresh patches, and drop obsolete 00_create-libdir.patch and + 01_fix-makefile.patch. + * Build-depend on x11proto-dri2-dev. + * Drop mesa-swx11-source. + * Add dri_interface.h to mesa-common-dev. + * Add gl.pc to libgl1-mesa-dev + * rules: Replace the old build system with the new autotools-based + system. + * Run autoreconf before building the various flavours.. + * Add automake & autoconf to build-deps. + * Use --enable-glx-tls for dri. + + -- Julien Cristau Sun, 13 Jul 2008 19:41:42 +0200 + +mesa (7.0.3-7) unstable; urgency=low + + * Cherry-pick patch from upstream: + Use 3Dnow! x86-64 routines only on processors that support 3Dnow! + (closes: #484180). + * Also build the x86-specific dri drivers on kfreebsd (closes: #492894). + + -- Julien Cristau Sun, 14 Dec 2008 07:34:58 +0530 + +mesa (7.0.3-6) unstable; urgency=high + + * Update debian/copyright to the SGI Free Software License B, version 2.0. + It now mirrors the free X11 license used by X.Org (closes: #368560). + http://www.sgi.com/company_info/newsroom/press_releases/2008/september/opengl.html + + -- Julien Cristau Sat, 20 Sep 2008 16:30:44 +0200 + +mesa (7.0.3-5) unstable; urgency=low + + * Disable the i915tex driver, it doesn't build against libdrm 2.3.1. + * Pull from mesa_7_0_branch (27425708). + + -- Julien Cristau Sat, 12 Jul 2008 18:56:19 +0200 + +mesa (7.0.3-4) unstable; urgency=low + + * Pull from mesa_7_0_branch (2ac4919d). + * Put back our configs/ changes into the .diff.gz since choose-configs + needs them before quilt is invoked. Put 04_cleanup-osmesa-configs.patch + there as well for #485161. + + -- Brice Goglin Wed, 18 Jun 2008 20:59:14 +0200 + +mesa (7.0.3-3) unstable; urgency=low + + * Pull from mesa_7_0_branch (718724de). + + Fix intel_batchbuffer_space on i965, closes: #455817. + + Fix busy error in i915_wait_irq for real now, closes: #467319. + * Move our configs/ changes from the .diff.gz into our quilt patches, + with 04_cleanup-osmesa-configs.patch renamed into 04_debian-configs.patch, + closes: #485161. + + -- Brice Goglin Tue, 17 Jun 2008 20:00:51 +0200 + +mesa (7.0.3-2) unstable; urgency=low + + * Pull from mesa_7_0_branch (03447de3). + * Set right cliprects for the current draw region on Intel, closes: #467319. + * Use BRW_TEXCOORDMODE_CLAMP instead of BRW_TEXCOORDMODE_CLAMP_BORDER + to implement GL_CLAMP on i965, closes: #478880. + * Fix segment fault with BASE_LEVEL set to 5 for MipMap on i915, + closes: #451339. + * Disable low impact fallback on r300 by default, closes: #440868. + + -- Brice Goglin Fri, 13 Jun 2008 06:53:29 +0200 + +mesa (7.0.3-1) unstable; urgency=low + + * New upstream release. + * Only call ProgramStringNotify if program parsing succeeded, + closes: #473551. + + -- Brice Goglin Fri, 11 Apr 2008 08:42:37 +0200 + +mesa (7.0.3~rc2-2) unstable; urgency=low + + * Pull from mesa_7_0_branch (1e83d70b). + * Fixes regression in the i965 dri driver (closes: #470984, #470084) + * Update 02_use-ieee-fp-on-s390-and-m68k.patch. + * Change libgl1-mesa-swx11-i686's pre-dependency on libgl1-mesa-swx11 to a + regular versioned dependency, and add ${shlibs:Depends}. + + -- Julien Cristau Mon, 31 Mar 2008 16:47:31 +0200 + +mesa (7.0.3~rc2-1) unstable; urgency=low + + * New upstream release candidate. + + enable user-defined clip planes for R300 (closes: #408679) + + 03_optional-progs-and-install.patch: partly applied upstream, fixed up + * Stop building with -O0 on hppa. Bug #451047 should be fixed in recent gcc + versions. + + -- Julien Cristau Sun, 24 Feb 2008 10:22:54 +0100 + +mesa (7.0.2-4) unstable; urgency=low + + * Update to mesa_7_0_branch head (commit 48ae5cf0). + * Add Vcs-Git, Vcs-Browser and Homepage fields in debian/control. + + -- Julien Cristau Thu, 17 Jan 2008 22:23:06 +0100 + +mesa (7.0.2-3) unstable; urgency=low + + * Update to mesa_7_0_branch head (commit 0107acde). + * Bump Standards-Version to 3.7.3. + * Move libgl1-mesa-swx11-dbg, mesa-common-dev and libosmesa6-dev to section + libdevel. + * libgl1-mesa-swx11 conflicts with libgl1-mesa-glx. Move it and + libgl1-mesa-swx11-dev to priority extra. + * Fix typo in mesa-common-dev's long description. + + -- Julien Cristau Tue, 18 Dec 2007 19:13:18 +0100 + +mesa (7.0.2-2) unstable; urgency=low + + [ Julien Cristau ] + * Don't set -fno-strict-aliasing in configs/debian-default. It is set + upstream now. + * Workaround gcc ICE on hppa: build libOSMesa with -O0 (see bug#451047). + * Add build-dep on libxext-dev. Thanks, Timo Aaltonen! + + -- Brice Goglin Tue, 13 Nov 2007 21:43:40 +0100 + +mesa (7.0.2-1) unstable; urgency=low + + * New upstream release. + + Fix Blender crash in triangle_twoside(), closes: #439668, #446315. + + Fix crash in _generic_read_RGBA_span_RGB565_MMX(), closes: #445313. + + Fix the new __gluInvertMatrix() function, closes: #440137 ,#441071. + + Refresh 03_optional-progs-and-install.patch since libGLU is not + built when building progs/xdemos. + + Refresh 04_cleanup-osmesa-configs.patch. + + Drop 05_static-nonpic.patch,, applied upstream. + + Remove DESTDIR from INSTALL_DIR in configs/debian-default since + the upstream Makefiles now support DESTDIR. + * Add myself to Uploaders. + + -- Brice Goglin Sun, 11 Nov 2007 11:53:26 +0100 + +mesa (7.0.1-2) unstable; urgency=low + + * Update to latest git (from mesa_7_0_branch) + + adds support for some new intel chipsets (i915 and i915_tex dri drivers) + (closes: #437333) + + broken inline asm in dri drivers fixed (closes: #423739) + + -- Julien Cristau Tue, 28 Aug 2007 12:11:30 +0200 + +mesa (7.0.1-1) unstable; urgency=low + + * New upstream release. + * Upload to unstable. + + -- Julien Cristau Thu, 09 Aug 2007 11:56:16 +0200 + +mesa (7.0.1~rc2-1) experimental; urgency=low + + [ David Nusinow ] + * New upstream release candidate + * Bite the bullet and add myself to uploaders + + [ Julien Cristau ] + * Modify the short descriptions of various packages so they fit in .changes + files without being cut off. Thanks, Marc 'HE' Brockschmidt! + * Add a shlibs file for libgl1-mesa-swx11-i686. + + -- Julien Cristau Fri, 27 Jul 2007 20:17:48 +0200 + +mesa (6.5.3-1) experimental; urgency=low + + [ David Nusinow ] + * New upstream release + + [ Julien Cristau ] + * Cherry-pick commit 65faf023679988f93da82b4c7ebdc689f2094459 by Michel + Dänzer to fix r300 crash. + + -- Julien Cristau Mon, 21 May 2007 11:34:51 +0200 + +mesa (6.5.3~rc3-1) experimental; urgency=low + + [ Brice Goglin ] + * Split out libGLw libs and headers from libgl1-mesa-swx11 and ship both + static and shared libraries, creating libglw1-mesa and libglw1-mesa-dev + (closes: #374904). + + [ Julien Cristau ] + * New upstream release candidate. + + 06_fix_texture_data_corruption.patch, + 07_call_radeonSetCliprects_from_radeonMakeCurrent.patch, + 08_r300_update_window_state_when_bound_but_stamp_changed.patch, + 09_i915_always_enable_pixel_fog.patch: remove, included upstream. + + 01_fix-makefile.patch, 02_use-ieee-fp-on-s390-and-m68k.patch: refresh. + * Add build-dependencies on libxdamage-dev and libxfixes-dev. + * Resync debian/scripts/install-source.sh. + * Build mesa-swx11-source only in binary-indep. + * Update from upstream git (commit + dee1b0d5bbe91f83854813cbbcd3090327bcb5c2). + + -- Julien Cristau Wed, 25 Apr 2007 10:36:50 +0200 + +mesa (6.5.2-7) unstable; urgency=low + + [ Brice Goglin ] + * libgl1-mesa-dev does not need to depend on libgl1-mesa-dri, + libgl1-mesa-glx is enough (since their split in 6.4.1-0.1); + closes: #432081. Thanks, Samuel Thibault! + + [ Julien Cristau ] + * libgl1-mesa-dev Depends on libgl1-mesa-glx (>= ${source:Upstream-Version}) + instead of >= ${Source-Version}. This way it's still installable on + architectures where mesa isn't built yet when a minor revision is + uploaded. + + -- Julien Cristau Wed, 11 Jul 2007 05:50:45 +0200 + +mesa (6.5.2-6) unstable; urgency=low + + * libgl1-mesa-swx11 needs to depend on libosmesa6 (>= 6.5.2-1) because + it used to contain libOSMesa.so.6. This means that programs linked + against this lib got a dependency on -swx11 which was broken since + 6.5.2-1. + * Fix build on hurd-i386 (build libgl1-mesa-glx without dri support and + don't build the dri drivers); closes: #420403. Thanks, Samuel Thibault! + + -- Julien Cristau Thu, 05 Jul 2007 00:56:35 +0200 + +mesa (6.5.2-5) unstable; urgency=low + + [ Brice Goglin ] + * Add 07_call_radeonSetCliprects_from_radeonMakeCurrent.patch + (closes: #420164). Thanks to Christian Ohm. + * Add 08_r300_update_window_state_when_bound_but_stamp_changed.patch + * Add 09_i915_always_enable_pixel_fog.patch + + -- Julien Cristau Fri, 18 May 2007 13:36:25 +0200 + +mesa (6.5.2-4) unstable; urgency=low + + [ Julien Cristau ] + * debian/control: libgl1-mesa-dri now suggests libglide3, with an + explanation in the description (closes: #387339). + * Upload to unstable. + + [ Brice Goglin ] + * Add 06_fix_texture_data_corruption.patch (closes: #412346). + + -- Julien Cristau Fri, 20 Apr 2007 05:57:35 +0200 + +mesa (6.5.2-3) experimental; urgency=low + + * Set LIB_DIR and EXTRA_LIB_PATH in configs/debian-default to override + settings in configs/linux-x86-64. This fixes a FTBFS on amd64, thanks to + Marc 'HE' Brockschmidt for the report (closes: #410118). + + -- Julien Cristau Wed, 7 Feb 2007 23:04:28 +0100 + +mesa (6.5.2-2) experimental; urgency=low + + * Sync Section/Priority for all packages with the override. + * Build the arch:all debs in binary-indep, and use the debhelper -s option + for commands in binary-arch, to fix FTBFS on non-i386 archs, thanks to + Marc 'HE' Brockschmidt (closes: #409638). + * Add myself to Uploaders. + + -- Julien Cristau Sun, 4 Feb 2007 21:14:02 +0100 + +mesa (6.5.2-1) experimental; urgency=low + + [ Thierry Reding ] + * New upstream release. + * Set the Debian X Strike Force as maintainer. + * Add myself to uploaders. + * Build the i915tex DRI module on the i386 and amd64 architectures. + * Add patch 04_cleanup-osmesa-configs that makes the OSMesa configurations + behave as expected. + * Add patch 05_static-nonpic to build static libraries without -fPIC. + * Make debugging symbol packages depend on the corresponding binary package + and put them into the libdevel section. + * Bump shlibs file for the libosmesa6 package to account for added symbols. + Thanks Julien Cristau. + * Build the DRI modules with the default optimization flags. Thanks Julien + Cristau. + * mesa-common-dev now ships the GLX header files so it needs to replace + libgl1-mesa-swx11-dev and libgl1-mesa-dev. Thanks Julien Cristau. + * All OSMesa libraries were moved to the libosmesa6 and libosmesa6-dev + package, so have them replace libgl1-mesa-swx11, libgl1-mesa-swx11-dev and + mesa-common-dev respectively. Thanks Julien Cristau. + + [ Julien Cristau ] + * Drop obsolete depends on xlibs. + + -- Thierry Reding Thu, 11 Jan 2007 15:06:52 +0100 + +mesa (6.5.2~rc3-0.1) experimental; urgency=low + + * Non-maintainer upload. + * Update to latest upstream release candidate. + + -- Thierry Reding Fri, 1 Dec 2006 01:06:28 +0100 + +mesa (6.5.2~rc2-0.1) experimental; urgency=low + + * Non-maintainer upload. + * New upstream release candidate: + + Refresh 02_use-ieee-fp-on-s390-and-m68k.patch. + * Add manual pages for the glxdemo, glxgears, glxheads and glxinfo + utilities (Closes: #385463). + + -- Thierry Reding Wed, 22 Nov 2006 20:49:06 +0100 + +mesa (6.5.2~rc1-0.1) experimental; urgency=low + + * Non-maintainer upload. + * New upstream release candidate. + * Update patches: + + Drop hunk #2 of 01_fix-makefile.patch, applied upstream. + + Drop 03_handle-sync-and-dont-unlock-display.patch, applied upstream. + * Bump build-dependency on libdrm-dev (>= 2.2.0). + * Use the new upstream minstall utility to install files and directories. + Using /usr/bin/install would result in a symlink's target being copied + instead of the symlink. + + -- Thierry Reding Sat, 18 Nov 2006 22:23:04 +0100 + +mesa (6.5.1-0.6) experimental; urgency=low + + * Non-maintainer upload. + * Rewrote the debian/rules file to make it easier to understand. + * Provide i686 optimized versions in libgl1-mesa-swx11-i686 instead of in + libgl1-mesa-swx11. + * Statically link libOSMesa with the software rasterization code from libGL + so that it works independently of the installed libGL. (Closes: #387706) + * Make libosmesa6-dev depend on mesa-common-dev because it only needs the + gl.h header file and no libGL anymore. + * Move glx*.h headers from libgl1-mesa(-swx11)-dev into mesa-common-dev + because both packages provide identical files. + * Add debugging symbol packages for libgl1-mesa-swx11, libgl1-mesa-glx and + libgl1-mesa-dri. + * Repack the contents of the three Mesa tarballs (MesaDemos, MesaGLUT and + MesaLib) as the original source tarball. (Closes: #392715) + * Make mesa-common-dev depend on libx11-dev. + * Provide a new package: mesa-utils. These utilities are shipped in the + MesaDemos package so mesa is the right package to provide them. + + -- Thierry Reding Sat, 18 Nov 2006 18:50:07 +0100 + +mesa (6.5.1-0.5) unstable; urgency=low + + * Non-maintainer upload. + * Build with -fno-strict-aliasing to fix misbuild of i965_dri.so + (closes: #394311). Thanks to Michel Dänzer for the fix, and to Ryan + Richter for the report and testing. + + -- Julien Cristau Wed, 3 Jan 2007 13:48:20 +0100 + +mesa (6.5.1-0.4) unstable; urgency=medium + + * Non-maintainer upload (and brown paper bag release). + * _Depend_ on libx11-dev from libgl1-mesa-dev; revert previous change. + Fixes FTBFS in other packages. (Really Closes: #396498) + + -- Steinar H. Gunderson Sat, 11 Nov 2006 13:55:20 +0100 + +mesa (6.5.1-0.3) unstable; urgency=medium + + * Non-maintainer upload. + * Build-depend on libx11-dev; fixes FTBFS. (Closes: #396498) + + -- Steinar H. Gunderson Wed, 8 Nov 2006 20:58:40 +0100 + +mesa (6.5.1-0.2) unstable; urgency=low + + * Non-maintainer upload + * Disable generation of SSE instructions (closes: #390560) + * Remove duplicate and unused build configurations + * Remove extra source files left from CVS snapshots (closes: #389283) + * Enable i965 DRI driver on i386 and amd64. Thanks to Ryan Richter + for the patch. (closes: #392030) + * Enable Unichrome DRI driver on amd64 (closes: #391900) + * Enable FFB DRI driver on sparc, not i386 (closes: #388025) + * Consistently compile C sources as C99 (closes: #373623) + * Fix X display locking error in GLX. Thanks to Josh Triplett for + the patch. (closes: #391681) + + -- Ben Hutchings Fri, 13 Oct 2006 02:25:52 +0100 + +mesa (6.5.1-0.1) unstable; urgency=low + + * New upstream version + * Build-dep on x11proto-gl-dev >= 1.4.8 + * Stuff not in the upstream tarballs + + os2 glut stuff + + docs/gears.png + * Bump libdrm-dev build-dep to >= 2.0.2 + * Add libdrm cflags to the debian-dri config. This allows the build system + to find drm.h + * Make sure that libGl looks for the dri drivers in the proper location. Do + this by setting the appropriate variables in the debian config + * Re-add s390 and m68k to the USE_IEEE test in src/mesa/main/imports.h. This + package seriously needs to store patches somewhere that are easy to find + and re-apply. + * Add patch from Cyril Brulebois to allow package to build on HURD, which + lacks DRI and directfb. This includes not using lib-directfb in the + build-depends for hurd-i386. It also creates a new debian config, + debian-indirect, which is used when building for HURD. This config is + invoked in the debian-dri config on hurd-i386. Thanks to Cyril Brulebois + for the patch, Michael Banck, Michel Dänzer, and Samuel Thibault for + input on an appropriate fix. (closes: #358065) + + -- David Nusinow Mon, 25 Sep 2006 21:21:47 -0400 + +mesa (6.5.0.cvs.20060524-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Upload mesa 6.5 cvs to unstable, because we need it for Xorg 7.1. + * Upload with medium urgency instead of high, since this is a new + upstream that should get some testing in unstable in spite of the + multiple RC bugfixes. + * Update debian/copyright with the full text of the SGI Free B and SGI + MIT-style licenses in use in the package, and take a stab at + cleaning up the list of paths and licenses. + Closes: #368562. + * Make mesa-common-dev Replaces: xlibosmesa-dev from sarge. + Closes: #384057. + * Fix libgl1-mesa-glx to not Provides: libgl1-mesa-dri, since it + definitely doesn't provide DRI support and this Provides: breaks + upgrades from sarge. Closes: #384282. + * debian/libgl1-mesa-swx11.shlibs: create a static shlibs file, + because libOSMesa.so.6 is not provided by all implementations of + libGL and so needs a separate shlibs declaration. Also make + libgl1-mesa-glx the default alternative instead of libgl1-mesa-swx11 + for consistency even when building against libgl1-mesa-swx11, + because to the extent these are interchangeable (i.e., 99%...), + there should be no reason to prefer one over the other -- and to the + extent that they aren't interchangeable, it's wrong to list libgl1 + as an alternative dependency at all. Closes: #386185. + * Don't provide shlibs at all for libgl1-mesa-swx11-dbg; this is an + unnecessary duplication of the existing libgl1-mesa-swx11 shlibs + since packages should not really be linking against /usr/lib/debug/ + separately. + * src/mesa/tnl/t_vb_render.c: Drop a pointless printf() in the + RENDER_LINE macro, getting rid of copious debug output on console. + Closes: #369895. + * libgl1-mesa-swx11 has no reason to depend on libglu, anything that + wants libglu will have its own dependency on it; drop this + hard-coded dependency from debian/control. + * Have libglu1-mesa-dev Provides: xlibmesa-glu-dev, since it's the + successor to that package and xlibmesa-glu-dev is still referenced + in a number of places and this makes for more reliable builds than + depending on alternatives without requiring another dummy -dev + package from xorg. + * Replace references to Source-Version in debian/control with either + binary:Version or source:Version, depending on whether the + relationship references an arch: any or arch: all package, making + mesa binNMU-safe; add build-depends on dpkg-dev (>= 1.13.19) to + ensure these substvars are available. + + -- Steve Langasek Fri, 15 Sep 2006 15:51:16 -0700 + +mesa (6.5.0.cvs.20060524-1) experimental; urgency=low + + * The "-O666 -fwater-c00ling -DBE_F4ST" release + * New pull from CVS + * Merge back and forth with 6.4.2-1 + * configs/debian*_i386: disabled, optimized build fuxxored. + + -- Marcelo E. Magallon Wed, 24 May 2006 14:12:13 -0600 + +mesa (6.5.0.cvs.20060512-0.0.1) experimental; urgency=low + + * New upstream release (6.5.0) + * Pulled CVS as of 2006-05-12 + * debian/control: remove DirectFB packages + + -- Marcelo E. Magallon Fri, 12 May 2006 15:23:49 -0600 + +mesa (6.4.2-1) unstable; urgency=low + + * The "please, please, please don't hate me" release. + * New upstream release. + * Ack NMUs + * debian/control: mesa-common-dev Replaces xlibmesa-gl-dev (<< 1:7) + AGAINST MY BETTER JUDGEMENT. The problem here is gratuitous package + renames within a system that does not support them. (closes: + bug#362063) + * debian/control: hurd-i386 doesn't have drm. Doesn't fix #358065, + yet. + * bin/mklib: fix from Robert Millan to support hurd-i386 and + GNU/kFreeBSD. Thanks Robert. (closes: bug#358066) + * src/glx/x11/indirect_vertex_array.c, src/mesa/main/glheader.h, + src/mesa/drivers/dri/common/glcontextmodes.c: fix broken indirect + rendering on 64-bit platforms. Thanks Aaron M. Ucko. (closes: + bug#364228) + * debian/control: b-d on x11proto-gl-dev. Please don't hate me! + * debian/control: Standards-Version: 3.7.2 + * debian/rules: export DEB_HOST_ARCH + * configs/debian-dri: use DEB_HOST_ARCH to decide if certain DRI drivers + should be built or not. + + Built only for i386: i810 i830 sis. + Rationale: integrated chipsets available only for i386 processors. + + Built only for i386: ffb. + Rationale: Michel Dänzer said so, no idea why. + + Built only for i386, amd64: i915. + Rationale: Apparently this is available in the 64-bit Intel chipset. + Please file a bug report stating which drivers should be included/excluded + for which architectures. Positive lists are preferred. If possible state + why. + * debian/mesa-swx11-source.install: nuke this abomination. Dinamically + generate the list at build time. + * debian/drivers.map: add gl-debian-dri_i386 + * debian/README.build: updated, add big friendly letters in short sentences. + Perhaps I can read it myself this way... + * debian/rules, configs/debian, configs/debian-dri, configs/debian_i386, + configs/debian-dri_i386, debian/libdir.map, debian/drivers.map: hack in + support for variable driver's dir. If you want this for your pet + architecture please provide BOTH configs/debian_arch and + configs/debian-dri_arch. If you just want to include/exclude DRI drivers + on your architecture look in configs/debian-dri. + * configs/debian*_i386: disabled, optimized build fuxxored. + * debian/rules: remove misguided Perl construct, replace by something + simpler in shell. I actually meant to do something else with the Perl + thing, but got distracted and forgot about it. Thanks Aaron M. Ucko! + * debian/rules: make it work like debian/README.build says it works wrt to + building optimized targets. + + -- Marcelo E. Magallon Tue, 16 May 2006 18:07:53 -0600 + +mesa (6.4.1-0.4) unstable; urgency=low + + * NMU + * Add versioned conflict between libgl1-mesa-dri and xlibmesa-dri so that + the xlibmesa-dri transitional upgrade package works + + -- David Nusinow Mon, 6 Mar 2006 21:46:18 -0500 + +mesa (6.4.1-0.3) unstable; urgency=low + + * NMU + * Add s390 and m68k to the USE_IEEE test in src/mesa/main/imports.h. + (closes: #349437) + + -- David Nusinow Sat, 11 Feb 2006 17:59:26 -0500 + +mesa (6.4.1-0.2) unstable; urgency=low + + * NMU + * Re-add dh_installdirs call to binary-indep target so that we get + arch-specific dirs for the mesa-swx11-source package + * Remove makedepend from build-depends. Now we'll just build-dep on xutils + to get the app, which will translate over to our own xorg 7.0 plans. + + -- David Nusinow Tue, 31 Jan 2006 19:21:12 -0500 + +mesa (6.4.1-0.1) unstable; urgency=low + + [ Marcelo E. Magallon ] + * debian/control: build-depend on xutils + * include/GL/glx{int,proto,md,tokens}.h: missing upstream (closes: bug#326466) + * debian/libgl1-mesa-dri-dev.install: install GLX include files here, too. + * debian/rules: GLU and GLW don't have arch-specific targets. + + [ Daniel Stone ] + * New upstream version, incorporating changes from Ubuntu 6.3 packaging. + * Rename packages: + - mesag3 -> libgl1-mesa-swrast + - mesag-dev -> libgl1-mesa-swrast-dev + - libgl1-mesa-dri -> libgl1-mesa + - libgl1-mesa-dri-dev -> libgl1-mesa-dev + - libgl1-mesa-dri still exists, but now contains the DRI modules only. + * Drop dependency *from* mesa-common-dev on libgl1-mesa-dev and + libglu1-mesa-dev; it should be the other way around. (closes: #336565) + * Add Build-Depends on pkg-config to get flags from libdrm, and libexpat-dev + for DRI configuration. Break out xlibs-dev Build-Depends to the + individual libraries required. + * Bump libdrm-dev Build-Depends to >> 1.0.5, in order to get new + via_drm.h to build the unichrome DRI driver. + * Configs: pare DRI drivers down to a sensible set for each architecture. + * Remove completely broken Glide target, which caused FTBFS. + * Add mesa-swrast-source package, providing the source for the software + rasteriser for libGLcore in the X server. + * Drop tight libosmesa6 -> libgl1-mesa-swrast Depends, replace with + shlibs:Depends. + + [ David Nusinow ] + * New upstream version (6.4.1) (closes: #232665) + * Merge changes from Ubuntu version 6.4.1-0ubuntu1. + (closes: #341479, #340168, #334742) + + Add new files required by xorg-server GL build to mesa-swrast-source. + * NMU to begin getting Xorg 7.0 in to Debian + * Change libgl1-mesa-swrast Depends on libx11-6-dev to libx11-dev. + * Change libgl1-mesa-swrast to be named libgl1-mesa-swx11 + * Change libgl1-mesa to be named libgl1-mesa-glx + * mesa-swrast-src.install stop looking for the swx11 dir and look for swrast + + -- David Nusinow Sat, 21 Jan 2006 21:43:37 -0500 + +mesa (6.3.2-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Adjust Build-Depends: + + xlibs transition (Closes: #347129). + + xutils, xlibmesa-gl-dev (Closes: #326466). + * mesag-dev: Depends: libx11-dev (Closes: #347205). + + -- Christoph Berg Fri, 20 Jan 2006 20:45:43 +0100 + +mesa (6.3.2-2) unstable; urgency=low + + * debian/rules: build only whatever needs to be build according to + debian/control. + * debian/libdir.map: it's usr/lib/debug not usr/lib/dbg + * debian/rules: select optimized targets for the current host architecture + only (thanks Michel!) + * debian/README.build: reword some of the directions, add more info. + * debian/control: forgot to add CPR relationships in the new packages + (thanks Michel!) + * debian/control: Set maintainer to pkg-mesa-devel, add myself as uploader + + -- Marcelo E. Magallon Sun, 28 Aug 2005 14:41:15 -0600 + +mesa (6.3.2-1) unstable; urgency=low + + * New upstream + * configs/debian-dri: new target + * debian/control: add build-depends on libdrm-dev + * debian/rules: pass SRC_DIRS instead of SUBDIRS on the command line. + This allows for configurations to override the command line in a + sane way. + * configs/debian-dri: override SRC_DIRS + * configs/debian: add -D_GNU_SOURCE (required by dri drivers) + * debian/control, debian/rules: drop glide out of this package, it + will be moved to the mesa-legacy package, forked from 6.2.1-7. + * debian/drivers.map, debian/rules: take into account that some + drivers have external components. + + To be fixed: debian/drivers.map hardcodes locations + * debian/control: libgl1-mesa-dri, libgl1-mesa-directfb: new drivers + * dh_makeshlibs for libgl1-mesa-dri and libgl1-mesa-directfb + * debian/control: priority is optional... again... + + -- Marcelo E. Magallon Sun, 21 Aug 2005 17:13:19 -0600 + +mesa (6.2.1-7) unstable; urgency=low + + * Previous upload got lost somewhere + + bin/mklib: add GNU/kFreeBSD, patch from Aurelien Jarno (closes: + bug#307154) + + recompile with newer g++ + + -- Marcelo E. Magallon Tue, 02 Aug 2005 06:47:20 -0600 + +mesa (6.2.1-6) unstable; urgency=low + + * bin/mklib: add GNU/kFreeBSD, patch from Aurelien Jarno (closes: + bug#307154) + * recompile with newer g++ + + -- Marcelo E. Magallon Sun, 24 Jul 2005 11:47:16 -0600 + +mesa (6.2.1-5) unstable; urgency=low + + * debian/rules: big mess up, files are not being moved to their proper + places. I naively assumed that command-line options to debhelper + commands would override DH_OPTIONS, that is, that having + DH_OPTIONS=-i (as suggested in the documentation) would mean + something like "use -i unless -p is passed on the command line". It + actually means "use -i in addition to -p passed on the command + line", which does not make any sense, but is consistent with the + wording in the documentation. (closes: bug#306499, bug#306918, + bug#307095) + + -- Marcelo E. Magallon Sun, 01 May 2005 09:45:12 -0600 + +mesa (6.2.1-4) unstable; urgency=low + + * debian/control: fix description to reflect the exact content and + purpose of package (libosmesa-dev, mesag-dev). + * debian/rules: DH_OPTIONS=-s added to binary-arch target. (closes: + bug#306091) + + -- Marcelo E. Magallon Sat, 26 Mar 2005 08:03:44 -0600 + +mesa (6.2.1-3) unstable; urgency=low + + * debian/control: try to match the override file. If mesa is "extra" + (for whatever reason), all the packages should be extra. + * debian/rules: quick workaround for left-over libGL.so in GLU -dev + package. + + -- Marcelo E. Magallon Thu, 24 Mar 2005 19:35:34 -0600 + +mesa (6.2.1-2) unstable; urgency=low + + * The "thank you so much, I'm still voting against you" release. + * debian/rules: correct artifact of me not having had a proper + pbuilder environment to build stuff on and the repackaging from the + previous release. The -glu- and -glw- targets now explicitly depend + on the matching -gl- target, and symlinks are placed in the build + directories in order to actually have a libGL.so to make ld happy + when creating the libraries. + * debian/rules: uncomment dh_install :-\ There was a reason why I had + commented that out... + * First change closes: bug#298922 + * Second change closes: bug#300302, bug#300284, bug#300430 + * debian/control: "An X", whatever, I've been corrected multiple times + in both ways (translators beware). (closes: bug#300012) + + -- Marcelo E. Magallon Sun, 20 Mar 2005 22:03:29 -0600 + +mesa (6.2.1-1) unstable; urgency=low + + * The "autobuilders, please please please don't hate me" release. + * New upstream. + * Repackage: + + Fall prey to debhelper + + Entries below this one preserved for historical reasons or + sentimental value, pick as many as you want. They bear NO + relation to the actual packages! + * configs/debian, configs/debian-debug, configs/debian-debug-i386, + configs/debian-glide, configs/debian-glide-i386, configs/debian-i386, + configs/debian-osmesa16, configs/debian-osmesa16-static, + configs/debian-osmesa32, configs/debian-osmesa32-static, + configs/debian-static, configs/debian-static-i386: new files. + * configs/debian-sparc: Dave Miller confirmed that the sparc assembly + files do work on Linux. I don't know where to install the optimized + libraries, so the file doesn't actually exist. Please read + debian/README.build if you want to have a sparc-optimized library. + * debian/control: GGI and glide2 are gone. glide is glide3. + * debian/rules: modify shlibs file for the glide3 target to require glide3 + and only glide3 because that library exports functions not available in + other libGLs. Rationale: if someone is compiling a Debian package and + uses the glide target either he doesn't know what he is doing or he knows + exactly what he is doing. In the first case the package should not be + installable and in the second case the package requires this particular + version. + * debian/control: libgl1-mesa-glide3-dev does NOT provide a proper OpenGL + development environment (see above). + * PCR is bound to be wrong... *sigh* + + -- Marcelo E. Magallon Sat, 25 Dec 2004 14:50:02 -0600 + +mesa (6.0.1-1) unstable; urgency=low + + * New upstream release. + * debian/rules: redid a bunch of stuff in order to support new build system + without autoconf and automake stuff. The next version is going to change + this _again_. + + -- Marcelo E. Magallon Sun, 11 Apr 2004 07:00:19 -0600 + +mesa (5.0.0-5.1) unstable; urgency=low + + * Non-Maintainer Upload. + * Rename "GGIMesa"-references in src/GGI/default/Makefile.am to + "MesaGGI", which makes the package build again with newer libtool. + (Closes: #213836) + + -- Steinar H. Gunderson Sun, 15 Feb 2004 17:37:08 +0100 + +mesa (5.0.0-5) unstable; urgency=low + + * debian/control: yank and put error? Remove hard-coded + nvidia-glx-dev from mesag-glide2-dev dependencies. + + -- Marcelo E. Magallon Sun, 09 Feb 2003 10:31:51 +0100 + +mesa (5.0.0-4) unstable; urgency=low + + * debian/rules: fix typo in definition of GLIDE_ARCHS. (closes: bug#179622) + + -- Marcelo E. Magallon Mon, 03 Feb 2003 20:19:12 +0100 + +mesa (5.0.0-3) unstable; urgency=low + + * The "it's amazing how people pick severities" release + * debian/control: mesa-common-dev conflicts with xlibmesa-dev. Actually put + dependency of mesa-common-dev on the mesa-*-dev packages to avoid having + to track other libgl-dev packages popping up. IMO this is less error + prone. You can't install mesa-common-dev without installing mesa-*-dev, + and those packages conflict with other libgl-dev packages. (closes: + bug#177996) + * Rename libglu1c102 to libglu1-mesa; the libglu1c102 is incorrent since + this library does not export C++ functions. Sorry about the mess. + * Rename libglu1-dev to libglu1-mesa-dev to be consistent + * debian/rules: use grep-dctrl to extract architectures from debian/control + * debian/control: add grep-dctrl to build-depends + * debian/shlibs.libglu: libglu1-mesa | libglu1 + * debian/rules: install include/GL/xmesa.h in /usr/include/GL/xmesa.h; I'm + not 100% sure this is the right thing to do, but it's a niche so I don't + think it will actually make trouble (closes: bug#148866) + * debian/rules: install include/GL/glx*.h in the common package. (closes: + bug#178562) + * debian/rules: nasty hack to work arround libtool's idea of how libraries + should be linked (closes: bug#178514) + * debian/rules: even nastier hack. Getting environment variables to + percolate thru all the make calls isn't getting anywhere. + * si-glu/Makefile.am: export only glu.* symbols + * si-glu/Makefile.am: add -lm to link line + * src/Makefile.am: god damm it. If you use libm link to it! + * debian/control: mesa-common-dev depends on libglu1-mesa-dev to satisfy + libgl-dev's requirements + + -- Marcelo E. Magallon Mon, 27 Jan 2003 17:15:25 +0100 + +mesa (5.0.0-2) unstable; urgency=low + + * debian/control: Not funny, I'm sure I put lesstif and xlibs-dev in the + build-depends. CVS says I didn't. (closes: bug#176730) + * debian/control, debian/rules: regenerate auto-stuff (closes: bug#176729) + * debian/control, debian/rules: GCC C++ 3.2 transition (libglu1c102 -- ugly!) + * remove Makefile.in from CVS control + * si-glu/libnurbs/interface/Makefile.am: fix INCLUDES macro + + -- Marcelo E. Magallon Sun, 19 Jan 2003 00:48:32 +0100 + +mesa (5.0.0-1) unstable; urgency=low + + * New upstream release, it looks like glide and GGI are in working + condition again. + * FX patches from previous releases gone. They'll be back later. + * debian/rules: some clean ups. + * debian/control: add libglu1 packages + * debian/control: Standards-Version: 3.5.8 + * debian/rules: Build Xt widgets (if you need this stuff, you need to depend + on mesag-dev, libgl-dev is not enough) + * debian/control, debian/rules: add mesa-common-dev package + * debian/control, debian/rules: add osmesa packages. + + -- Marcelo E. Magallon Sun, 15 Dec 2002 12:28:49 +0100 + +mesa (4.0.3-1) unstable; urgency=low + + * New (and long delayed) upstream version + * Redid a bunch of FX patches, probably broke. + + -- Marcelo E. Magallon Thu, 03 Oct 2002 11:27:29 +0200 + +mesa (3.5-1) unstable; urgency=low + + * New upstream version. + * Redid patches. + * Disabled building GGI target. Someone with a good understanding of GGI + needs to write a driver for mesa. The old version doesn't cut it + anymore. + * Most makefiles won't work. Copied them out of CVS. + * src/Makefile.am: add -lm to library list. (closes: bug#102717) + * configure.in: adjust GLU's version info to match previous release. + + -- Marcelo E. Magallon Mon, 25 Jun 2001 22:13:40 +0200 + +mesa3 (3.4.2.1-4) unstable; urgency=low + + * So, here's the deal: the 3Dfx backend is going nowhere in 4.x and 5.x is + just arround the corner. Same thing for the GGI stuff. In order to leave + the people who need this stuff with _something_ to work with, I'll compile + those targets out of the mesa3 source package and the mesa package will + stuck to plain old X. + * debian/control, debian/rules: strip out all the parts concerning to mesa3g + and mesa3g-dev + * debian/control: update GGI architectures, let's see what happens + * debian/rules: special case alpha for stripping options. Chris, did you + ever figure out what the problem actually is? (closes: bug#99284) + * debian/rules: hereby I decree that everything in etc is a conffile. Die + future bugs, die!. + * configure: fix ggi_libdir, ggi_confdir (closes: bug#139598) + + -- Marcelo E. Magallon Sun, 29 Sep 2002 11:21:00 +0200 + +mesa (3.4.2.1-3) unstable; urgency=low + + * Actually install widgets on the mesag-dev package (closes: bug#98988) + + -- Marcelo E. Magallon Sat, 9 Jun 2001 16:39:36 +0200 + +mesa (3.4.2.1-2) unstable; urgency=low + + * src/X/xmesa1.c: I knew it, I knew it. This was bound to break. Stupid + typo. Restored MESA_GLX_FX (got renamed to GLX_FX accidentally, if you + have to know) (closes: bug#94114) + + -- Marcelo E. Magallon Mon, 21 May 2001 08:52:07 +0200 + +mesa (3.4.2.1-1) unstable; urgency=low + + * Upstream released 3.4.2. + * Hmmm... thought about it on my way home. The code to parse 3dfx.conf + is wrong. Redid. Still not tested. (closes: bug#94114) + * debian/README.Debian: document 3dfx.conf + + -- Marcelo E. Magallon Sat, 19 May 2001 11:57:33 +0200 + +mesa (3.4.2-1) unstable; urgency=low + + * New upstream version. + * debian/config.guess, debian/config.sub: newest versions from + http://subversions.gnu.org/cgi-bin/cvsweb/config (closes: bug#95338) + * GAAAAAAARGGH! src/X/xmesa1.c: horrible hack to use /etc/mesa/3dfx.conf + if there's no MESA_GLX_FX environment variable defined. I. Hate. + This. I'll make a deal with you: you find another of these things, + and you send me a nice tested patch. I don't have a 3DFX card and I + *HATE* uploading stuff I can't fully test. (closes: bug#94114) + * debian/rules: use the new files + * debian/rules: s/TMPDIR/DTEMPDIR/g + * gl3DfxSetDitherModeEXT from Zephaniah (closes: bug#65860) + * Disable GL_EXT_shared_texture_palette per default. Patch looks funny, + but I'll blindly trust Zephaniah. + * Hmmm... I hope Zephaniah tested this, because it broke in a rather silly + way at compile time. + * Fancy what people regard as "pretty important". + + -- Marcelo E. Magallon Fri, 18 May 2001 09:23:49 +0200 + +mesa (3.4.1-3) unstable; urgency=low + + * PLEASE SUBMIT NMUs TO THE BTS, DAMN IT! + * debian/control: exclude m68k from libggi2-dev build-dependency. + + -- Marcelo E. Magallon Sat, 17 Mar 2001 19:45:09 +0100 + +mesa (3.4.1-2) unstable; urgency=low + + * debian/control: add missing dependency on xlibs-dev and corrected the + one for libglide2-dev + + -- Marcelo E. Magallon Wed, 14 Mar 2001 00:21:42 +0100 + +mesa (3.4.1-1) unstable; urgency=low + + * New upstream version. + * New maintainer. (closes: bug#81139) + * Some fixes to get it to compile. + * debian/rules: some reorganization happened to allow me test different + builds better. + * debian/control: nuked widgets package, if you miss it, you are doing + something wrong. + * debian/rules: -dev packages will be missing some garbage they used to + install. If you miss any of those files, I'm fairly confident you + are doing something wrong. + * configure, ltmain.sh, aclocal.m4, acinclude.m4, ...: vicious hacks to + allow the GGI version to compile. + * TODO: add the widgets to the packages + * TODO: make OSmesa packages + + -- Marcelo E. Magallon Sat, 10 Feb 2001 18:34:13 +0100 + +mesa (3.2.1-1) unstable; urgency=low + + * New upstream version. + + -- James A. Treacy Mon, 31 Jul 2000 15:13:34 -0400 + +mesa (3.2-2) frozen unstable; urgency=low + + * add MMX and 3Dnow opts for x86. + + -- James A. Treacy Fri, 7 Jul 2000 16:06:43 -0400 + +mesa (3.2-1) frozen unstable; urgency=low + + * New upstream version. + * Made minor changes to README.3DFX. Closes bug#56827 + * Added symlinks for mesa widget libraries. Closes bug#63115 + + -- James A. Treacy Wed, 28 Jun 2000 11:21:09 -0400 + +mesa (3.1-17) frozen unstable; urgency=low + + * Fixed Makefile for demos in mesag-widgets-dev. Closes bug#62674 + + -- James A. Treacy Fri, 19 May 2000 13:23:00 -0400 + +mesa (3.1-16) frozen unstable; urgency=low + + * Add --prefix=/usr to ggi build. Closes bug#61705, #61486 + + -- James A. Treacy Wed, 12 Apr 2000 15:12:48 -0400 + +mesa (3.1-15) frozen unstable; urgency=low + + * Remove ggi from the build on m68k. Closes bug#59273 + + -- James A. Treacy Mon, 6 Mar 2000 13:20:29 -0500 + +mesa (3.1-14) frozen unstable; urgency=low + + * Fixed hard-coded location of config file in library. This is release + critical, even though no bug was filed (relates to bug#58267). + + -- James A. Treacy Mon, 28 Feb 2000 10:58:34 -0500 + +mesa (3.1-13) frozen unstable; urgency=low + + * Add missing ggi libraries. Closes bug#58267, #57760 + + -- James A. Treacy Thu, 24 Feb 2000 00:59:30 -0500 + +mesa (3.1-12) frozen unstable; urgency=low + + * Dependencies are now computed in a more intelligent way. Closes: bug#55861 + + -- James A. Treacy Fri, 21 Jan 2000 16:26:40 -0500 + +mesa (3.1-11) frozen unstable; urgency=low + + * Remove svgalib support from the software only package of mesa + + -- James A. Treacy Sat, 22 Jan 2000 05:33:13 +0000 + +mesa (3.1-10) frozen unstable; urgency=low + + * Fix the mesag3-glide2 postinst. Closes bug#55462 + + -- James A. Treacy Sat, 22 Jan 2000 02:06:27 +0000 + +mesa (3.1-9) frozen unstable; urgency=low + + * The ggi based packages are now built with the other versions of mesa. Closes: bug#49218, #55221 + + -- James A. Treacy Sat, 15 Jan 2000 22:24:13 -0500 + +mesa (3.1-8) unstable; urgency=low + + * fixed the postinst and prerm for the glide packages + * added Provides: mesag-dev to the mesag-glide2-dev package to maintain + backwards compatability + + -- James A. Treacy Sat, 15 Jan 2000 01:01:58 -0500 + +mesa (3.1-7) unstable; urgency=low + + * Fix version number for soname in the shlib file. Closes: bug#54926 + + -- James A. Treacy Thu, 13 Jan 2000 01:37:03 -0500 + +mesa (3.1-6) unstable; urgency=low + + * Include docs/README.3DFX in mesag3-glide2 package. Closes: bug#54625 + * Remove Provides: libgl1 from mesag3-widgets. Closes: bug#54774 + * conflicts with older versions of mesa. Closes: bug#54831 + + -- James A. Treacy Mon, 10 Jan 2000 11:50:49 -0500 + +mesa (3.1-5) unstable; urgency=low + + * now Conflicts: libgl1 + * remove extra '.' in library name + + -- James A. Treacy Sun, 9 Jan 2000 20:47:31 -0500 + +mesa (3.1-4) unstable; urgency=low + + * Added links libGL.so.1 <- libMesaGL.so.3 so existing progs don't break + * Copyright changed for version 3.1 + + -- James A. Treacy Thu, 6 Jan 2000 17:11:11 -0500 + +mesa (3.1-3) unstable; urgency=low + + * copyright file now refers to /usr/share/common-license/LGPL. + + -- James A. Treacy Tue, 4 Jan 2000 11:50:45 -0500 + +mesa (3.1-2) unstable; urgency=low + + * Second try. Fixed shlibs file. + + -- James A. Treacy Tue, 4 Jan 2000 00:00:29 -0500 + +mesa (3.1-1) unstable; urgency=low + + * New upstream version. + * glide version of packages added, since glide is now under the GPL. + * mesa widget libraries are now in a separate package + * library names are changed to lib{GL,GLU}.* + + -- James A. Treacy Tue, 14 Dec 1999 10:06:14 -0500 + +mesa (3.0-2) unstable; urgency=low + + * added symlinks from libMesaGL* -> libGL*. Fixes bug #37160 + * added lines (commented out) for building a glide version of mesa. Fixes bug #39758 + + -- James A. Treacy Thu, 13 May 1999 01:02:42 -0400 + +mesa (3.0-1) unstable; urgency=low + + * mesa libs moved to /usr/lib. Fixes bug #26874 + * motif widget library libMesaGLwM added (compiled using headers from lesstif). Fixes bug #25380 + + -- James A. Treacy Thu, 6 Aug 1998 13:49:37 -0400 + +mesa (2.6-4) unstable; urgency=low + + * call to ldconfig in postinst put back in. Fixes bug #20552 + * changelog.Debian file created for the mesa-doc package. + * deleted miscellaneous files. Fixes bug #21481 + + -- James A. Treacy Sat, 23 May 1998 23:41:34 -0400 + +mesa (2.6-3) frozen unstable; urgency=low + + * No changes. Just trying (again) to get this back in the distribution + + -- James A. Treacy Tue, 24 Mar 1998 00:53:09 -0500 + +mesa (2.6-2) unstable frozen; urgency=low + + * point copyright to LPGL in /usr/doc/copyright. Fixes bug #19633 + + -- James A. Treacy Sun, 15 Mar 1998 14:00:33 -0500 + +mesa (2.6-1) unstable; urgency=low + + * New upstream Release + * strip static lib with --strip-debug and shared with strip--unneeded: Fixes bug#17301 + * create doc package in build-indep: Fixes bug#16090 + * added widgets-mesa library to package: Fixes bug#15729 + * created mesa-glide* packages + + -- James A. Treacy Mon, 19 Jan 1998 23:45:50 -0500 + +mesa (2.5-2) unstable; urgency=low + + * Corrected i386 specific debian/rules file: Fixes bug#15640 + + -- James A. Treacy Fri, 5 Nov 1997 11:46:13 -0500 + +mesa (2.5-1) unstable; urgency=low + + * New upstream release. + + -- James A. Treacy Sun, 23 Nov 1997 20:46:13 -0500 + +mesa (2.4-1) unstable; urgency=low + + * New upstream release. + * New maintainer. + * libc6 release. + + -- James A. Treacy Mon, 3 Nov 1997 01:11:34 -0500 + +mesa (2.2-2) unstable; urgency=low + + * debian/control: mesa-doc no longer depends on mesa (bug #8840). + + -- Karl Sackett Wed, 30 Apr 1997 10:25:25 -0500 + +mesa (2.2-1) unstable; urgency=low + + * New upstream release. + * Make-config: linux-elf libraries compiled with -D_REENTRANT. + + -- Karl Sackett Wed, 19 Mar 1997 09:10:22 -0600 + +mesa (2.1-4) unstable; urgency=low + + * debian/control: lib packages moved from 'graphics' to 'libs'. + * debian/rules: headers moved from /usr/include/mesa to /usr/include + (no more -I/usr/include/mesa). + + -- Karl Sackett Tue, 25 Feb 1997 09:30:23 -0600 + +mesa (2.1-3) unstable; urgency=low + + * debian/control: mesa2 provides mesa and conflicts with mesa + (bug #7394). + + -- Karl Sackett Mon, 17 Feb 1997 09:25:42 -0600 + +mesa (2.1-2) unstable; urgency=low + + * debian/rules: install gmesa.h, osmesa.h, FooMesa.h in mesa-dev + (bug #6864). + + -- Karl Sackett Tue, 28 Jan 1997 09:37:41 -0600 + +mesa (2.1-1) unstable; urgency=low + + * New upstream release. + * Added soname to mesa and mesa-widgets. + * Moved static libraries to mesa2-dbg. + * debian/postinst, postinst-widgets: call ldconfig without explicit + pathname (bugs #6176, 6180). + + -- Karl Sackett Mon, 6 Jan 1997 09:30:10 -0600 + +mesa (2.0-2) unstable; urgency=low + + * Created mesa-widgets and mesa-widgets-dev (Bug #5029). + + -- Karl Sackett Wed, 30 Oct 1996 08:44:19 -0600 + +mesa (2.0-1) unstable; urgency=low + + * src/draw.c: replaced with upstream patch. + * Make-config: linux-elf target builds libMesaGLw.so library, looks + for XLIBS in /usr/X11R6/lib, removed -mieee-mp from CFLAGS. + * widgets-sgi/Makefile: builds libMesaGlw.a library + * New upstream release. + * Converted to new package standard. + * Maintainer address changed. + + -- Karl Sackett Mon, 14 Oct 1996 15:37:19 -0500 + +1.2.8-3 + * Package split into runtime, development, and documentation + packages. + * widgets now made as a sharable library. + * GLUT removed. This will be released as a separate package. + +1.2.8-2 + * Support files now architecture-independent + +1.2.8-1 + * Upgrade to latest release + * Brought support files up to latest packaging requirements + * mondello/Makefile: fixed error in realclean target + +1.2.7-2 + * debian.rules: clean all Makefiles out of widgets directory + * debian.postrm: remove /usr/lib/mesa entry from /etc/ld.so.config + (bug #2817) + +1.2.7-1 + * Added Debian support files + * Included the GLUT OpenGL Utility Toolkit + * Makefile - disable building programs in demos, samples, and book + directories + * mklib.linux - disabled building *.a libraries + * widgets/Makefile.in - disabled building demo programs --- mesa-17.3.3.orig/debian/compat +++ mesa-17.3.3/debian/compat @@ -0,0 +1 @@ +9 --- mesa-17.3.3.orig/debian/control +++ mesa-17.3.3/debian/control @@ -0,0 +1,448 @@ +Source: mesa +Section: graphics +Priority: optional +Maintainer: Ubuntu X-SWAT +XSBC-Original-Maintainer: Debian X Strike Force +Uploaders: Andreas Boll +Standards-Version: 4.0.0 +Build-Depends: + debhelper (>= 9), + dh-autoreconf, + quilt (>= 0.40), + pkg-config, + libdrm-dev (>= 2.4.82) [!hurd-any], + libx11-dev, + x11proto-gl-dev (>= 1.4.14), + libxxf86vm-dev, + libexpat1-dev, + libsensors4-dev [!hurd-any], + libxfixes-dev, + libxdamage-dev, + libxext-dev, + libva-dev (>= 1.6.0) [linux-any kfreebsd-any], + libvdpau-dev (>= 1.1.1) [linux-any kfreebsd-any], + libvulkan-dev [amd64 arm64 armel armhf i386 mips mips64el mipsel powerpc ppc64 ppc64el sparc64 x32], + autoconf, + automake, + libtool, + x11proto-dri2-dev (>= 2.6), + x11proto-dri3-dev (>= 1.0), + x11proto-present-dev (>= 1.0), + linux-libc-dev (>= 2.6.31) [linux-any], + libx11-xcb-dev, + libxcb-dri2-0-dev (>= 1.8), + libxcb-glx0-dev (>= 1.8.1), + libxcb-xfixes0-dev, + libxcb-dri3-dev, + libxcb-present-dev, + libxcb-randr0-dev, + libxcb-sync-dev, + libxshmfence-dev (>= 1.1), + libmirclient-dev (>= 0.26.2) [linux-any], + mir-client-platform-mesa-dev [linux-any], + python, + python-mako, + flex, + bison, + llvm-5.0-dev (>= 1:4.0~) [amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips mips64el mipsel powerpc ppc64 sparc64 ppc64el], + libelf-dev [amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips mips64el mipsel powerpc ppc64 sparc64 ppc64el], + libwayland-dev (>= 1.11.0) [linux-any], + libclang-5.0-dev (>= 1:4.0~) [amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips mips64el mipsel powerpc ppc64 sparc64 ppc64el], + libclc-dev (>= 0.2.0+git20170330-3) [amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips mips64el mipsel powerpc ppc64 sparc64 ppc64el], + wayland-protocols (>= 1.9), + zlib1g-dev, +Vcs-Git: https://anonscm.debian.org/git/pkg-xorg/lib/mesa.git +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-xorg/lib/mesa.git +Homepage: https://mesa3d.org/ + +Package: libxatracker2 +Section: libs +Architecture: amd64 i386 x32 +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: X acceleration library -- runtime + This package contains the XA (X acceleration) library. It is used exclusively + by the X server to do render, copy and video acceleration. + . + XA is intended to be used by the vmware driver for virtualized X acceleration. + +Package: libxatracker-dev +Section: libdevel +Architecture: amd64 i386 x32 +Depends: + libxatracker2 (= ${binary:Version}), + ${misc:Depends}, +Multi-Arch: same +Description: X acceleration library -- development files + This package contains the XA (X acceleration) library. It is used exclusively + by the X server to do render, copy and video acceleration. + . + XA is intended to be used by the vmware driver for virtualized X acceleration. + . + This package provides the development environment for compiling programs + against the xatracker library. + +Package: libgbm1 +Section: libs +Architecture: linux-any kfreebsd-any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: generic buffer management API -- runtime + This package contains the GBM buffer management library. It provides a + mechanism for allocating buffers for graphics rendering tied to Mesa. + . + GBM is intended to be used as a native platform for EGL on drm or openwfd. + +Package: libgbm-dev +Section: libdevel +Architecture: linux-any kfreebsd-any +Depends: + libgbm1 (= ${binary:Version}), + ${misc:Depends}, +Multi-Arch: same +Description: generic buffer management API -- development files + This package contains the GBM buffer management library. It provides a + mechanism for allocating buffers for graphics rendering tied to Mesa. + . + GBM is intended to be used as a native platform for EGL on drm or openwfd. + . + This package provides the development environment for compiling programs + against the GBM library. + +Package: libegl1-mesa +Section: libs +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libgbm1 (= ${binary:Version}) [!hurd-any], + libgl1-mesa-dri (= ${binary:Version}), +Provides: libegl1-x11 +Conflicts: libegl1-x11 +Replaces: libegl1-x11 +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: free implementation of the EGL API -- runtime + This package contains the EGL native platform graphics interface library. + EGL provides a platform-agnostic mechanism for creating rendering surfaces + for use with other graphics libraries, such as OpenGL|ES. + . + This package contains modules to interface with the existing system GLX or + DRI2 drivers to provide OpenGL via EGL. + +Package: libegl1-mesa-dev +Section: libdevel +Architecture: any +Depends: + libegl1-mesa (= ${binary:Version}), + libwayland-egl1-mesa (= ${binary:Version}) [linux-any], + libdrm-dev (>= 2.4.74) [!hurd-any], + x11proto-dri2-dev (>= 2.6), + x11proto-gl-dev (>= 1.4.14), + libx11-dev, + libxext-dev, + libxxf86vm-dev, + libxdamage-dev, + libxfixes-dev, + libxcb-glx0-dev, + libxcb-dri2-0-dev, + libxcb-dri3-dev, + libxcb-present-dev, + libxcb-sync-dev, + libxshmfence-dev, + libx11-xcb-dev, + libwayland-dev (>= 1.11.0) [linux-any], + ${misc:Depends}, + libmirclient-dev (>= 0.26.2) [!arm64 !powerpc !ppc64 !ppc64el !kfreebsd-any !hurd-any], +Multi-Arch: same +Description: free implementation of the EGL API -- development files + This package contains the development environment required for compiling + programs against EGL native platform graphics interface library. + EGL provides a platform-agnostic mechanism for creating rendering surfaces + for use with other graphics libraries, such as OpenGL|ES. + . + This package provides the development environment for compiling programs + against the EGL library. + +Package: libwayland-egl1-mesa +Section: libs +Architecture: linux-any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libegl1-mesa (= ${binary:Version}) +Provides: libwayland-egl1 +Conflicts: libwayland-egl1 +Replaces: libwayland-egl1 +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: implementation of the Wayland EGL platform -- runtime + This package contains the mesa implementation of the Wayland EGL platform + +Package: libgles2-mesa +Section: libs +Architecture: any +Depends: + libglapi-mesa (= ${binary:Version}), + ${shlibs:Depends}, + ${misc:Depends}, +Provides: libgles2 +Conflicts: libgles2 +Replaces: libgles2 +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: free implementation of the OpenGL|ES 2.x API -- runtime + OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on + embedded systems - including consoles, phones, appliances and vehicles. + It contains a subset of OpenGL plus a number of extensions for the + special needs of embedded systems. + . + OpenGL|ES 2.x provides an API for programmable hardware including vertex + and fragment shaders. + +Package: libgles2-mesa-dev +Section: libdevel +Architecture: any +Depends: + libgles2-mesa (= ${binary:Version}), + libegl1-mesa-dev, + ${misc:Depends}, +Multi-Arch: same +Description: free implementation of the OpenGL|ES 2.x API -- development files + OpenGL|ES is a cross-platform API for full-function 2D and 3D graphics on + embedded systems - including consoles, phones, appliances and vehicles. + It contains a subset of OpenGL plus a number of extensions for the + special needs of embedded systems. + . + OpenGL|ES 2.x provides an API for programmable hardware including vertex + and fragment shaders. + . + This package provides a development environment for building applications + using the OpenGL|ES 2.x APIs. + +Package: libglapi-mesa +Section: libs +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: free implementation of the GL API -- shared library + The Mesa GL API module is responsible for dispatching all the gl* + functions. It is intended to be mainly used by both the libgles1-mesa + and libgles2-mesa packages. + +Package: libgl1-mesa-glx +Section: libs +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libglapi-mesa (= ${binary:Version}), + libgl1-mesa-dri +Conflicts: libgl1 +Replaces: libgl1 +Provides: libgl1 +Breaks: + libopengl-perl (<< 0.6704+dfsg-2), +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: free implementation of the OpenGL API -- GLX runtime + Mesa is a 3-D graphics library with an API which is very similar to + that of OpenGL. To the extent that Mesa utilizes the OpenGL command + syntax or state machine, it is being used with authorization from + Silicon Graphics, Inc. However, the authors make no claim that Mesa + is in any way a compatible replacement for OpenGL or associated with + Silicon Graphics, Inc. + . + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package does not include the modules themselves: these can be found + in the libgl1-mesa-dri package. + +Package: libgl1-mesa-dri +Section: libs +Architecture: any +Pre-Depends: ${misc:Pre-Depends} +Depends: + ${shlibs:Depends}, + ${misc:Depends} +Recommends: libtxc-dxtn-s2tc | libtxc-dxtn-s2tc0 | libtxc-dxtn0 +Multi-Arch: same +Description: free implementation of the OpenGL API -- DRI modules + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package does not include the OpenGL library itself, only the DRI + modules for accelerating direct rendering. + . + For a complete description of Mesa, please look at the + libgl1-mesa-glx package. + +Package: libgl1-mesa-dev +Section: libdevel +Architecture: any +Depends: + mesa-common-dev (= ${binary:Version}), + libgl1-mesa-glx (= ${binary:Version}), + libdrm-dev (>= 2.4.74) [!hurd-any], + libx11-dev, + libx11-xcb-dev, + libxcb-dri3-dev, + libxcb-present-dev, + libxcb-sync-dev, + libxshmfence-dev, + libxcb-dri2-0-dev, + libxcb-glx0-dev, + libxdamage-dev, + libxext-dev, + libxfixes-dev, + libxxf86vm-dev, + x11proto-dri2-dev (>= 2.6), + x11proto-gl-dev (>= 1.4.14), + ${misc:Depends}, +Conflicts: libgl-dev +Replaces: libgl-dev +Provides: libgl-dev +Multi-Arch: same +Description: free implementation of the OpenGL API -- GLX development files + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package includes headers and static libraries for compiling + programs with Mesa. + . + For a complete description of Mesa, please look at the libgl1-mesa-glx + package. + +Package: mesa-common-dev +Section: libdevel +Architecture: any +Depends: + libx11-dev, + libdrm-dev (>= 2.4.65) [!hurd-any], + ${misc:Depends}, +Multi-Arch: same +Description: Developer documentation for Mesa + This package includes the specifications for the Mesa-specific OpenGL + extensions, the complete set of release notes and the development header + files common to all Mesa packages. + +Package: libosmesa6 +Section: libs +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + libglapi-mesa (= ${binary:Version}), +Pre-Depends: ${misc:Pre-Depends} +Multi-Arch: same +Description: Mesa Off-screen rendering extension + OSmesa is a Mesa extension that allows programs to render to an + off-screen buffer using the OpenGL API without having to create a + rendering context on an X Server. It uses a pure software renderer. + . + This package provides both 16-bit and 32-bit versions of the off-screen + renderer which do not require external libraries to work. + +Package: libosmesa6-dev +Section: libdevel +Architecture: any +Depends: + libosmesa6 (= ${binary:Version}), + mesa-common-dev (= ${binary:Version}) | libgl-dev, + ${misc:Depends}, +Conflicts: libosmesa-dev +Replaces: libosmesa-dev +Provides: libosmesa-dev +Multi-Arch: same +Description: Mesa Off-screen rendering extension -- development files + This package provides the required environment for developing programs + that use the off-screen rendering extension of Mesa. + . + For more information on OSmesa see the libosmesa6 package. + +Package: mesa-va-drivers +Section: libs +Architecture: linux-any kfreebsd-any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Enhances: + libva2, +Provides: + va-driver, +Breaks: vdpau-va-driver (<< 0.7.4-5) +Replaces: vdpau-va-driver (<< 0.7.4-5) +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Description: Mesa VA-API video acceleration drivers + These libraries provide the Video Acceleration API (VA-API) for Unix. + They provide accelerated video playback (incl. H.264) and video + post-processing for the supported graphics cards. + . + This package enables support for VA-API for some gallium drivers. + +Package: mesa-vdpau-drivers +Section: libs +Architecture: linux-any kfreebsd-any +Depends: + libvdpau1, + ${shlibs:Depends}, + ${misc:Depends}, +Enhances: + libvdpau1, +Provides: + vdpau-driver, +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Description: Mesa VDPAU video acceleration drivers + These libraries provide the Video Decode and Presentation API for Unix. + They provide accelerated video playback (incl. H.264) and video + post-processing for the supported graphics cards. + . + This package enables support for VDPAU for some gallium drivers. + +Package: mesa-vulkan-drivers +Section: libs +Architecture: amd64 arm64 armel armhf i386 mips mips64el mipsel powerpc ppc64 ppc64el sparc64 x32 +Pre-Depends: ${misc:Pre-Depends} +Depends: + libvulkan1, + ${shlibs:Depends}, + ${misc:Depends} +Multi-Arch: same +Description: Mesa Vulkan graphics drivers + Vulkan is a low-overhead 3D graphics and compute API. This package + includes Vulkan drivers provided by the Mesa project. + +Package: mesa-opencl-icd +Section: libs +Architecture: amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips mips64el mipsel powerpc ppc64 sparc64 ppc64el +Pre-Depends: ${misc:Pre-Depends} +Depends: + libclc-r600 (>= 0.2.0+git20170330-3), + libclc-amdgcn (>= 0.2.0+git20170330-3), + ocl-icd-libopencl1 | libopencl1, + ${shlibs:Depends}, + ${misc:Depends}, +Provides: opencl-icd +Multi-Arch: same +Description: free implementation of the OpenCL API -- ICD runtime + This package contains the mesa implementation of the OpenCL (Open Compute + Language) library, which is intended for use with an ICD loader. OpenCL + provides a standardized interface for computational analysis on graphical + processing units. + +# vim: tw=0 --- mesa-17.3.3.orig/debian/copyright +++ mesa-17.3.3/debian/copyright @@ -0,0 +1,161 @@ +This package was debianized by James A. Treacy treacy@debian.org on Thu, +6 Jan 2000 01:11:34 -0500. It was newly debianized by Marcelo E. +Magallon on Sat, 25 Dec 2004 14:50:02 -0600. It was +again debianized by Thierry Reding on Sat, 14 Oct 2006 +02:01:12 +0200. + +It was downloaded from https://www.mesa3d.org/download.html + +For more information see: + + https://www.mesa3d.org/ + +------------------------------------------------------------------------------- +The Mesa distribution consists of several components. Different copyrights and +licenses apply to different components. For example, the GLX client code uses +the SGI Free Software License B, and some of the Mesa device drivers are +copyrighted by their authors. See below for a list of Mesa's main components +and the license for each. + +The core Mesa library is licensed according to the terms of the MIT license. +This allows integration with the XFree86, Xorg and DRI projects. + +The default Mesa license is as follows: + +Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + +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. + +Attention, Contributors + +When contributing to the Mesa project you must agree to the licensing terms of +the component to which you're contributing. The following section lists the +primary components of the Mesa distribution and their respective licenses. + +Mesa Component Licenses + +Component Location License +------------------------------------------------------------------ +Main Mesa code src/mesa/ MIT + +Device drivers src/mesa/drivers/* MIT, generally + +Gallium code src/gallium/ MIT + +Ext headers include/GL/glext.h Khronos + include/GL/glxext.h + +GLX client code src/glx/ SGI Free Software License B + +C11 thread include/c11/threads*.h Boost (permissive) +emulation + +In general, consult the source files for license terms. +-------------------------------------------------------------------------------- + +Khronos license: + + Copyright (c) 2013-2015 The Khronos Group Inc. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and/or associated documentation files (the + "Materials"), to deal in the Materials without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Materials, and to + permit persons to whom the Materials are 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 Materials. + + THE MATERIALS ARE 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 + MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + + +Boost license: + + (C) Copyright yohhoy 2012. + Distributed under the Boost Software License, Version 1.0. + + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare [[derivative work]]s of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + + 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, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + +SGI Free Software License B: + + SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved. + + 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 including the dates of first publication and + either this permission notice or a reference to + http://oss.sgi.com/projects/FreeB/ + 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 + SILICON GRAPHICS, INC. 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. + + Except as contained in this notice, the name of Silicon Graphics, Inc. + shall not be used in advertising or otherwise to promote the sale, use or + other dealings in this Software without prior written authorization from + Silicon Graphics, Inc. + + +On Debian systems the full text of the GNU LGPL license is found in +/usr/share/common-licenses/LGPL. + +------------------------------------------------------------------------------ + +The Debian packaging is (C) 2006, Thierry Reding and +is licensed under the GPL, see `/usr/share/common-licenses/GPL'. --- mesa-17.3.3.orig/debian/gbp.conf +++ mesa-17.3.3/debian/gbp.conf @@ -0,0 +1,2 @@ +[DEFAULT] +debian-branch=ubuntu --- mesa-17.3.3.orig/debian/libegl1-mesa-dev.install.in +++ mesa-17.3.3/debian/libegl1-mesa-dev.install.in @@ -0,0 +1,5 @@ +# This file gets tweaked in an os-specific fashion (see libegl1-mesa-dev.install.linux.in) +usr/lib/${DEB_HOST_MULTIARCH}/libEGL.so usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl +usr/include/EGL +usr/include/KHR +usr/lib/*/pkgconfig/egl.pc --- mesa-17.3.3.orig/debian/libegl1-mesa-dev.install.linux.in +++ mesa-17.3.3/debian/libegl1-mesa-dev.install.linux.in @@ -0,0 +1,9 @@ +# OS-independent part (from libegl1-mesa-dev.install.in): +usr/lib/${DEB_HOST_MULTIARCH}/libEGL.so usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl +usr/include/EGL +usr/include/KHR +usr/lib/*/pkgconfig/egl.pc + +# Wayland support, only on Linux: +usr/lib/*/libwayland-egl.so +usr/lib/*/pkgconfig/wayland-egl.pc --- mesa-17.3.3.orig/debian/libegl1-mesa-dev.links.in +++ mesa-17.3.3/debian/libegl1-mesa-dev.links.in @@ -0,0 +1 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/libEGL.so /usr/lib/${DEB_HOST_MULTIARCH}/libEGL.so --- mesa-17.3.3.orig/debian/libegl1-mesa.install.in +++ mesa-17.3.3/debian/libegl1-mesa.install.in @@ -0,0 +1 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libEGL.so.1* usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl --- mesa-17.3.3.orig/debian/libegl1-mesa.lintian-overrides +++ mesa-17.3.3/debian/libegl1-mesa.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libEGL1 --- mesa-17.3.3.orig/debian/libegl1-mesa.postinst.in +++ mesa-17.3.3/debian/libegl1-mesa.postinst.in @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +THIS_PACKAGE=libegl1-mesa +THIS_SCRIPT=postinst + +case "$1" in + configure) + # Use alternatives to make it easier to switch between Mesa and 3rd party modules + update-alternatives --force \ + --install /etc/ld.so.conf.d/${DEB_HOST_MULTIARCH}_EGL.conf ${DEB_HOST_MULTIARCH}_egl_conf /usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/ld.so.conf 500 \ + + # ldconfig needs to be run immediately as we're changing /etc/ld.so.conf.d/ with + # alternatives. + LDCONFIG_NOTRIGGER=y ldconfig + +esac + +#DEBHELPER# + +exit 0 --- mesa-17.3.3.orig/debian/libegl1-mesa.prerm.in +++ mesa-17.3.3/debian/libegl1-mesa.prerm.in @@ -0,0 +1,20 @@ +#!/bin/sh + +set -e + +THIS_PACKAGE=libegl1-mesa +THIS_SCRIPT=prerm + +case "$1" in + remove) + # Use alternatives to make it easier to switch between Mesa and 3rd party modules + update-alternatives --remove ${DEB_HOST_MULTIARCH}_egl_conf /usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/ld.so.conf + + # explicit ldconfig due to alternatives + ldconfig + +esac + +#DEBHELPER# + +exit 0 --- mesa-17.3.3.orig/debian/libegl1-mesa.symbols +++ mesa-17.3.3/debian/libegl1-mesa.symbols @@ -0,0 +1,50 @@ +libEGL.so.1 libegl1-mesa #MINVER# | libegl1-x11 + MesaGLInteropEGLExportObject@Base 12.0.4 + MesaGLInteropEGLQueryDeviceInfo@Base 12.0.4 + eglBindAPI@Base 7.8.1 + eglBindTexImage@Base 7.8.1 + eglChooseConfig@Base 7.8.1 + eglClientWaitSync@Base 10.7.0~ + eglCopyBuffers@Base 7.8.1 + eglCreateContext@Base 7.8.1 + eglCreateImage@Base 10.7.0~ + eglCreatePbufferFromClientBuffer@Base 7.8.1 + eglCreatePbufferSurface@Base 7.8.1 + eglCreatePixmapSurface@Base 7.8.1 + eglCreatePlatformPixmapSurface@Base 10.7.0~ + eglCreatePlatformWindowSurface@Base 10.7.0~ + eglCreateSync@Base 10.7.0~ + eglCreateWindowSurface@Base 7.8.1 + eglDestroyContext@Base 7.8.1 + eglDestroyImage@Base 10.7.0~ + eglDestroySurface@Base 7.8.1 + eglDestroySync@Base 10.7.0~ + eglGetConfigAttrib@Base 7.8.1 + eglGetConfigs@Base 7.8.1 + eglGetCurrentContext@Base 7.8.1 + eglGetCurrentDisplay@Base 7.8.1 + eglGetCurrentSurface@Base 7.8.1 + eglGetDisplay@Base 7.8.1 + eglGetError@Base 7.8.1 + eglGetPlatformDisplay@Base 10.7.0~ + eglGetProcAddress@Base 7.8.1 + eglGetSyncAttrib@Base 10.7.0~ + eglInitialize@Base 7.8.1 + eglMakeCurrent@Base 7.8.1 + eglQueryAPI@Base 7.8.1 + eglQueryContext@Base 7.8.1 + eglQueryString@Base 7.8.1 + eglQuerySurface@Base 7.8.1 + eglReleaseTexImage@Base 7.8.1 + eglReleaseThread@Base 7.8.1 + eglSurfaceAttrib@Base 7.8.1 + eglSwapBuffers@Base 7.8.1 + eglSwapInterval@Base 7.8.1 + eglTerminate@Base 7.8.1 + eglWaitClient@Base 7.8.1 + eglWaitGL@Base 7.8.1 + eglWaitNative@Base 7.8.1 + eglWaitSync@Base 10.7.0~ + (arch=linux-any)wl_drm_interface@Base 8.0-2~ + (arch=linux-any)zwp_linux_buffer_params_v1_interface@Base 17.2.0~ + (arch=linux-any)zwp_linux_dmabuf_v1_interface@Base 17.2.0~ --- mesa-17.3.3.orig/debian/libgbm-dev.install +++ mesa-17.3.3/debian/libgbm-dev.install @@ -0,0 +1,3 @@ +usr/lib/*/libgbm.so +usr/lib/*/pkgconfig/gbm.pc +usr/include/gbm.h --- mesa-17.3.3.orig/debian/libgbm1.install +++ mesa-17.3.3/debian/libgbm1.install @@ -0,0 +1 @@ +usr/lib/*/libgbm.so.1* --- mesa-17.3.3.orig/debian/libgbm1.lintian-overrides +++ mesa-17.3.3/debian/libgbm1.lintian-overrides @@ -0,0 +1 @@ +symbols-declares-dependency-on-other-package libgbm1-private --- mesa-17.3.3.orig/debian/libgbm1.symbols +++ mesa-17.3.3/debian/libgbm1.symbols @@ -0,0 +1,39 @@ +libgbm.so.1 libgbm1 #MINVER# +| libgbm1-private + 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 + gbm_bo_get_handle@Base 7.11~1 + gbm_bo_get_handle_for_plane@Base 17.1.0~rc2 + gbm_bo_get_height@Base 7.11~1 + gbm_bo_get_modifier@Base 17.1.0~rc2 + gbm_bo_get_offset@Base 17.1.0~rc2 + gbm_bo_get_plane_count@Base 17.1.0~rc2 + gbm_bo_get_stride@Base 8.1~0 + gbm_bo_get_stride_for_plane@Base 17.1.0~rc2 + gbm_bo_get_user_data@Base 8.1~0 + gbm_bo_get_width@Base 7.11~1 + gbm_bo_import@Base 8.1~0 + gbm_bo_map@Base 12.0.0~0 + gbm_bo_set_user_data@Base 8.1~0 + gbm_bo_unmap@Base 12.0.0~0 + gbm_bo_write@Base 8.1~0 + gbm_create_device@Base 7.11~1 + 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 + gbm_surface_destroy@Base 8.1~0 + gbm_surface_has_free_buffers@Base 8.1~0 + gbm_surface_lock_front_buffer@Base 8.1~0 + gbm_surface_release_buffer@Base 8.1~0 +# stupid side effect of code generation from +# src/egl/wayland/wayland-drm/wayland-drm.xml which ought to be private. + (arch=linux-any)wl_drm_interface@Base 0 1 --- mesa-17.3.3.orig/debian/libgl1-mesa-dev.install.in +++ mesa-17.3.3/debian/libgl1-mesa-dev.install.in @@ -0,0 +1,3 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libGL.so usr/lib/${DEB_HOST_MULTIARCH}/mesa +usr/lib/*/libglapi.so +usr/lib/*/pkgconfig/gl.pc --- mesa-17.3.3.orig/debian/libgl1-mesa-dev.links.in +++ mesa-17.3.3/debian/libgl1-mesa-dev.links.in @@ -0,0 +1 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/mesa/libGL.so /usr/lib/${DEB_HOST_MULTIARCH}/libGL.so --- mesa-17.3.3.orig/debian/libgl1-mesa-dri.install +++ mesa-17.3.3/debian/libgl1-mesa-dri.install @@ -0,0 +1 @@ +etc/drirc --- mesa-17.3.3.orig/debian/libgl1-mesa-glx.install.in +++ mesa-17.3.3/debian/libgl1-mesa-glx.install.in @@ -0,0 +1 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libGL.so.* usr/lib/${DEB_HOST_MULTIARCH}/mesa --- mesa-17.3.3.orig/debian/libgl1-mesa-glx.lintian-overrides +++ mesa-17.3.3/debian/libgl1-mesa-glx.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libGL1 --- mesa-17.3.3.orig/debian/libgl1-mesa-glx.postinst.in +++ mesa-17.3.3/debian/libgl1-mesa-glx.postinst.in @@ -0,0 +1,31 @@ +#!/bin/sh + +set -e + +THIS_PACKAGE=libgl1-mesa-glx +THIS_SCRIPT=postinst + +case "$1" in + configure) + # on upgrade from previous versions, clean up our non-arch-qualified + # alternative + if dpkg --compare-versions "$2" lt-nl 7.10.3-0ubuntu1; then + update-alternatives --remove gl_conf /usr/lib/mesa/ld.so.conf + fi + # Use alternatives to make it easier to switch between Mesa and 3rd party modules + update-alternatives --force \ + --install /etc/ld.so.conf.d/${DEB_HOST_MULTIARCH}_GL.conf ${DEB_HOST_MULTIARCH}_gl_conf /usr/lib/${DEB_HOST_MULTIARCH}/mesa/ld.so.conf 500 \ + --slave /usr/lib/${DEB_HOST_MULTIARCH}/xorg/extra-modules ${DEB_HOST_MULTIARCH}_xorg_extra_modules /usr/lib/${DEB_HOST_MULTIARCH}/xorg/x11-extra-modules + + # ldconfig needs to be run immediately as we're changing /etc/ld.so.conf.d/ with + # alternatives. + LDCONFIG_NOTRIGGER=y ldconfig + +esac + +#DEBHELPER# + +exit 0 + +# vim:set ai et sw=2 ts=2 tw=80: + --- mesa-17.3.3.orig/debian/libgl1-mesa-glx.prerm.in +++ mesa-17.3.3/debian/libgl1-mesa-glx.prerm.in @@ -0,0 +1,23 @@ +#!/bin/sh + +set -e + +THIS_PACKAGE=libgl1-mesa-glx +THIS_SCRIPT=prerm + +case "$1" in + remove) + # Use alternatives to make it easier to switch between Mesa and 3rd party modules + update-alternatives --remove ${DEB_HOST_MULTIARCH}_gl_conf /usr/lib/${DEB_HOST_MULTIARCH}/mesa/ld.so.conf + + # explicit ldconfig due to alternatives + ldconfig + +esac + +#DEBHELPER# + +exit 0 + +# vim:set ai et sw=2 ts=2 tw=80: + --- mesa-17.3.3.orig/debian/libgl1-mesa-glx.symbols +++ mesa-17.3.3/debian/libgl1-mesa-glx.symbols @@ -0,0 +1,1357 @@ +libGL.so.1 libgl1-mesa-glx | libgl1 + (arch=!hurd-any)MesaGLInteropGLXExportObject@Base 12.0.4 + (arch=!hurd-any)MesaGLInteropGLXQueryDeviceInfo@Base 12.0.4 + glAccum@Base 0 + glActiveShaderProgram@Base 12.0.1 + glActiveTexture@Base 0 + glActiveTextureARB@Base 0 + glAlphaFunc@Base 0 + glAlphaFuncx@Base 0 + glAreTexturesResident@Base 0 + glAreTexturesResidentEXT@Base 0 + glArrayElement@Base 0 + glArrayElementEXT@Base 0 + glAttachObjectARB@Base 0 + glAttachShader@Base 0 + glBegin@Base 0 + glBeginConditionalRender@Base 0 + glBeginConditionalRenderNV@Base 0 + glBeginQuery@Base 0 + glBeginQueryARB@Base 0 + glBeginQueryIndexed@Base 0 + glBeginTransformFeedback@Base 0 + glBindAttribLocation@Base 0 + glBindAttribLocationARB@Base 0 + glBindBuffer@Base 0 + glBindBufferARB@Base 0 + glBindBufferBase@Base 0 + glBindBufferRange@Base 0 + glBindBuffersBase@Base 0 + glBindBuffersRange@Base 0 + glBindFragDataLocation@Base 0 + glBindFragDataLocationEXT@Base 0 + glBindFragDataLocationIndexed@Base 0 + glBindFramebuffer@Base 0 + glBindFramebufferEXT@Base 0 + glBindImageTexture@Base 0 + glBindImageTextures@Base 0 + glBindProgramARB@Base 0 + glBindProgramPipeline@Base 12.0.1 + glBindRenderbuffer@Base 0 + glBindRenderbufferEXT@Base 0 + glBindSampler@Base 0 + glBindSamplers@Base 0 + glBindTexture@Base 0 + glBindTextureEXT@Base 0 + glBindTextures@Base 0 + glBindTransformFeedback@Base 0 + glBindVertexArray@Base 0 + glBindVertexBuffer@Base 0 + glBindVertexBuffers@Base 0 + glBitmap@Base 0 + glBlendBarrier@Base 13.0.0~ + glBlendColor@Base 0 + glBlendColorEXT@Base 0 + glBlendEquation@Base 0 + glBlendEquationEXT@Base 0 + glBlendEquationSeparate@Base 0 + glBlendEquationSeparatei@Base 13.0.0~ + glBlendEquationSeparateiARB@Base 0 + glBlendEquationi@Base 13.0.0~ + glBlendEquationiARB@Base 0 + glBlendFunc@Base 0 + glBlendFuncSeparate@Base 0 + glBlendFuncSeparateEXT@Base 0 + glBlendFuncSeparatei@Base 13.0.0~ + glBlendFuncSeparateiARB@Base 0 + glBlendFunci@Base 13.0.0~ + glBlendFunciARB@Base 0 + glBlitFramebuffer@Base 0 + glBufferData@Base 0 + glBufferDataARB@Base 0 + glBufferStorage@Base 0 + glBufferSubData@Base 0 + glBufferSubDataARB@Base 0 + glCallList@Base 0 + glCallLists@Base 0 + glCheckFramebufferStatus@Base 0 + glCheckFramebufferStatusEXT@Base 0 + glClampColor@Base 0 + glClampColorARB@Base 0 + glClear@Base 0 + glClearAccum@Base 0 + glClearBufferData@Base 0 + glClearBufferSubData@Base 0 + glClearBufferfi@Base 0 + glClearBufferfv@Base 0 + glClearBufferiv@Base 0 + glClearBufferuiv@Base 0 + glClearColor@Base 0 + glClearColorIiEXT@Base 0 + glClearColorIuiEXT@Base 0 + glClearColorx@Base 0 + glClearDepth@Base 0 + glClearDepthf@Base 0 + glClearDepthx@Base 0 + glClearIndex@Base 0 + glClearStencil@Base 0 + glClearTexImage@Base 0 + glClearTexSubImage@Base 0 + glClientActiveTexture@Base 0 + glClientActiveTextureARB@Base 0 + glClientWaitSync@Base 0 + glClipPlane@Base 0 + glClipPlanef@Base 0 + glClipPlanex@Base 0 + glColor3b@Base 0 + glColor3bv@Base 0 + glColor3d@Base 0 + glColor3dv@Base 0 + glColor3f@Base 0 + glColor3fv@Base 0 + glColor3i@Base 0 + glColor3iv@Base 0 + glColor3s@Base 0 + glColor3sv@Base 0 + glColor3ub@Base 0 + glColor3ubv@Base 0 + glColor3ui@Base 0 + glColor3uiv@Base 0 + glColor3us@Base 0 + glColor3usv@Base 0 + glColor4b@Base 0 + glColor4bv@Base 0 + glColor4d@Base 0 + glColor4dv@Base 0 + glColor4f@Base 0 + glColor4fv@Base 0 + glColor4i@Base 0 + glColor4iv@Base 0 + glColor4s@Base 0 + glColor4sv@Base 0 + glColor4ub@Base 0 + glColor4ubv@Base 0 + glColor4ui@Base 0 + glColor4uiv@Base 0 + glColor4us@Base 0 + glColor4usv@Base 0 + glColor4x@Base 0 + glColorMask@Base 0 + glColorMaskIndexedEXT@Base 0 + glColorMaski@Base 0 + glColorMaterial@Base 0 + glColorP3ui@Base 0 + glColorP3uiv@Base 0 + glColorP4ui@Base 0 + glColorP4uiv@Base 0 + glColorPointer@Base 0 + glColorPointerEXT@Base 0 + glColorSubTable@Base 0 + glColorTable@Base 0 + glColorTableParameterfv@Base 0 + glColorTableParameteriv@Base 0 + glCompileShader@Base 0 + glCompileShaderARB@Base 0 + glCompressedTexImage1D@Base 0 + glCompressedTexImage1DARB@Base 0 + glCompressedTexImage2D@Base 0 + glCompressedTexImage2DARB@Base 0 + glCompressedTexImage3D@Base 0 + glCompressedTexImage3DARB@Base 0 + glCompressedTexSubImage1D@Base 0 + glCompressedTexSubImage1DARB@Base 0 + glCompressedTexSubImage2D@Base 0 + glCompressedTexSubImage2DARB@Base 0 + glCompressedTexSubImage3D@Base 0 + glCompressedTexSubImage3DARB@Base 0 + glConvolutionFilter1D@Base 0 + glConvolutionFilter2D@Base 0 + glConvolutionParameterf@Base 0 + glConvolutionParameterfv@Base 0 + glConvolutionParameteri@Base 0 + glConvolutionParameteriv@Base 0 + glCopyBufferSubData@Base 0 + glCopyColorSubTable@Base 0 + glCopyColorTable@Base 0 + glCopyConvolutionFilter1D@Base 0 + glCopyConvolutionFilter2D@Base 0 + glCopyImageSubData@Base 0 + glCopyPixels@Base 0 + glCopyTexImage1D@Base 0 + glCopyTexImage2D@Base 0 + glCopyTexSubImage1D@Base 0 + glCopyTexSubImage2D@Base 0 + glCopyTexSubImage3D@Base 0 + glCopyTexSubImage3DEXT@Base 0 + glCreateProgram@Base 0 + glCreateProgramObjectARB@Base 0 + glCreateShader@Base 0 + glCreateShaderObjectARB@Base 0 + glCreateShaderProgramv@Base 12.0.1 + glCullFace@Base 0 + glDebugMessageCallback@Base 0 + glDebugMessageCallbackARB@Base 0 + glDebugMessageControl@Base 0 + glDebugMessageControlARB@Base 0 + glDebugMessageInsert@Base 0 + glDebugMessageInsertARB@Base 0 + glDeleteBuffers@Base 0 + glDeleteBuffersARB@Base 0 + glDeleteFramebuffers@Base 0 + glDeleteFramebuffersEXT@Base 0 + glDeleteLists@Base 0 + glDeleteObjectARB@Base 0 + glDeleteProgram@Base 0 + glDeleteProgramPipelines@Base 12.0.1 + glDeleteProgramsARB@Base 0 + glDeleteQueries@Base 0 + glDeleteQueriesARB@Base 0 + glDeleteRenderbuffers@Base 0 + glDeleteRenderbuffersEXT@Base 0 + glDeleteSamplers@Base 0 + glDeleteShader@Base 0 + glDeleteSync@Base 0 + glDeleteTextures@Base 0 + glDeleteTexturesEXT@Base 0 + glDeleteTransformFeedbacks@Base 0 + glDeleteVertexArrays@Base 0 + glDepthFunc@Base 0 + glDepthMask@Base 0 + glDepthRange@Base 0 + glDepthRangeArrayv@Base 0 + glDepthRangeIndexed@Base 0 + glDepthRangef@Base 0 + glDepthRangex@Base 0 + glDetachObjectARB@Base 0 + glDetachShader@Base 0 + glDisable@Base 0 + glDisableClientState@Base 0 + glDisableIndexedEXT@Base 0 + glDisableVertexAttribArray@Base 0 + glDisableVertexAttribArrayARB@Base 0 + glDisablei@Base 0 + glDispatchCompute@Base 0 + glDispatchComputeIndirect@Base 0 + glDrawArrays@Base 0 + glDrawArraysEXT@Base 0 + glDrawArraysIndirect@Base 0 + glDrawArraysInstanced@Base 0 + glDrawArraysInstancedARB@Base 0 + glDrawArraysInstancedBaseInstance@Base 0 + glDrawArraysInstancedEXT@Base 0 + glDrawBuffer@Base 0 + glDrawBuffers@Base 0 + glDrawBuffersARB@Base 0 + glDrawBuffersATI@Base 0 + glDrawElements@Base 0 + glDrawElementsBaseVertex@Base 0 + glDrawElementsIndirect@Base 0 + glDrawElementsInstanced@Base 0 + glDrawElementsInstancedARB@Base 0 + glDrawElementsInstancedBaseInstance@Base 0 + glDrawElementsInstancedBaseVertex@Base 0 + glDrawElementsInstancedBaseVertexBaseInstance@Base 0 + glDrawElementsInstancedEXT@Base 0 + glDrawPixels@Base 0 + glDrawRangeElements@Base 0 + glDrawRangeElementsBaseVertex@Base 0 + glDrawRangeElementsEXT@Base 0 + glDrawTransformFeedback@Base 0 + glDrawTransformFeedbackInstanced@Base 0 + glDrawTransformFeedbackStream@Base 0 + glDrawTransformFeedbackStreamInstanced@Base 0 + glEdgeFlag@Base 0 + glEdgeFlagPointer@Base 0 + glEdgeFlagPointerEXT@Base 0 + glEdgeFlagv@Base 0 + glEnable@Base 0 + glEnableClientState@Base 0 + glEnableIndexedEXT@Base 0 + glEnableVertexAttribArray@Base 0 + glEnableVertexAttribArrayARB@Base 0 + glEnablei@Base 0 + glEnd@Base 0 + glEndConditionalRender@Base 0 + glEndConditionalRenderNV@Base 0 + glEndList@Base 0 + glEndQuery@Base 0 + glEndQueryARB@Base 0 + glEndQueryIndexed@Base 0 + glEndTransformFeedback@Base 0 + glEvalCoord1d@Base 0 + glEvalCoord1dv@Base 0 + glEvalCoord1f@Base 0 + glEvalCoord1fv@Base 0 + glEvalCoord2d@Base 0 + glEvalCoord2dv@Base 0 + glEvalCoord2f@Base 0 + glEvalCoord2fv@Base 0 + glEvalMesh1@Base 0 + glEvalMesh2@Base 0 + glEvalPoint1@Base 0 + glEvalPoint2@Base 0 + glFeedbackBuffer@Base 0 + glFenceSync@Base 0 + glFinish@Base 0 + glFlush@Base 0 + glFlushMappedBufferRange@Base 0 + glFogCoordPointer@Base 0 + glFogCoordPointerEXT@Base 0 + glFogCoordd@Base 0 + glFogCoorddEXT@Base 0 + glFogCoorddv@Base 0 + glFogCoorddvEXT@Base 0 + glFogCoordf@Base 0 + glFogCoordfEXT@Base 0 + glFogCoordfv@Base 0 + glFogCoordfvEXT@Base 0 + glFogf@Base 0 + glFogfv@Base 0 + glFogi@Base 0 + glFogiv@Base 0 + glFogx@Base 0 + glFogxv@Base 0 + glFramebufferParameteri@Base 12.0.1 + glFramebufferRenderbuffer@Base 0 + glFramebufferRenderbufferEXT@Base 0 + glFramebufferTexture1D@Base 0 + glFramebufferTexture1DEXT@Base 0 + glFramebufferTexture2D@Base 0 + glFramebufferTexture2DEXT@Base 0 + glFramebufferTexture3D@Base 0 + glFramebufferTexture3DEXT@Base 0 + glFramebufferTexture@Base 0 + glFramebufferTextureLayer@Base 0 + glFramebufferTextureLayerEXT@Base 0 + glFrontFace@Base 0 + glFrustum@Base 0 + glFrustumf@Base 0 + glFrustumx@Base 0 + glGenBuffers@Base 0 + glGenBuffersARB@Base 0 + glGenFramebuffers@Base 0 + glGenFramebuffersEXT@Base 0 + glGenLists@Base 0 + glGenProgramPipelines@Base 12.0.1 + glGenProgramsARB@Base 0 + glGenQueries@Base 0 + glGenQueriesARB@Base 0 + glGenRenderbuffers@Base 0 + glGenRenderbuffersEXT@Base 0 + glGenSamplers@Base 0 + glGenTextures@Base 0 + glGenTexturesEXT@Base 0 + glGenTransformFeedbacks@Base 0 + glGenVertexArrays@Base 0 + glGenerateMipmap@Base 0 + glGenerateMipmapEXT@Base 0 + glGetActiveAtomicCounterBufferiv@Base 0 + glGetActiveAttrib@Base 0 + glGetActiveAttribARB@Base 0 + glGetActiveUniform@Base 0 + glGetActiveUniformARB@Base 0 + glGetActiveUniformBlockName@Base 0 + glGetActiveUniformBlockiv@Base 0 + glGetActiveUniformName@Base 0 + glGetActiveUniformsiv@Base 0 + glGetAttachedObjectsARB@Base 0 + glGetAttachedShaders@Base 0 + glGetAttribLocation@Base 0 + glGetAttribLocationARB@Base 0 + glGetBooleanIndexedvEXT@Base 0 + glGetBooleani_v@Base 0 + glGetBooleanv@Base 0 + glGetBufferParameteri64v@Base 0 + glGetBufferParameteriv@Base 0 + glGetBufferParameterivARB@Base 0 + glGetBufferPointerv@Base 0 + glGetBufferPointervARB@Base 0 + glGetBufferSubData@Base 0 + glGetBufferSubDataARB@Base 0 + glGetClipPlane@Base 0 + glGetClipPlanef@Base 0 + glGetClipPlanex@Base 0 + glGetColorTable@Base 0 + glGetColorTableParameterfv@Base 0 + glGetColorTableParameteriv@Base 0 + glGetCompressedTexImage@Base 0 + glGetCompressedTexImageARB@Base 0 + glGetConvolutionFilter@Base 0 + glGetConvolutionParameterfv@Base 0 + glGetConvolutionParameteriv@Base 0 + glGetDebugMessageLog@Base 0 + glGetDebugMessageLogARB@Base 0 + glGetDoublei_v@Base 0 + glGetDoublev@Base 0 + glGetError@Base 0 + glGetFixedv@Base 0 + glGetFloati_v@Base 0 + glGetFloatv@Base 0 + glGetFragDataIndex@Base 0 + glGetFragDataLocation@Base 0 + glGetFragDataLocationEXT@Base 0 + glGetFramebufferAttachmentParameteriv@Base 0 + glGetFramebufferAttachmentParameterivEXT@Base 0 + glGetFramebufferParameteriv@Base 12.0.1 + glGetGraphicsResetStatus@Base 13.0.0~ + glGetGraphicsResetStatusARB@Base 0 + glGetHandleARB@Base 0 + glGetHistogram@Base 0 + glGetHistogramParameterfv@Base 0 + glGetHistogramParameteriv@Base 0 + glGetInfoLogARB@Base 0 + glGetInteger64i_v@Base 0 + glGetInteger64v@Base 0 + glGetIntegerIndexedvEXT@Base 0 + glGetIntegeri_v@Base 0 + glGetIntegerv@Base 0 + glGetLightfv@Base 0 + glGetLightiv@Base 0 + glGetLightxv@Base 0 + glGetMapdv@Base 0 + glGetMapfv@Base 0 + glGetMapiv@Base 0 + glGetMaterialfv@Base 0 + glGetMaterialiv@Base 0 + glGetMaterialxv@Base 0 + glGetMinmax@Base 0 + glGetMinmaxParameterfv@Base 0 + glGetMinmaxParameteriv@Base 0 + glGetMultisamplefv@Base 0 + glGetObjectLabel@Base 0 + glGetObjectParameterfvARB@Base 0 + glGetObjectParameterivARB@Base 0 + glGetObjectPtrLabel@Base 0 + glGetPixelMapfv@Base 0 + glGetPixelMapuiv@Base 0 + glGetPixelMapusv@Base 0 + glGetPointerv@Base 0 + glGetPointervEXT@Base 0 + glGetPolygonStipple@Base 0 + glGetProgramBinary@Base 0 + glGetProgramEnvParameterdvARB@Base 0 + glGetProgramEnvParameterfvARB@Base 0 + glGetProgramInfoLog@Base 0 + glGetProgramInterfaceiv@Base 12.0.1 + glGetProgramLocalParameterdvARB@Base 0 + glGetProgramLocalParameterfvARB@Base 0 + glGetProgramPipelineInfoLog@Base 12.0.1 + glGetProgramPipelineiv@Base 12.0.1 + glGetProgramResourceIndex@Base 12.0.1 + glGetProgramResourceLocation@Base 12.0.1 + glGetProgramResourceName@Base 12.0.1 + glGetProgramResourceiv@Base 12.0.1 + glGetProgramStringARB@Base 0 + glGetProgramiv@Base 0 + glGetProgramivARB@Base 0 + glGetQueryIndexediv@Base 0 + glGetQueryObjectiv@Base 0 + glGetQueryObjectivARB@Base 0 + glGetQueryObjectuiv@Base 0 + glGetQueryObjectuivARB@Base 0 + glGetQueryiv@Base 0 + glGetQueryivARB@Base 0 + glGetRenderbufferParameteriv@Base 0 + glGetRenderbufferParameterivEXT@Base 0 + glGetSamplerParameterIiv@Base 0 + glGetSamplerParameterIuiv@Base 0 + glGetSamplerParameterfv@Base 0 + glGetSamplerParameteriv@Base 0 + glGetSeparableFilter@Base 0 + glGetShaderInfoLog@Base 0 + glGetShaderPrecisionFormat@Base 0 + glGetShaderSource@Base 0 + glGetShaderSourceARB@Base 0 + glGetShaderiv@Base 0 + glGetString@Base 0 + glGetStringi@Base 0 + glGetSynciv@Base 0 + glGetTexEnvfv@Base 0 + glGetTexEnviv@Base 0 + glGetTexEnvxv@Base 0 + glGetTexGendv@Base 0 + glGetTexGenfv@Base 0 + glGetTexGeniv@Base 0 + glGetTexImage@Base 0 + glGetTexLevelParameterfv@Base 0 + glGetTexLevelParameteriv@Base 0 + glGetTexParameterIiv@Base 0 + glGetTexParameterIivEXT@Base 0 + glGetTexParameterIuiv@Base 0 + glGetTexParameterIuivEXT@Base 0 + glGetTexParameterfv@Base 0 + glGetTexParameteriv@Base 0 + glGetTexParameterxv@Base 0 + glGetTransformFeedbackVarying@Base 0 + glGetUniformBlockIndex@Base 0 + glGetUniformIndices@Base 0 + glGetUniformLocation@Base 0 + glGetUniformLocationARB@Base 0 + glGetUniformfv@Base 0 + glGetUniformfvARB@Base 0 + glGetUniformiv@Base 0 + glGetUniformivARB@Base 0 + glGetUniformuiv@Base 0 + glGetUniformuivEXT@Base 0 + glGetVertexAttribIiv@Base 0 + glGetVertexAttribIivEXT@Base 0 + glGetVertexAttribIuiv@Base 0 + glGetVertexAttribIuivEXT@Base 0 + glGetVertexAttribPointerv@Base 0 + glGetVertexAttribPointervARB@Base 0 + glGetVertexAttribdv@Base 0 + glGetVertexAttribdvARB@Base 0 + glGetVertexAttribfv@Base 0 + glGetVertexAttribfvARB@Base 0 + glGetVertexAttribiv@Base 0 + glGetVertexAttribivARB@Base 0 + glGetnColorTableARB@Base 0 + glGetnCompressedTexImageARB@Base 0 + glGetnConvolutionFilterARB@Base 0 + glGetnHistogramARB@Base 0 + glGetnMapdvARB@Base 0 + glGetnMapfvARB@Base 0 + glGetnMapivARB@Base 0 + glGetnMinmaxARB@Base 0 + glGetnPixelMapfvARB@Base 0 + glGetnPixelMapuivARB@Base 0 + glGetnPixelMapusvARB@Base 0 + glGetnPolygonStippleARB@Base 0 + glGetnSeparableFilterARB@Base 0 + glGetnTexImageARB@Base 0 + glGetnUniformdvARB@Base 0 + glGetnUniformfv@Base 13.0.0~ + glGetnUniformfvARB@Base 0 + glGetnUniformiv@Base 13.0.0~ + glGetnUniformivARB@Base 0 + glGetnUniformuiv@Base 13.0.0~ + glGetnUniformuivARB@Base 0 + glHint@Base 0 + glHistogram@Base 0 + glIndexMask@Base 0 + glIndexPointer@Base 0 + glIndexPointerEXT@Base 0 + glIndexd@Base 0 + glIndexdv@Base 0 + glIndexf@Base 0 + glIndexfv@Base 0 + glIndexi@Base 0 + glIndexiv@Base 0 + glIndexs@Base 0 + glIndexsv@Base 0 + glIndexub@Base 0 + glIndexubv@Base 0 + glInitNames@Base 0 + glInterleavedArrays@Base 0 + glInvalidateBufferData@Base 0 + glInvalidateBufferSubData@Base 0 + glInvalidateFramebuffer@Base 0 + glInvalidateSubFramebuffer@Base 0 + glInvalidateTexImage@Base 0 + glInvalidateTexSubImage@Base 0 + glIsBuffer@Base 0 + glIsBufferARB@Base 0 + glIsEnabled@Base 0 + glIsEnabledIndexedEXT@Base 0 + glIsEnabledi@Base 0 + glIsFramebuffer@Base 0 + glIsFramebufferEXT@Base 0 + glIsList@Base 0 + glIsProgram@Base 0 + glIsProgramARB@Base 0 + glIsProgramPipeline@Base 12.0.1 + glIsQuery@Base 0 + glIsQueryARB@Base 0 + glIsRenderbuffer@Base 0 + glIsRenderbufferEXT@Base 0 + glIsSampler@Base 0 + glIsShader@Base 0 + glIsSync@Base 0 + glIsTexture@Base 0 + glIsTextureEXT@Base 0 + glIsTransformFeedback@Base 0 + glIsVertexArray@Base 0 + glLightModelf@Base 0 + glLightModelfv@Base 0 + glLightModeli@Base 0 + glLightModeliv@Base 0 + glLightModelx@Base 0 + glLightModelxv@Base 0 + glLightf@Base 0 + glLightfv@Base 0 + glLighti@Base 0 + glLightiv@Base 0 + glLightx@Base 0 + glLightxv@Base 0 + glLineStipple@Base 0 + glLineWidth@Base 0 + glLineWidthx@Base 0 + glLinkProgram@Base 0 + glLinkProgramARB@Base 0 + glListBase@Base 0 + glLoadIdentity@Base 0 + glLoadMatrixd@Base 0 + glLoadMatrixf@Base 0 + glLoadMatrixx@Base 0 + glLoadName@Base 0 + glLoadTransposeMatrixd@Base 0 + glLoadTransposeMatrixdARB@Base 0 + glLoadTransposeMatrixf@Base 0 + glLoadTransposeMatrixfARB@Base 0 + glLockArraysEXT@Base 0 + glLogicOp@Base 0 + glMap1d@Base 0 + glMap1f@Base 0 + glMap2d@Base 0 + glMap2f@Base 0 + glMapBuffer@Base 0 + glMapBufferARB@Base 0 + glMapBufferRange@Base 0 + glMapGrid1d@Base 0 + glMapGrid1f@Base 0 + glMapGrid2d@Base 0 + glMapGrid2f@Base 0 + glMaterialf@Base 0 + glMaterialfv@Base 0 + glMateriali@Base 0 + glMaterialiv@Base 0 + glMaterialx@Base 0 + glMaterialxv@Base 0 + glMatrixMode@Base 0 + glMemoryBarrier@Base 0 + glMemoryBarrierByRegion@Base 12.0.1 + glMinSampleShading@Base 0 + glMinSampleShadingARB@Base 0 + glMinmax@Base 0 + glMultMatrixd@Base 0 + glMultMatrixf@Base 0 + glMultMatrixx@Base 0 + glMultTransposeMatrixd@Base 0 + glMultTransposeMatrixdARB@Base 0 + glMultTransposeMatrixf@Base 0 + glMultTransposeMatrixfARB@Base 0 + glMultiDrawArrays@Base 0 + glMultiDrawArraysEXT@Base 0 + glMultiDrawArraysIndirect@Base 0 + glMultiDrawElements@Base 0 + glMultiDrawElementsBaseVertex@Base 0 + glMultiDrawElementsEXT@Base 0 + glMultiDrawElementsIndirect@Base 0 + glMultiTexCoord1d@Base 0 + glMultiTexCoord1dARB@Base 0 + glMultiTexCoord1dv@Base 0 + glMultiTexCoord1dvARB@Base 0 + glMultiTexCoord1f@Base 0 + glMultiTexCoord1fARB@Base 0 + glMultiTexCoord1fv@Base 0 + glMultiTexCoord1fvARB@Base 0 + glMultiTexCoord1i@Base 0 + glMultiTexCoord1iARB@Base 0 + glMultiTexCoord1iv@Base 0 + glMultiTexCoord1ivARB@Base 0 + glMultiTexCoord1s@Base 0 + glMultiTexCoord1sARB@Base 0 + glMultiTexCoord1sv@Base 0 + glMultiTexCoord1svARB@Base 0 + glMultiTexCoord2d@Base 0 + glMultiTexCoord2dARB@Base 0 + glMultiTexCoord2dv@Base 0 + glMultiTexCoord2dvARB@Base 0 + glMultiTexCoord2f@Base 0 + glMultiTexCoord2fARB@Base 0 + glMultiTexCoord2fv@Base 0 + glMultiTexCoord2fvARB@Base 0 + glMultiTexCoord2i@Base 0 + glMultiTexCoord2iARB@Base 0 + glMultiTexCoord2iv@Base 0 + glMultiTexCoord2ivARB@Base 0 + glMultiTexCoord2s@Base 0 + glMultiTexCoord2sARB@Base 0 + glMultiTexCoord2sv@Base 0 + glMultiTexCoord2svARB@Base 0 + glMultiTexCoord3d@Base 0 + glMultiTexCoord3dARB@Base 0 + glMultiTexCoord3dv@Base 0 + glMultiTexCoord3dvARB@Base 0 + glMultiTexCoord3f@Base 0 + glMultiTexCoord3fARB@Base 0 + glMultiTexCoord3fv@Base 0 + glMultiTexCoord3fvARB@Base 0 + glMultiTexCoord3i@Base 0 + glMultiTexCoord3iARB@Base 0 + glMultiTexCoord3iv@Base 0 + glMultiTexCoord3ivARB@Base 0 + glMultiTexCoord3s@Base 0 + glMultiTexCoord3sARB@Base 0 + glMultiTexCoord3sv@Base 0 + glMultiTexCoord3svARB@Base 0 + glMultiTexCoord4d@Base 0 + glMultiTexCoord4dARB@Base 0 + glMultiTexCoord4dv@Base 0 + glMultiTexCoord4dvARB@Base 0 + glMultiTexCoord4f@Base 0 + glMultiTexCoord4fARB@Base 0 + glMultiTexCoord4fv@Base 0 + glMultiTexCoord4fvARB@Base 0 + glMultiTexCoord4i@Base 0 + glMultiTexCoord4iARB@Base 0 + glMultiTexCoord4iv@Base 0 + glMultiTexCoord4ivARB@Base 0 + glMultiTexCoord4s@Base 0 + glMultiTexCoord4sARB@Base 0 + glMultiTexCoord4sv@Base 0 + glMultiTexCoord4svARB@Base 0 + glMultiTexCoord4x@Base 0 + glMultiTexCoordP1ui@Base 0 + glMultiTexCoordP1uiv@Base 0 + glMultiTexCoordP2ui@Base 0 + glMultiTexCoordP2uiv@Base 0 + glMultiTexCoordP3ui@Base 0 + glMultiTexCoordP3uiv@Base 0 + glMultiTexCoordP4ui@Base 0 + glMultiTexCoordP4uiv@Base 0 + glNewList@Base 0 + glNormal3b@Base 0 + glNormal3bv@Base 0 + glNormal3d@Base 0 + glNormal3dv@Base 0 + glNormal3f@Base 0 + glNormal3fv@Base 0 + glNormal3i@Base 0 + glNormal3iv@Base 0 + glNormal3s@Base 0 + glNormal3sv@Base 0 + glNormal3x@Base 0 + glNormalP3ui@Base 0 + glNormalP3uiv@Base 0 + glNormalPointer@Base 0 + glNormalPointerEXT@Base 0 + glObjectLabel@Base 0 + glObjectPtrLabel@Base 0 + glOrtho@Base 0 + glOrthof@Base 0 + glOrthox@Base 0 + glPassThrough@Base 0 + glPatchParameteri@Base 13.0.0~ + glPauseTransformFeedback@Base 0 + glPixelMapfv@Base 0 + glPixelMapuiv@Base 0 + glPixelMapusv@Base 0 + glPixelStoref@Base 0 + glPixelStorei@Base 0 + glPixelTransferf@Base 0 + glPixelTransferi@Base 0 + glPixelZoom@Base 0 + glPointParameterf@Base 0 + glPointParameterfARB@Base 0 + glPointParameterfEXT@Base 0 + glPointParameterfv@Base 0 + glPointParameterfvARB@Base 0 + glPointParameterfvEXT@Base 0 + glPointParameteri@Base 0 + glPointParameteriv@Base 0 + glPointParameterx@Base 0 + glPointParameterxv@Base 0 + glPointSize@Base 0 + glPointSizePointerOES@Base 0 + glPointSizex@Base 0 + glPolygonMode@Base 0 + glPolygonOffset@Base 0 + glPolygonOffsetx@Base 0 + glPolygonStipple@Base 0 + glPopAttrib@Base 0 + glPopClientAttrib@Base 0 + glPopDebugGroup@Base 0 + glPopMatrix@Base 0 + glPopName@Base 0 + glPrimitiveBoundingBox@Base 13.0.0~ + glPrimitiveRestartIndex@Base 0 + glPrimitiveRestartIndexNV@Base 0 + glPrimitiveRestartNV@Base 0 + glPrioritizeTextures@Base 0 + glPrioritizeTexturesEXT@Base 0 + glProgramBinary@Base 0 + glProgramEnvParameter4dARB@Base 0 + glProgramEnvParameter4dvARB@Base 0 + glProgramEnvParameter4fARB@Base 0 + glProgramEnvParameter4fvARB@Base 0 + glProgramLocalParameter4dARB@Base 0 + glProgramLocalParameter4dvARB@Base 0 + glProgramLocalParameter4fARB@Base 0 + glProgramLocalParameter4fvARB@Base 0 + glProgramParameteri@Base 0 + glProgramStringARB@Base 0 + glProgramUniform1f@Base 12.0.1 + glProgramUniform1fv@Base 12.0.1 + glProgramUniform1i@Base 12.0.1 + glProgramUniform1iv@Base 12.0.1 + glProgramUniform1ui@Base 12.0.1 + glProgramUniform1uiv@Base 12.0.1 + glProgramUniform2f@Base 12.0.1 + glProgramUniform2fv@Base 12.0.1 + glProgramUniform2i@Base 12.0.1 + glProgramUniform2iv@Base 12.0.1 + glProgramUniform2ui@Base 12.0.1 + glProgramUniform2uiv@Base 12.0.1 + glProgramUniform3f@Base 12.0.1 + glProgramUniform3fv@Base 12.0.1 + glProgramUniform3i@Base 12.0.1 + glProgramUniform3iv@Base 12.0.1 + glProgramUniform3ui@Base 12.0.1 + glProgramUniform3uiv@Base 12.0.1 + glProgramUniform4f@Base 12.0.1 + glProgramUniform4fv@Base 12.0.1 + glProgramUniform4i@Base 12.0.1 + glProgramUniform4iv@Base 12.0.1 + glProgramUniform4ui@Base 12.0.1 + glProgramUniform4uiv@Base 12.0.1 + glProgramUniformMatrix2fv@Base 12.0.1 + glProgramUniformMatrix2x3fv@Base 12.0.1 + glProgramUniformMatrix2x4fv@Base 12.0.1 + glProgramUniformMatrix3fv@Base 12.0.1 + glProgramUniformMatrix3x2fv@Base 12.0.1 + glProgramUniformMatrix3x4fv@Base 12.0.1 + glProgramUniformMatrix4fv@Base 12.0.1 + glProgramUniformMatrix4x2fv@Base 12.0.1 + glProgramUniformMatrix4x3fv@Base 12.0.1 + glProvokingVertex@Base 0 + glProvokingVertexEXT@Base 0 + glPushAttrib@Base 0 + glPushClientAttrib@Base 0 + glPushDebugGroup@Base 0 + glPushMatrix@Base 0 + glPushName@Base 0 + glRasterPos2d@Base 0 + glRasterPos2dv@Base 0 + glRasterPos2f@Base 0 + glRasterPos2fv@Base 0 + glRasterPos2i@Base 0 + glRasterPos2iv@Base 0 + glRasterPos2s@Base 0 + glRasterPos2sv@Base 0 + glRasterPos3d@Base 0 + glRasterPos3dv@Base 0 + glRasterPos3f@Base 0 + glRasterPos3fv@Base 0 + glRasterPos3i@Base 0 + glRasterPos3iv@Base 0 + glRasterPos3s@Base 0 + glRasterPos3sv@Base 0 + glRasterPos4d@Base 0 + glRasterPos4dv@Base 0 + glRasterPos4f@Base 0 + glRasterPos4fv@Base 0 + glRasterPos4i@Base 0 + glRasterPos4iv@Base 0 + glRasterPos4s@Base 0 + glRasterPos4sv@Base 0 + glReadBuffer@Base 0 + glReadPixels@Base 0 + glReadnPixels@Base 13.0.0~ + glReadnPixelsARB@Base 0 + glRectd@Base 0 + glRectdv@Base 0 + glRectf@Base 0 + glRectfv@Base 0 + glRecti@Base 0 + glRectiv@Base 0 + glRects@Base 0 + glRectsv@Base 0 + glReleaseShaderCompiler@Base 0 + glRenderMode@Base 0 + glRenderbufferStorage@Base 0 + glRenderbufferStorageEXT@Base 0 + glRenderbufferStorageMultisample@Base 0 + glRenderbufferStorageMultisampleEXT@Base 0 + glResetHistogram@Base 0 + glResetMinmax@Base 0 + glResumeTransformFeedback@Base 0 + glRotated@Base 0 + glRotatef@Base 0 + glRotatex@Base 0 + glSampleCoverage@Base 0 + glSampleCoverageARB@Base 0 + glSampleCoveragex@Base 0 + glSampleMaski@Base 0 + glSamplerParameterIiv@Base 0 + glSamplerParameterIuiv@Base 0 + glSamplerParameterf@Base 0 + glSamplerParameterfv@Base 0 + glSamplerParameteri@Base 0 + glSamplerParameteriv@Base 0 + glScaled@Base 0 + glScalef@Base 0 + glScalex@Base 0 + glScissor@Base 0 + glScissorArrayv@Base 0 + glScissorIndexed@Base 0 + glScissorIndexedv@Base 0 + glSecondaryColor3b@Base 0 + glSecondaryColor3bEXT@Base 0 + glSecondaryColor3bv@Base 0 + glSecondaryColor3bvEXT@Base 0 + glSecondaryColor3d@Base 0 + glSecondaryColor3dEXT@Base 0 + glSecondaryColor3dv@Base 0 + glSecondaryColor3dvEXT@Base 0 + glSecondaryColor3f@Base 0 + glSecondaryColor3fEXT@Base 0 + glSecondaryColor3fv@Base 0 + glSecondaryColor3fvEXT@Base 0 + glSecondaryColor3i@Base 0 + glSecondaryColor3iEXT@Base 0 + glSecondaryColor3iv@Base 0 + glSecondaryColor3ivEXT@Base 0 + glSecondaryColor3s@Base 0 + glSecondaryColor3sEXT@Base 0 + glSecondaryColor3sv@Base 0 + glSecondaryColor3svEXT@Base 0 + glSecondaryColor3ub@Base 0 + glSecondaryColor3ubEXT@Base 0 + glSecondaryColor3ubv@Base 0 + glSecondaryColor3ubvEXT@Base 0 + glSecondaryColor3ui@Base 0 + glSecondaryColor3uiEXT@Base 0 + glSecondaryColor3uiv@Base 0 + glSecondaryColor3uivEXT@Base 0 + glSecondaryColor3us@Base 0 + glSecondaryColor3usEXT@Base 0 + glSecondaryColor3usv@Base 0 + glSecondaryColor3usvEXT@Base 0 + glSecondaryColorP3ui@Base 0 + glSecondaryColorP3uiv@Base 0 + glSecondaryColorPointer@Base 0 + glSecondaryColorPointerEXT@Base 0 + glSelectBuffer@Base 0 + glSeparableFilter2D@Base 0 + glShadeModel@Base 0 + glShaderBinary@Base 0 + glShaderSource@Base 0 + glShaderSourceARB@Base 0 + glStencilFunc@Base 0 + glStencilFuncSeparate@Base 0 + glStencilMask@Base 0 + glStencilMaskSeparate@Base 0 + glStencilOp@Base 0 + glStencilOpSeparate@Base 0 + glTexBuffer@Base 0 + glTexBufferARB@Base 0 + glTexBufferRange@Base 0 + glTexCoord1d@Base 0 + glTexCoord1dv@Base 0 + glTexCoord1f@Base 0 + glTexCoord1fv@Base 0 + glTexCoord1i@Base 0 + glTexCoord1iv@Base 0 + glTexCoord1s@Base 0 + glTexCoord1sv@Base 0 + glTexCoord2d@Base 0 + glTexCoord2dv@Base 0 + glTexCoord2f@Base 0 + glTexCoord2fv@Base 0 + glTexCoord2i@Base 0 + glTexCoord2iv@Base 0 + glTexCoord2s@Base 0 + glTexCoord2sv@Base 0 + glTexCoord3d@Base 0 + glTexCoord3dv@Base 0 + glTexCoord3f@Base 0 + glTexCoord3fv@Base 0 + glTexCoord3i@Base 0 + glTexCoord3iv@Base 0 + glTexCoord3s@Base 0 + glTexCoord3sv@Base 0 + glTexCoord4d@Base 0 + glTexCoord4dv@Base 0 + glTexCoord4f@Base 0 + glTexCoord4fv@Base 0 + glTexCoord4i@Base 0 + glTexCoord4iv@Base 0 + glTexCoord4s@Base 0 + glTexCoord4sv@Base 0 + glTexCoordP1ui@Base 0 + glTexCoordP1uiv@Base 0 + glTexCoordP2ui@Base 0 + glTexCoordP2uiv@Base 0 + glTexCoordP3ui@Base 0 + glTexCoordP3uiv@Base 0 + glTexCoordP4ui@Base 0 + glTexCoordP4uiv@Base 0 + glTexCoordPointer@Base 0 + glTexCoordPointerEXT@Base 0 + glTexEnvf@Base 0 + glTexEnvfv@Base 0 + glTexEnvi@Base 0 + glTexEnviv@Base 0 + glTexEnvx@Base 0 + glTexEnvxv@Base 0 + glTexGend@Base 0 + glTexGendv@Base 0 + glTexGenf@Base 0 + glTexGenfv@Base 0 + glTexGeni@Base 0 + glTexGeniv@Base 0 + glTexImage1D@Base 0 + glTexImage2D@Base 0 + glTexImage2DMultisample@Base 0 + glTexImage3D@Base 0 + glTexImage3DEXT@Base 0 + glTexImage3DMultisample@Base 0 + glTexParameterIiv@Base 0 + glTexParameterIivEXT@Base 0 + glTexParameterIuiv@Base 0 + glTexParameterIuivEXT@Base 0 + glTexParameterf@Base 0 + glTexParameterfv@Base 0 + glTexParameteri@Base 0 + glTexParameteriv@Base 0 + glTexParameterx@Base 0 + glTexParameterxv@Base 0 + glTexStorage1D@Base 0 + glTexStorage2D@Base 0 + glTexStorage2DMultisample@Base 0 + glTexStorage3D@Base 0 + glTexStorage3DMultisample@Base 0 + glTexSubImage1D@Base 0 + glTexSubImage2D@Base 0 + glTexSubImage3D@Base 0 + glTexSubImage3DEXT@Base 0 + glTextureBarrierNV@Base 0 + glTextureStorage1DEXT@Base 0 + glTextureStorage2DEXT@Base 0 + glTextureStorage3DEXT@Base 0 + glTextureView@Base 0 + glTransformFeedbackVaryings@Base 0 + glTranslated@Base 0 + glTranslatef@Base 0 + glTranslatex@Base 0 + glUniform1f@Base 0 + glUniform1fARB@Base 0 + glUniform1fv@Base 0 + glUniform1fvARB@Base 0 + glUniform1i@Base 0 + glUniform1iARB@Base 0 + glUniform1iv@Base 0 + glUniform1ivARB@Base 0 + glUniform1ui@Base 0 + glUniform1uiEXT@Base 0 + glUniform1uiv@Base 0 + glUniform1uivEXT@Base 0 + glUniform2f@Base 0 + glUniform2fARB@Base 0 + glUniform2fv@Base 0 + glUniform2fvARB@Base 0 + glUniform2i@Base 0 + glUniform2iARB@Base 0 + glUniform2iv@Base 0 + glUniform2ivARB@Base 0 + glUniform2ui@Base 0 + glUniform2uiEXT@Base 0 + glUniform2uiv@Base 0 + glUniform2uivEXT@Base 0 + glUniform3f@Base 0 + glUniform3fARB@Base 0 + glUniform3fv@Base 0 + glUniform3fvARB@Base 0 + glUniform3i@Base 0 + glUniform3iARB@Base 0 + glUniform3iv@Base 0 + glUniform3ivARB@Base 0 + glUniform3ui@Base 0 + glUniform3uiEXT@Base 0 + glUniform3uiv@Base 0 + glUniform3uivEXT@Base 0 + glUniform4f@Base 0 + glUniform4fARB@Base 0 + glUniform4fv@Base 0 + glUniform4fvARB@Base 0 + glUniform4i@Base 0 + glUniform4iARB@Base 0 + glUniform4iv@Base 0 + glUniform4ivARB@Base 0 + glUniform4ui@Base 0 + glUniform4uiEXT@Base 0 + glUniform4uiv@Base 0 + glUniform4uivEXT@Base 0 + glUniformBlockBinding@Base 0 + glUniformMatrix2fv@Base 0 + glUniformMatrix2fvARB@Base 0 + glUniformMatrix2x3fv@Base 0 + glUniformMatrix2x4fv@Base 0 + glUniformMatrix3fv@Base 0 + glUniformMatrix3fvARB@Base 0 + glUniformMatrix3x2fv@Base 0 + glUniformMatrix3x4fv@Base 0 + glUniformMatrix4fv@Base 0 + glUniformMatrix4fvARB@Base 0 + glUniformMatrix4x2fv@Base 0 + glUniformMatrix4x3fv@Base 0 + glUnlockArraysEXT@Base 0 + glUnmapBuffer@Base 0 + glUnmapBufferARB@Base 0 + glUseProgram@Base 0 + glUseProgramObjectARB@Base 0 + glUseProgramStages@Base 12.0.1 + glValidateProgram@Base 0 + glValidateProgramARB@Base 0 + glValidateProgramPipeline@Base 12.0.1 + glVertex2d@Base 0 + glVertex2dv@Base 0 + glVertex2f@Base 0 + glVertex2fv@Base 0 + glVertex2i@Base 0 + glVertex2iv@Base 0 + glVertex2s@Base 0 + glVertex2sv@Base 0 + glVertex3d@Base 0 + glVertex3dv@Base 0 + glVertex3f@Base 0 + glVertex3fv@Base 0 + glVertex3i@Base 0 + glVertex3iv@Base 0 + glVertex3s@Base 0 + glVertex3sv@Base 0 + glVertex4d@Base 0 + glVertex4dv@Base 0 + glVertex4f@Base 0 + glVertex4fv@Base 0 + glVertex4i@Base 0 + glVertex4iv@Base 0 + glVertex4s@Base 0 + glVertex4sv@Base 0 + glVertexAttrib1d@Base 0 + glVertexAttrib1dARB@Base 0 + glVertexAttrib1dv@Base 0 + glVertexAttrib1dvARB@Base 0 + glVertexAttrib1f@Base 0 + glVertexAttrib1fARB@Base 0 + glVertexAttrib1fv@Base 0 + glVertexAttrib1fvARB@Base 0 + glVertexAttrib1s@Base 0 + glVertexAttrib1sARB@Base 0 + glVertexAttrib1sv@Base 0 + glVertexAttrib1svARB@Base 0 + glVertexAttrib2d@Base 0 + glVertexAttrib2dARB@Base 0 + glVertexAttrib2dv@Base 0 + glVertexAttrib2dvARB@Base 0 + glVertexAttrib2f@Base 0 + glVertexAttrib2fARB@Base 0 + glVertexAttrib2fv@Base 0 + glVertexAttrib2fvARB@Base 0 + glVertexAttrib2s@Base 0 + glVertexAttrib2sARB@Base 0 + glVertexAttrib2sv@Base 0 + glVertexAttrib2svARB@Base 0 + glVertexAttrib3d@Base 0 + glVertexAttrib3dARB@Base 0 + glVertexAttrib3dv@Base 0 + glVertexAttrib3dvARB@Base 0 + glVertexAttrib3f@Base 0 + glVertexAttrib3fARB@Base 0 + glVertexAttrib3fv@Base 0 + glVertexAttrib3fvARB@Base 0 + glVertexAttrib3s@Base 0 + glVertexAttrib3sARB@Base 0 + glVertexAttrib3sv@Base 0 + glVertexAttrib3svARB@Base 0 + glVertexAttrib4Nbv@Base 0 + glVertexAttrib4NbvARB@Base 0 + glVertexAttrib4Niv@Base 0 + glVertexAttrib4NivARB@Base 0 + glVertexAttrib4Nsv@Base 0 + glVertexAttrib4NsvARB@Base 0 + glVertexAttrib4Nub@Base 0 + glVertexAttrib4NubARB@Base 0 + glVertexAttrib4Nubv@Base 0 + glVertexAttrib4NubvARB@Base 0 + glVertexAttrib4Nuiv@Base 0 + glVertexAttrib4NuivARB@Base 0 + glVertexAttrib4Nusv@Base 0 + glVertexAttrib4NusvARB@Base 0 + glVertexAttrib4bv@Base 0 + glVertexAttrib4bvARB@Base 0 + glVertexAttrib4d@Base 0 + glVertexAttrib4dARB@Base 0 + glVertexAttrib4dv@Base 0 + glVertexAttrib4dvARB@Base 0 + glVertexAttrib4f@Base 0 + glVertexAttrib4fARB@Base 0 + glVertexAttrib4fv@Base 0 + glVertexAttrib4fvARB@Base 0 + glVertexAttrib4iv@Base 0 + glVertexAttrib4ivARB@Base 0 + glVertexAttrib4s@Base 0 + glVertexAttrib4sARB@Base 0 + glVertexAttrib4sv@Base 0 + glVertexAttrib4svARB@Base 0 + glVertexAttrib4ubv@Base 0 + glVertexAttrib4ubvARB@Base 0 + glVertexAttrib4uiv@Base 0 + glVertexAttrib4uivARB@Base 0 + glVertexAttrib4usv@Base 0 + glVertexAttrib4usvARB@Base 0 + glVertexAttribBinding@Base 0 + glVertexAttribDivisor@Base 0 + glVertexAttribDivisorARB@Base 0 + glVertexAttribFormat@Base 0 + glVertexAttribI1i@Base 0 + glVertexAttribI1iEXT@Base 0 + glVertexAttribI1iv@Base 0 + glVertexAttribI1ivEXT@Base 0 + glVertexAttribI1ui@Base 0 + glVertexAttribI1uiEXT@Base 0 + glVertexAttribI1uiv@Base 0 + glVertexAttribI1uivEXT@Base 0 + glVertexAttribI2i@Base 0 + glVertexAttribI2iEXT@Base 0 + glVertexAttribI2iv@Base 0 + glVertexAttribI2ivEXT@Base 0 + glVertexAttribI2ui@Base 0 + glVertexAttribI2uiEXT@Base 0 + glVertexAttribI2uiv@Base 0 + glVertexAttribI2uivEXT@Base 0 + glVertexAttribI3i@Base 0 + glVertexAttribI3iEXT@Base 0 + glVertexAttribI3iv@Base 0 + glVertexAttribI3ivEXT@Base 0 + glVertexAttribI3ui@Base 0 + glVertexAttribI3uiEXT@Base 0 + glVertexAttribI3uiv@Base 0 + glVertexAttribI3uivEXT@Base 0 + glVertexAttribI4bv@Base 0 + glVertexAttribI4bvEXT@Base 0 + glVertexAttribI4i@Base 0 + glVertexAttribI4iEXT@Base 0 + glVertexAttribI4iv@Base 0 + glVertexAttribI4ivEXT@Base 0 + glVertexAttribI4sv@Base 0 + glVertexAttribI4svEXT@Base 0 + glVertexAttribI4ubv@Base 0 + glVertexAttribI4ubvEXT@Base 0 + glVertexAttribI4ui@Base 0 + glVertexAttribI4uiEXT@Base 0 + glVertexAttribI4uiv@Base 0 + glVertexAttribI4uivEXT@Base 0 + glVertexAttribI4usv@Base 0 + glVertexAttribI4usvEXT@Base 0 + glVertexAttribIFormat@Base 0 + glVertexAttribIPointer@Base 0 + glVertexAttribIPointerEXT@Base 0 + glVertexAttribLFormat@Base 0 + glVertexAttribP1ui@Base 0 + glVertexAttribP1uiv@Base 0 + glVertexAttribP2ui@Base 0 + glVertexAttribP2uiv@Base 0 + glVertexAttribP3ui@Base 0 + glVertexAttribP3uiv@Base 0 + glVertexAttribP4ui@Base 0 + glVertexAttribP4uiv@Base 0 + glVertexAttribPointer@Base 0 + glVertexAttribPointerARB@Base 0 + glVertexBindingDivisor@Base 0 + glVertexP2ui@Base 0 + glVertexP2uiv@Base 0 + glVertexP3ui@Base 0 + glVertexP3uiv@Base 0 + glVertexP4ui@Base 0 + glVertexP4uiv@Base 0 + glVertexPointer@Base 0 + glVertexPointerEXT@Base 0 + glViewport@Base 0 + glViewportArrayv@Base 0 + glViewportIndexedf@Base 0 + glViewportIndexedfv@Base 0 + glWaitSync@Base 0 + glWindowPos2d@Base 0 + glWindowPos2dARB@Base 0 + glWindowPos2dv@Base 0 + glWindowPos2dvARB@Base 0 + glWindowPos2f@Base 0 + glWindowPos2fARB@Base 0 + glWindowPos2fv@Base 0 + glWindowPos2fvARB@Base 0 + glWindowPos2i@Base 0 + glWindowPos2iARB@Base 0 + glWindowPos2iv@Base 0 + glWindowPos2ivARB@Base 0 + glWindowPos2s@Base 0 + glWindowPos2sARB@Base 0 + glWindowPos2sv@Base 0 + glWindowPos2svARB@Base 0 + glWindowPos3d@Base 0 + glWindowPos3dARB@Base 0 + glWindowPos3dv@Base 0 + glWindowPos3dvARB@Base 0 + glWindowPos3f@Base 0 + glWindowPos3fARB@Base 0 + glWindowPos3fv@Base 0 + glWindowPos3fvARB@Base 0 + glWindowPos3i@Base 0 + glWindowPos3iARB@Base 0 + glWindowPos3iv@Base 0 + glWindowPos3ivARB@Base 0 + glWindowPos3s@Base 0 + glWindowPos3sARB@Base 0 + glWindowPos3sv@Base 0 + glWindowPos3svARB@Base 0 + glXChooseFBConfig@Base 0 + glXChooseFBConfigSGIX@Base 0 + glXChooseVisual@Base 0 + glXCopyContext@Base 0 + glXCreateContext@Base 0 + glXCreateContextWithConfigSGIX@Base 0 + glXCreateGLXPbufferSGIX@Base 0 + glXCreateGLXPixmap@Base 0 + glXCreateGLXPixmapMESA@Base 0 + glXCreateGLXPixmapWithConfigSGIX@Base 0 + glXCreateNewContext@Base 0 + glXCreatePbuffer@Base 0 + glXCreatePixmap@Base 0 + glXCreateWindow@Base 0 + glXDestroyContext@Base 0 + glXDestroyGLXPbufferSGIX@Base 0 + glXDestroyGLXPixmap@Base 0 + glXDestroyPbuffer@Base 0 + glXDestroyPixmap@Base 0 + glXDestroyWindow@Base 0 + glXFreeContextEXT@Base 0 + glXGetClientString@Base 0 + glXGetConfig@Base 0 + glXGetContextIDEXT@Base 0 + glXGetCurrentContext@Base 0 + glXGetCurrentDisplay@Base 0 + glXGetCurrentDisplayEXT@Base 0 + glXGetCurrentDrawable@Base 0 + glXGetCurrentReadDrawable@Base 0 + (arch=!hurd-any)glXGetDriverConfig@Base 0 + glXGetFBConfigAttrib@Base 0 + glXGetFBConfigAttribSGIX@Base 0 + glXGetFBConfigFromVisualSGIX@Base 0 + glXGetFBConfigs@Base 0 + glXGetProcAddress@Base 0 + glXGetProcAddressARB@Base 0 + (arch=!hurd-any)glXGetScreenDriver@Base 0 + glXGetSelectedEvent@Base 0 + glXGetSelectedEventSGIX@Base 0 + glXGetVisualFromFBConfig@Base 0 + glXGetVisualFromFBConfigSGIX@Base 0 + glXImportContextEXT@Base 0 + glXIsDirect@Base 0 + glXMakeContextCurrent@Base 0 + glXMakeCurrent@Base 0 + glXMakeCurrentReadSGI@Base 0 + glXQueryContext@Base 0 + glXQueryContextInfoEXT@Base 0 + glXQueryDrawable@Base 0 + glXQueryExtension@Base 0 + glXQueryExtensionsString@Base 0 + glXQueryGLXPbufferSGIX@Base 0 + glXQueryServerString@Base 0 + glXQueryVersion@Base 0 + glXSelectEvent@Base 0 + glXSelectEventSGIX@Base 0 + glXSwapBuffers@Base 0 + glXUseXFont@Base 0 + glXWaitGL@Base 0 + glXWaitX@Base 0 --- mesa-17.3.3.orig/debian/libglapi-mesa.install +++ mesa-17.3.3/debian/libglapi-mesa.install @@ -0,0 +1 @@ +usr/lib/*/libglapi.so.0* --- mesa-17.3.3.orig/debian/libglapi-mesa.lintian-overrides +++ mesa-17.3.3/debian/libglapi-mesa.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libglapi0 --- mesa-17.3.3.orig/debian/libgles1-mesa-dev.install.in +++ mesa-17.3.3/debian/libgles1-mesa-dev.install.in @@ -0,0 +1,3 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libGLESv1_CM.so usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl +usr/include/GLES +usr/lib/*/pkgconfig/glesv1_cm.pc --- mesa-17.3.3.orig/debian/libgles1-mesa-dev.links.in +++ mesa-17.3.3/debian/libgles1-mesa-dev.links.in @@ -0,0 +1 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/libGLESv1_CM.so /usr/lib/${DEB_HOST_MULTIARCH}/libGLESv1_CM.so --- mesa-17.3.3.orig/debian/libgles1-mesa.install.in +++ mesa-17.3.3/debian/libgles1-mesa.install.in @@ -0,0 +1 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libGLESv1_CM.so.1* usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl --- mesa-17.3.3.orig/debian/libgles2-mesa-dev.install.in +++ mesa-17.3.3/debian/libgles2-mesa-dev.install.in @@ -0,0 +1,4 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libGLESv2.so usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl +usr/include/GLES2 +usr/include/GLES3 +usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/glesv2.pc --- mesa-17.3.3.orig/debian/libgles2-mesa-dev.links.in +++ mesa-17.3.3/debian/libgles2-mesa-dev.links.in @@ -0,0 +1 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/libGLESv2.so /usr/lib/${DEB_HOST_MULTIARCH}/libGLESv2.so --- mesa-17.3.3.orig/debian/libgles2-mesa.install.in +++ mesa-17.3.3/debian/libgles2-mesa.install.in @@ -0,0 +1 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libGLESv2.so.2* usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl --- mesa-17.3.3.orig/debian/libgles2-mesa.lintian-overrides +++ mesa-17.3.3/debian/libgles2-mesa.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libGLESv2-2 --- mesa-17.3.3.orig/debian/libgles2-mesa.symbols +++ mesa-17.3.3/debian/libgles2-mesa.symbols @@ -0,0 +1,366 @@ +libGLESv2.so.2 libgles2-mesa #MINVER# | libgles2 + glActiveShaderProgram@Base 12.0.1 + glActiveTexture@Base 7.8.1 + glAttachShader@Base 7.8.1 + glBeginQuery@Base 9.1~ + glBeginTransformFeedback@Base 9.1~ + glBindAttribLocation@Base 7.8.1 + glBindBuffer@Base 7.8.1 + glBindBufferBase@Base 9.1~ + glBindBufferRange@Base 9.1~ + glBindFragDataLocationEXT@Base 11.1.0~ + glBindFramebuffer@Base 7.8.1 + glBindImageTexture@Base 10.7.0~ + glBindProgramPipeline@Base 12.0.1 + glBindRenderbuffer@Base 7.8.1 + glBindSampler@Base 9.1~ + glBindTexture@Base 7.8.1 + glBindTransformFeedback@Base 9.1~ + glBindVertexArray@Base 9.1~ + glBindVertexBuffer@Base 10.7.0~ + glBlendBarrier@Base 13.0.0~ + glBlendColor@Base 7.8.1 + glBlendEquation@Base 7.8.1 + glBlendEquationSeparate@Base 7.8.1 + glBlendEquationSeparatei@Base 13.0.0~ + glBlendEquationi@Base 13.0.0~ + glBlendFunc@Base 7.8.1 + glBlendFuncSeparate@Base 7.8.1 + glBlendFuncSeparatei@Base 13.0.0~ + glBlendFunci@Base 13.0.0~ + glBlitFramebuffer@Base 9.1~ + glBufferData@Base 7.8.1 + glBufferSubData@Base 7.8.1 + glCheckFramebufferStatus@Base 7.8.1 + glClear@Base 7.8.1 + glClearBufferfi@Base 9.1~ + glClearBufferfv@Base 9.1~ + glClearBufferiv@Base 9.1~ + glClearBufferuiv@Base 9.1~ + glClearColor@Base 7.8.1 + glClearDepthf@Base 7.8.1 + glClearStencil@Base 7.8.1 + glClientWaitSync@Base 9.1~ + glColorMask@Base 7.8.1 + glColorMaski@Base 12.0.0~ + glCompileShader@Base 7.8.1 + glCompressedTexImage2D@Base 7.8.1 + glCompressedTexImage3D@Base 9.1~ + glCompressedTexSubImage2D@Base 7.8.1 + glCompressedTexSubImage3D@Base 9.1~ + glCopyBufferSubData@Base 9.1~ + glCopyImageSubData@Base 12.0.0~ + glCopyTexImage2D@Base 7.8.1 + glCopyTexSubImage2D@Base 7.8.1 + glCopyTexSubImage3D@Base 9.1~ + glCreateProgram@Base 7.8.1 + glCreateShader@Base 7.8.1 + glCreateShaderProgramv@Base 12.0.1 + glCullFace@Base 7.8.1 + glDebugMessageCallback@Base 12.0.0~ + glDebugMessageControl@Base 12.0.0~ + glDebugMessageInsert@Base 12.0.0~ + glDeleteBuffers@Base 7.8.1 + glDeleteFramebuffers@Base 7.8.1 + glDeleteProgram@Base 7.8.1 + glDeleteProgramPipelines@Base 12.0.1 + glDeleteQueries@Base 9.1~ + glDeleteRenderbuffers@Base 7.8.1 + glDeleteSamplers@Base 9.1~ + glDeleteShader@Base 7.8.1 + glDeleteSync@Base 9.1~ + glDeleteTextures@Base 7.8.1 + glDeleteTransformFeedbacks@Base 9.1~ + glDeleteVertexArrays@Base 9.1~ + glDepthFunc@Base 7.8.1 + glDepthMask@Base 7.8.1 + glDepthRangef@Base 7.8.1 + glDetachShader@Base 7.8.1 + glDisable@Base 7.8.1 + glDisableVertexAttribArray@Base 7.8.1 + glDisablei@Base 12.0.0~ + glDispatchCompute@Base 10.7.0~ + glDispatchComputeIndirect@Base 10.7.0~ + glDrawArrays@Base 7.8.1 + glDrawArraysIndirect@Base 10.7.0~ + glDrawArraysInstanced@Base 9.1~ + glDrawBuffers@Base 9.1~ + glDrawElements@Base 7.8.1 + glDrawElementsBaseVertex@Base 11.1.0~ + glDrawElementsIndirect@Base 10.7.0~ + glDrawElementsInstanced@Base 9.1~ + glDrawElementsInstancedBaseVertex@Base 11.1.0~ + glDrawRangeElements@Base 9.1~ + glDrawRangeElementsBaseVertex@Base 11.1.0~ + glEnable@Base 7.8.1 + glEnableVertexAttribArray@Base 7.8.1 + glEnablei@Base 12.0.0~ + glEndQuery@Base 9.1~ + glEndTransformFeedback@Base 9.1~ + glFenceSync@Base 9.1~ + glFinish@Base 7.8.1 + glFlush@Base 7.8.1 + glFlushMappedBufferRange@Base 9.1~ + glFramebufferParameteri@Base 12.0.1 + glFramebufferRenderbuffer@Base 7.8.1 + glFramebufferTexture2D@Base 7.8.1 + glFramebufferTexture@Base 12.0.0~ + glFramebufferTextureLayer@Base 9.1~ + glFrontFace@Base 7.8.1 + glGenBuffers@Base 7.8.1 + glGenFramebuffers@Base 7.8.1 + glGenProgramPipelines@Base 12.0.1 + glGenQueries@Base 9.1~ + glGenRenderbuffers@Base 7.8.1 + glGenSamplers@Base 9.1~ + glGenTextures@Base 7.8.1 + glGenTransformFeedbacks@Base 9.1~ + glGenVertexArrays@Base 9.1~ + glGenerateMipmap@Base 7.8.1 + glGetActiveAttrib@Base 7.8.1 + glGetActiveUniform@Base 7.8.1 + glGetActiveUniformBlockName@Base 9.1~ + glGetActiveUniformBlockiv@Base 9.1~ + glGetActiveUniformsiv@Base 9.1~ + glGetAttachedShaders@Base 7.8.1 + glGetAttribLocation@Base 7.8.1 + glGetBooleani_v@Base 10.7.0~ + glGetBooleanv@Base 7.8.1 + glGetBufferParameteri64v@Base 9.1~ + glGetBufferParameteriv@Base 7.8.1 + glGetBufferPointerv@Base 9.1~ + glGetDebugMessageLog@Base 12.0.0~ + glGetError@Base 7.8.1 + glGetFloatv@Base 7.8.1 + glGetFragDataLocation@Base 9.1~ + glGetFramebufferAttachmentParameteriv@Base 7.8.1 + glGetFramebufferParameteriv@Base 12.0.1 + glGetGraphicsResetStatus@Base 13.0.0~ + glGetInteger64i_v@Base 9.1~ + glGetInteger64v@Base 9.1~ + glGetIntegeri_v@Base 9.1~ + glGetIntegerv@Base 7.8.1 + glGetInternalformativ@Base 9.1~ + glGetMultisamplefv@Base 10.7.0~ + glGetObjectLabel@Base 12.0.0~ + glGetObjectPtrLabel@Base 12.0.0~ + glGetPointerv@Base 13.0.0~ + glGetProgramBinary@Base 9.1~ + glGetProgramInfoLog@Base 7.8.1 + glGetProgramInterfaceiv@Base 12.0.1 + glGetProgramPipelineInfoLog@Base 12.0.1 + glGetProgramPipelineiv@Base 12.0.1 + glGetProgramResourceIndex@Base 12.0.1 + glGetProgramResourceLocation@Base 12.0.1 + glGetProgramResourceName@Base 12.0.1 + glGetProgramResourceiv@Base 12.0.1 + glGetProgramiv@Base 7.8.1 + glGetQueryObjectuiv@Base 9.1~ + glGetQueryiv@Base 9.1~ + glGetRenderbufferParameteriv@Base 7.8.1 + glGetSamplerParameterIiv@Base 12.0.0~ + glGetSamplerParameterIuiv@Base 12.0.0~ + glGetSamplerParameterfv@Base 9.1~ + glGetSamplerParameteriv@Base 9.1~ + glGetShaderInfoLog@Base 7.8.1 + glGetShaderPrecisionFormat@Base 7.8.1 + glGetShaderSource@Base 7.8.1 + glGetShaderiv@Base 7.8.1 + glGetString@Base 7.8.1 + glGetStringi@Base 9.1~ + glGetSynciv@Base 9.1~ + glGetTexLevelParameterfv@Base 10.7.0~ + glGetTexLevelParameteriv@Base 10.7.0~ + glGetTexParameterIiv@Base 12.0.0~ + glGetTexParameterIivEXT@Base 11.3.0~ + glGetTexParameterIuiv@Base 12.0.0~ + glGetTexParameterIuivEXT@Base 11.3.0~ + glGetTexParameterfv@Base 7.8.1 + glGetTexParameteriv@Base 7.8.1 + glGetTransformFeedbackVarying@Base 9.1~ + glGetUniformBlockIndex@Base 9.1~ + glGetUniformIndices@Base 9.1~ + glGetUniformLocation@Base 7.8.1 + glGetUniformfv@Base 7.8.1 + glGetUniformiv@Base 7.8.1 + glGetUniformuiv@Base 9.1~ + glGetVertexAttribIiv@Base 9.1~ + glGetVertexAttribIuiv@Base 9.1~ + glGetVertexAttribPointerv@Base 7.8.1 + glGetVertexAttribfv@Base 7.8.1 + glGetVertexAttribiv@Base 7.8.1 + glGetnUniformfv@Base 13.0.0~ + glGetnUniformiv@Base 13.0.0~ + glGetnUniformuiv@Base 13.0.0~ + glHint@Base 7.8.1 + glInvalidateFramebuffer@Base 9.1~ + glInvalidateSubFramebuffer@Base 9.1~ + glIsBuffer@Base 7.8.1 + glIsEnabled@Base 7.8.1 + glIsEnabledi@Base 12.0.0~ + glIsFramebuffer@Base 7.8.1 + glIsProgram@Base 7.8.1 + glIsProgramPipeline@Base 12.0.1 + glIsQuery@Base 9.1~ + glIsRenderbuffer@Base 7.8.1 + glIsSampler@Base 9.1~ + glIsShader@Base 7.8.1 + glIsSync@Base 9.1~ + glIsTexture@Base 7.8.1 + glIsTransformFeedback@Base 9.1~ + glIsVertexArray@Base 9.1~ + glLineWidth@Base 7.8.1 + glLinkProgram@Base 7.8.1 + glMapBufferRange@Base 9.1~ + glMemoryBarrier@Base 10.7.0~ + glMemoryBarrierByRegion@Base 12.0.1 + glMinSampleShading@Base 12.0.0~ + glMultiDrawArraysEXT@Base 7.8.1 + glMultiDrawElementsEXT@Base 7.8.1 + glObjectLabel@Base 12.0.0~ + glObjectPtrLabel@Base 12.0.0~ + glPatchParameteri@Base 13.0.0~ + glPauseTransformFeedback@Base 9.1~ + glPixelStorei@Base 7.8.1 + glPolygonOffset@Base 7.8.1 + glPopDebugGroup@Base 12.0.0~ + glPrimitiveBoundingBox@Base 13.0.0~ + glProgramBinary@Base 9.1~ + glProgramParameteri@Base 9.1~ + glProgramUniform1f@Base 12.0.1 + glProgramUniform1fv@Base 12.0.1 + glProgramUniform1i@Base 12.0.1 + glProgramUniform1iv@Base 12.0.1 + glProgramUniform1ui@Base 12.0.1 + glProgramUniform1uiv@Base 12.0.1 + glProgramUniform2f@Base 12.0.1 + glProgramUniform2fv@Base 12.0.1 + glProgramUniform2i@Base 12.0.1 + glProgramUniform2iv@Base 12.0.1 + glProgramUniform2ui@Base 12.0.1 + glProgramUniform2uiv@Base 12.0.1 + glProgramUniform3f@Base 12.0.1 + glProgramUniform3fv@Base 12.0.1 + glProgramUniform3i@Base 12.0.1 + glProgramUniform3iv@Base 12.0.1 + glProgramUniform3ui@Base 12.0.1 + glProgramUniform3uiv@Base 12.0.1 + glProgramUniform4f@Base 12.0.1 + glProgramUniform4fv@Base 12.0.1 + glProgramUniform4i@Base 12.0.1 + glProgramUniform4iv@Base 12.0.1 + glProgramUniform4ui@Base 12.0.1 + glProgramUniform4uiv@Base 12.0.1 + glProgramUniformMatrix2fv@Base 12.0.1 + glProgramUniformMatrix2x3fv@Base 12.0.1 + glProgramUniformMatrix2x4fv@Base 12.0.1 + glProgramUniformMatrix3fv@Base 12.0.1 + glProgramUniformMatrix3x2fv@Base 12.0.1 + glProgramUniformMatrix3x4fv@Base 12.0.1 + glProgramUniformMatrix4fv@Base 12.0.1 + glProgramUniformMatrix4x2fv@Base 12.0.1 + glProgramUniformMatrix4x3fv@Base 12.0.1 + glPushDebugGroup@Base 12.0.0~ + glReadBuffer@Base 9.1~ + glReadPixels@Base 7.8.1 + glReadnPixels@Base 13.0.0~ + glReleaseShaderCompiler@Base 7.8.1 + glRenderbufferStorage@Base 7.8.1 + glRenderbufferStorageMultisample@Base 9.1~ + glResumeTransformFeedback@Base 9.1~ + glSampleCoverage@Base 7.8.1 + glSampleMaski@Base 10.7.0~ + glSamplerParameterIiv@Base 12.0.0~ + glSamplerParameterIuiv@Base 12.0.0~ + glSamplerParameterf@Base 9.1~ + glSamplerParameterfv@Base 9.1~ + glSamplerParameteri@Base 9.1~ + glSamplerParameteriv@Base 9.1~ + glScissor@Base 7.8.1 + glShaderBinary@Base 7.8.1 + glShaderSource@Base 7.8.1 + glStencilFunc@Base 7.8.1 + glStencilFuncSeparate@Base 7.8.1 + glStencilMask@Base 7.8.1 + glStencilMaskSeparate@Base 7.8.1 + glStencilOp@Base 7.8.1 + glStencilOpSeparate@Base 7.8.1 + glTexBuffer@Base 12.0.0~ + glTexBufferRange@Base 12.0.0~ + glTexImage2D@Base 7.8.1 + glTexImage3D@Base 9.1~ + glTexParameterIiv@Base 12.0.0~ + glTexParameterIivEXT@Base 11.3.0~ + glTexParameterIuiv@Base 12.0.0~ + glTexParameterIuivEXT@Base 11.3.0~ + glTexParameterf@Base 7.8.1 + glTexParameterfv@Base 7.8.1 + glTexParameteri@Base 7.8.1 + glTexParameteriv@Base 7.8.1 + glTexStorage2D@Base 9.1~ + glTexStorage2DMultisample@Base 10.7.0~ + glTexStorage3D@Base 9.1~ + glTexStorage3DMultisample@Base 12.0.0~ + glTexSubImage2D@Base 7.8.1 + glTexSubImage3D@Base 9.1~ + glTransformFeedbackVaryings@Base 9.1~ + glUniform1f@Base 7.8.1 + glUniform1fv@Base 7.8.1 + glUniform1i@Base 7.8.1 + glUniform1iv@Base 7.8.1 + glUniform1ui@Base 9.1~ + glUniform1uiv@Base 9.1~ + glUniform2f@Base 7.8.1 + glUniform2fv@Base 7.8.1 + glUniform2i@Base 7.8.1 + glUniform2iv@Base 7.8.1 + glUniform2ui@Base 9.1~ + glUniform2uiv@Base 9.1~ + glUniform3f@Base 7.8.1 + glUniform3fv@Base 7.8.1 + glUniform3i@Base 7.8.1 + glUniform3iv@Base 7.8.1 + glUniform3ui@Base 9.1~ + glUniform3uiv@Base 9.1~ + glUniform4f@Base 7.8.1 + glUniform4fv@Base 7.8.1 + glUniform4i@Base 7.8.1 + glUniform4iv@Base 7.8.1 + glUniform4ui@Base 9.1~ + glUniform4uiv@Base 9.1~ + glUniformBlockBinding@Base 9.1~ + glUniformMatrix2fv@Base 7.8.1 + glUniformMatrix2x3fv@Base 9.1~ + glUniformMatrix2x4fv@Base 9.1~ + glUniformMatrix3fv@Base 7.8.1 + glUniformMatrix3x2fv@Base 9.1~ + glUniformMatrix3x4fv@Base 9.1~ + glUniformMatrix4fv@Base 7.8.1 + glUniformMatrix4x2fv@Base 9.1~ + glUniformMatrix4x3fv@Base 9.1~ + glUnmapBuffer@Base 9.1~ + glUseProgram@Base 7.8.1 + glUseProgramStages@Base 12.0.1 + glValidateProgram@Base 7.8.1 + glValidateProgramPipeline@Base 12.0.1 + glVertexAttrib1f@Base 7.8.1 + glVertexAttrib1fv@Base 7.8.1 + glVertexAttrib2f@Base 7.8.1 + glVertexAttrib2fv@Base 7.8.1 + glVertexAttrib3f@Base 7.8.1 + glVertexAttrib3fv@Base 7.8.1 + glVertexAttrib4f@Base 7.8.1 + glVertexAttrib4fv@Base 7.8.1 + glVertexAttribBinding@Base 10.7.0~ + glVertexAttribDivisor@Base 9.1~ + glVertexAttribFormat@Base 10.7.0~ + glVertexAttribI4i@Base 9.1~ + glVertexAttribI4iv@Base 9.1~ + glVertexAttribI4ui@Base 9.1~ + glVertexAttribI4uiv@Base 9.1~ + glVertexAttribIFormat@Base 10.7.0~ + glVertexAttribIPointer@Base 9.1~ + glVertexAttribPointer@Base 7.8.1 + glVertexBindingDivisor@Base 10.7.0~ + glViewport@Base 7.8.1 + glWaitSync@Base 9.1~ --- mesa-17.3.3.orig/debian/libopenvg1-mesa-dev.links.in +++ mesa-17.3.3/debian/libopenvg1-mesa-dev.links.in @@ -0,0 +1 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/mesa-egl/libOpenVG.so /usr/lib/${DEB_HOST_MULTIARCH}/libOpenVG.so --- mesa-17.3.3.orig/debian/libosmesa6-dev.install +++ mesa-17.3.3/debian/libosmesa6-dev.install @@ -0,0 +1,3 @@ +usr/include/GL/osmesa.h +usr/lib/*/libOSMesa.so +usr/lib/*/pkgconfig/osmesa.pc --- mesa-17.3.3.orig/debian/libosmesa6.install +++ mesa-17.3.3/debian/libosmesa6.install @@ -0,0 +1 @@ +usr/lib/*/libOSMesa.so.* --- mesa-17.3.3.orig/debian/libosmesa6.links.in +++ mesa-17.3.3/debian/libosmesa6.links.in @@ -0,0 +1 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa.so.8 usr/lib/${DEB_HOST_MULTIARCH}/libOSMesa.so.6 --- mesa-17.3.3.orig/debian/libosmesa6.lintian-overrides +++ mesa-17.3.3/debian/libosmesa6.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libOSMesa8 --- mesa-17.3.3.orig/debian/libosmesa6.shlibs +++ mesa-17.3.3/debian/libosmesa6.shlibs @@ -0,0 +1 @@ +libOSMesa 8 libosmesa6 (>= 10.2~) --- mesa-17.3.3.orig/debian/libwayland-egl1-mesa.install +++ mesa-17.3.3/debian/libwayland-egl1-mesa.install @@ -0,0 +1,3 @@ +# Wayland support, only on Linux: +usr/lib/*/libwayland-egl.so.1 +usr/lib/*/libwayland-egl.so.1.0.0 --- mesa-17.3.3.orig/debian/libwayland-egl1-mesa.lintian-overrides +++ mesa-17.3.3/debian/libwayland-egl1-mesa.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libwayland-egl1 --- mesa-17.3.3.orig/debian/libwayland-egl1-mesa.symbols +++ mesa-17.3.3/debian/libwayland-egl1-mesa.symbols @@ -0,0 +1,5 @@ +libwayland-egl.so.1 libwayland-egl1-mesa #MINVER# | libwayland-egl1 + wl_egl_window_create@Base 10.0.2 + wl_egl_window_destroy@Base 10.0.2 + wl_egl_window_get_attached_size@Base 10.0.2 + wl_egl_window_resize@Base 10.0.2 --- mesa-17.3.3.orig/debian/libxatracker-dev.install +++ mesa-17.3.3/debian/libxatracker-dev.install @@ -0,0 +1,5 @@ +usr/lib/*/libxatracker.so +usr/lib/*/pkgconfig/xatracker.pc +usr/include/xa_composite.h +usr/include/xa_context.h +usr/include/xa_tracker.h --- mesa-17.3.3.orig/debian/libxatracker2.install +++ mesa-17.3.3/debian/libxatracker2.install @@ -0,0 +1 @@ +usr/lib/*/libxatracker.so.2* --- mesa-17.3.3.orig/debian/libxatracker2.symbols +++ mesa-17.3.3/debian/libxatracker2.symbols @@ -0,0 +1,35 @@ +libxatracker.so.2 libxatracker2 #MINVER# + xa_composite_allocation@Base 0 + xa_composite_check_accelerated@Base 0 + xa_composite_done@Base 0 + xa_composite_prepare@Base 0 + xa_composite_rect@Base 0 + xa_context_create@Base 0 + xa_context_default@Base 0 + xa_context_destroy@Base 0 + xa_context_flush@Base 0 + xa_copy@Base 0 + xa_copy_done@Base 0 + xa_copy_prepare@Base 0 + xa_fence_destroy@Base 0 + xa_fence_get@Base 0 + xa_fence_wait@Base 0 + xa_format_check_supported@Base 0 + xa_solid@Base 0 + xa_solid_done@Base 0 + xa_solid_prepare@Base 0 + xa_surface_create@Base 0 + xa_surface_dma@Base 0 + xa_surface_format@Base 0 + xa_surface_from_handle2@Base 11.1.0~ + xa_surface_from_handle@Base 0 + xa_surface_handle@Base 0 + xa_surface_map@Base 0 + xa_surface_redefine@Base 0 + xa_surface_ref@Base 0 + xa_surface_unmap@Base 0 + xa_surface_unref@Base 0 + xa_tracker_create@Base 0 + xa_tracker_destroy@Base 0 + xa_tracker_version@Base 0 + xa_yuv_planar_blit@Base 0 --- mesa-17.3.3.orig/debian/local/control +++ mesa-17.3.3/debian/local/control @@ -0,0 +1 @@ +report-with: xserver-xorg xserver-xorg-core --- mesa-17.3.3.orig/debian/local/script +++ mesa-17.3.3/debian/local/script @@ -0,0 +1,26 @@ +#!/bin/sh + +SERVER_BUG_SCRIPT=/usr/share/bug/xserver-xorg-core/script + +exec >&3 + +echo "glxinfo:" +echo "--------" + +if [ -z "$DISPLAY" ]; then + echo "DISPLAY is not set." +else + if which glxinfo >/dev/null 2>&1; then + glxinfo + else + echo "glxinfo is not available (missing mesa-utils package)." + fi +fi + +echo + +if [ -x "$SERVER_BUG_SCRIPT" ]; then + $SERVER_BUG_SCRIPT 3>&1 +else + echo "$SERVER_BUG_SCRIPT not available" +fi --- mesa-17.3.3.orig/debian/mesa-common-dev.docs +++ mesa-17.3.3/debian/mesa-common-dev.docs @@ -0,0 +1,4 @@ +docs/*.html +docs/relnotes/* +docs/specs/*.spec +docs/specs/OLD/*.spec --- mesa-17.3.3.orig/debian/mesa-common-dev.install +++ mesa-17.3.3/debian/mesa-common-dev.install @@ -0,0 +1,9 @@ +usr/include/GL/gl.h +usr/include/GL/glcorearb.h +usr/include/GL/glext.h +usr/include/GL/gl_mangle.h +usr/include/GL/glx.h +usr/include/GL/glxext.h +usr/include/GL/glx_mangle.h +usr/include/GL/internal/dri_interface.h +usr/lib/*/pkgconfig/dri.pc --- mesa-17.3.3.orig/debian/mesa-opencl-icd.install +++ mesa-17.3.3/debian/mesa-opencl-icd.install @@ -0,0 +1,3 @@ +etc/OpenCL/vendors/mesa.icd +usr/lib/*/gallium-pipe/*.so +usr/lib/*/libMesaOpenCL* --- mesa-17.3.3.orig/debian/mesa-opencl-icd.lintian-overrides +++ mesa-17.3.3/debian/mesa-opencl-icd.lintian-overrides @@ -0,0 +1 @@ +package-name-doesnt-match-sonames libMesaOpenCL1 --- mesa-17.3.3.orig/debian/mesa-vulkan-drivers.install +++ mesa-17.3.3/debian/mesa-vulkan-drivers.install @@ -0,0 +1,2 @@ +usr/share/vulkan/icd.d/*.json +usr/lib/*/libvulkan_*.so --- mesa-17.3.3.orig/debian/mesa-vulkan-drivers.lintian-overrides +++ mesa-17.3.3/debian/mesa-vulkan-drivers.lintian-overrides @@ -0,0 +1,3 @@ +package-name-doesnt-match-sonames libvulkan-intel libvulkan-radeon +shlib-without-versioned-soname usr/lib/*/libvulkan_intel.so libvulkan_intel.so +shlib-without-versioned-soname usr/lib/*/libvulkan_radeon.so libvulkan_radeon.so --- mesa-17.3.3.orig/debian/mesa-vulkan-drivers.triggers +++ mesa-17.3.3/debian/mesa-vulkan-drivers.triggers @@ -0,0 +1 @@ +activate-noawait ldconfig --- mesa-17.3.3.orig/debian/not-installed +++ mesa-17.3.3/debian/not-installed @@ -0,0 +1,5 @@ +# Keep track of files we don't install: + +# Common list: +NOT_INSTALLED := \ + # usr/lib/*/libglapi.so --- mesa-17.3.3.orig/debian/patches/07_gallium-fix-build-failure-on-powerpcspe.diff +++ mesa-17.3.3/debian/patches/07_gallium-fix-build-failure-on-powerpcspe.diff @@ -0,0 +1,40 @@ +From a4f14e7239780b02af8d74669c5458d4b0957d4d Mon Sep 17 00:00:00 2001 +From: Roland Stigge +Date: Sun, 2 Mar 2014 19:52:56 +0100 +Subject: [PATCH] gallium: fix build failure on powerpcspe + +In the case of powerpc, mesa activates some altivec instructions +that are unknown on the powerpcspe architecture (see +https://wiki.debian.org/PowerPCSPEPort), causing a build failure as the +'vand' opcode is not recognized by the assembler. + +This patch fixes this by preventing the PPC-specialcasing in case of +powerpcspe (__NO_FPRS__ is only defined there). + +https://bugs.debian.org/695746 +--- + src/gallium/include/pipe/p_config.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h +index d603681..8189a73 100644 +--- a/src/gallium/include/pipe/p_config.h ++++ b/src/gallium/include/pipe/p_config.h +@@ -107,12 +107,14 @@ + #endif + #endif + ++#ifndef __NO_FPRS__ + #if defined(__ppc__) || defined(__ppc64__) || defined(__PPC__) + #define PIPE_ARCH_PPC + #if defined(__ppc64__) || defined(__PPC64__) + #define PIPE_ARCH_PPC_64 + #endif + #endif ++#endif + + #if defined(__s390x__) + #define PIPE_ARCH_S390 +-- +1.9.0 + --- mesa-17.3.3.orig/debian/patches/egl-platform-mir.patch +++ mesa-17.3.3/debian/patches/egl-platform-mir.patch @@ -0,0 +1,979 @@ +Index: mesa/configure.ac +=================================================================== +--- 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" + ;; +- ++ mir) ++ PKG_CHECK_MODULES([MIR], [mirclient mir-client-platform-mesa]) ++ ;; + *) + AC_MSG_ERROR([platform '$plat' does not exist]) + ;; +@@ -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') ++AM_CONDITIONAL(HAVE_PLATFORM_MIR, echo "$platforms" | grep -q 'mir') + + dnl + dnl More DRI setup +Index: mesa/include/EGL/eglplatform.h +=================================================================== +--- 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; + ++#elif defined(MIR_EGL_PLATFORM) ++ ++#include ++typedef MirEGLNativeDisplayType EGLNativeDisplayType; ++typedef void *EGLNativePixmapType; ++typedef MirEGLNativeWindowType EGLNativeWindowType; ++ + #elif defined(__unix__) || defined(__APPLE__) + + #if defined(MESA_EGL_NO_X11_HEADERS) +Index: mesa/include/GL/internal/dri_interface.h +=================================================================== +--- 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; ++ unsigned int fd; /**< Only available with DRI2_LOADER_VERSION >= 4, */ ++ /**< Only valid if name == 0 */ + }; + + #define __DRI_DRI2_LOADER "DRI_DRI2Loader" +-#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 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 ++#ifdef HAVE_MIR_PLATFORM ++ case _EGL_PLATFORM_MIR: ++ ret = dri2_initialize_mir(drv, disp); ++ break; ++#endif + #ifdef HAVE_ANDROID_PLATFORM + case _EGL_PLATFORM_ANDROID: + ret = dri2_initialize_android(drv, disp); +@@ -1006,6 +1011,13 @@ + } + break; + #endif ++#ifdef HAVE_MIR_PLATFORM ++ case _EGL_PLATFORM_MIR: ++ if (dri2_dpy->own_device) { ++ gbm_device_destroy(&dri2_dpy->gbm_dri->base); ++ } ++ break; ++#endif + #ifdef HAVE_WAYLAND_PLATFORM + case _EGL_PLATFORM_WAYLAND: + if (dri2_dpy->wl_drm) +@@ -1036,7 +1048,8 @@ + * the ones from the gbm device. As such the gbm itself is responsible + * for the cleanup. + */ +- if (disp->Platform != _EGL_PLATFORM_DRM && dri2_dpy->driver_configs) { ++ if (disp->Platform != _EGL_PLATFORM_DRM && ++ disp->Platform != _EGL_PLATFORM_MIR && dri2_dpy->driver_configs) { + for (unsigned i = 0; dri2_dpy->driver_configs[i]; i++) + free((__DRIconfig *) dri2_dpy->driver_configs[i]); + free(dri2_dpy->driver_configs); +Index: mesa/src/egl/drivers/dri2/egl_dri2.h +=================================================================== +--- 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 */ + ++#ifdef HAVE_MIR_PLATFORM ++#include ++#endif ++ + #include "eglconfig.h" + #include "eglcontext.h" + #include "egldisplay.h" +@@ -227,6 +231,9 @@ + + bool is_render_node; + bool is_different_gpu; ++#ifdef HAVE_MIR_PLATFORM ++ MirMesaEGLNativeDisplay *mir_disp; ++#endif + }; + + struct dri2_egl_context +@@ -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) + struct { + #ifdef HAVE_WAYLAND_PLATFORM + struct wl_buffer *wl_buffer; +@@ -290,9 +297,13 @@ + void *data; + int data_size; + #endif +-#ifdef HAVE_DRM_PLATFORM ++#if HAVE_DRM_PLATFORM || defined(HAVE_MIR_PLATFORM) + struct gbm_bo *bo; + #endif ++#ifdef HAVE_MIR_PLATFORM ++ int fd; ++ int buffer_age; ++#endif + bool locked; + int age; + } color_buffers[4], *back, *current; +@@ -320,6 +331,10 @@ + #endif + int out_fence_fd; + EGLBoolean enable_out_fence; ++ ++#ifdef HAVE_MIR_PLATFORM ++ MirMesaEGLNativeSurface *mir_surf; ++#endif + }; + + struct dri2_egl_config +@@ -414,6 +429,9 @@ + EGLBoolean + dri2_initialize_surfaceless(_EGLDriver *drv, _EGLDisplay *disp); + ++EGLBoolean ++dri2_initialize_mir(_EGLDriver *drv, _EGLDisplay *disp); ++ + void + dri2_flush_drawable_for_swapbuffers(_EGLDisplay *disp, _EGLSurface *draw); + +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 2018-01-12 10:32:15.670526441 +1100 +@@ -0,0 +1,633 @@ ++/* ++ * Copyright © 2012 Canonical, Inc ++ * ++ * 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 (including the next ++ * paragraph) 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. ++ * ++ * Authors: ++ * Christopher James Halse Rogers ++ * Alexandros Frantzis ++ */ ++ ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include "egl_dri2.h" ++#include "egl_dri2_fallbacks.h" ++#include "loader.h" ++ ++static __DRIbuffer * ++dri2_get_buffers_with_format(__DRIdrawable * driDrawable, ++ int *width, int *height, ++ unsigned int *attachments, int count, ++ int *out_count, void *loaderPrivate) ++{ ++ struct dri2_egl_surface *dri2_surf = loaderPrivate; ++ struct dri2_egl_display *dri2_dpy = ++ dri2_egl_display(dri2_surf->base.Resource.Display); ++ int i; ++ ++ for (i = 0; i < 2*count; i+=2) { ++ assert(attachments[i] < __DRI_BUFFER_COUNT); ++ assert((i/2) < ARRAY_SIZE(dri2_surf->buffers)); ++ ++ 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->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->local_buffers[attachments[i]]) { ++ _eglError(EGL_BAD_ALLOC, "failed to allocate auxiliary buffer"); ++ return NULL; ++ } ++ } ++ ++ memcpy(&dri2_surf->buffers[i/2], ++ dri2_surf->local_buffers[attachments[i]], ++ sizeof(__DRIbuffer)); ++ } ++ ++ assert(dri2_surf->base.Type == EGL_PIXMAP_BIT || ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]); ++ ++ *out_count = i/2; ++ if (i == 0) ++ return NULL; ++ ++ *width = dri2_surf->base.Width; ++ *height = dri2_surf->base.Height; ++ ++ return dri2_surf->buffers; ++} ++ ++static __DRIbuffer * ++dri2_get_buffers(__DRIdrawable * driDrawable, ++ int *width, int *height, ++ unsigned int *attachments, int count, ++ int *out_count, void *loaderPrivate) ++{ ++ unsigned int *attachments_with_format; ++ __DRIbuffer *buffer; ++ const unsigned int format = 32; ++ int i; ++ ++ attachments_with_format = calloc(count * 2, sizeof(unsigned int)); ++ if (!attachments_with_format) { ++ *out_count = 0; ++ return NULL; ++ } ++ ++ for (i = 0; i < count; ++i) { ++ attachments_with_format[2*i] = attachments[i]; ++ attachments_with_format[2*i + 1] = format; ++ } ++ ++ buffer = ++ dri2_get_buffers_with_format(driDrawable, ++ width, height, ++ attachments_with_format, count, ++ out_count, loaderPrivate); ++ ++ free(attachments_with_format); ++ ++ return buffer; ++} ++ ++static int ++dri2_image_get_buffers(__DRIdrawable *driDrawable, ++ unsigned int format, ++ uint32_t *stamp, ++ void *loaderPrivate, ++ uint32_t buffer_mask, ++ struct __DRIimageList *buffers) ++{ ++ struct dri2_egl_surface *dri2_surf = loaderPrivate; ++ ++ if (buffer_mask & __DRI_IMAGE_BUFFER_BACK) { ++ if (!dri2_surf->back) ++ return 0; ++ ++ buffers->back = ((struct gbm_dri_bo *)dri2_surf->back->bo)->image; ++ buffers->image_mask = __DRI_IMAGE_BUFFER_BACK; ++ ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static void ++dri2_flush_front_buffer(__DRIdrawable * driDrawable, void *loaderPrivate) ++{ ++ (void) driDrawable; ++ ++ /* FIXME: Does EGL support front buffer rendering at all? */ ++ ++#if 0 ++ struct dri2_egl_surface *dri2_surf = loaderPrivate; ++ ++ dri2WaitGL(dri2_surf); ++#else ++ (void) loaderPrivate; ++#endif ++} ++ ++static struct gbm_bo *create_gbm_bo_from_buffer(struct gbm_device* gbm_dev, ++ MirBufferPackage *package) ++{ ++ struct gbm_import_fd_data data; ++ ++ data.fd = package->fd[0]; ++ data.width = package->width; ++ data.height = package->height; ++ data.format = GBM_FORMAT_ARGB8888; /* TODO: Use mir surface format */ ++ data.stride = package->stride; ++ ++ return gbm_bo_import(gbm_dev, GBM_BO_IMPORT_FD, &data, GBM_BO_USE_RENDERING); ++} ++ ++static ssize_t find_cached_buffer_with_fd(struct dri2_egl_surface *dri2_surf, ++ int fd) ++{ ++ ssize_t i; ++ ++ for (i = 0; i < ARRAY_SIZE(dri2_surf->color_buffers); i++) { ++ if (dri2_surf->color_buffers[i].fd == fd) ++ return i; ++ } ++ ++ return -1; ++} ++ ++static void cache_buffer(struct dri2_egl_surface *dri2_surf, size_t slot, ++ MirBufferPackage *buffer_package) ++{ ++ struct dri2_egl_display *dri2_dpy = ++ dri2_egl_display(dri2_surf->base.Resource.Display); ++ ++ if (dri2_surf->color_buffers[slot].bo != NULL) ++ gbm_bo_destroy(dri2_surf->color_buffers[slot].bo); ++ ++ dri2_surf->color_buffers[slot].bo = create_gbm_bo_from_buffer( ++ &dri2_dpy->gbm_dri->base, ++ buffer_package); ++ ++ dri2_surf->color_buffers[slot].fd = buffer_package->fd[0]; ++} ++ ++static size_t find_best_cache_slot(struct dri2_egl_surface *dri2_surf) ++{ ++ size_t i; ++ size_t start_slot = 0; ++ ++ /* ++ * If we have a back buffer, start searching after it to ensure ++ * we don't reuse the slot too soon. ++ */ ++ if (dri2_surf->back != NULL) { ++ start_slot = dri2_surf->back - dri2_surf->color_buffers; ++ start_slot = (start_slot + 1) % ARRAY_SIZE(dri2_surf->color_buffers); ++ } ++ ++ /* Try to find an empty slot */ ++ for (i = 0; i < ARRAY_SIZE(dri2_surf->color_buffers); i++) { ++ size_t slot = (start_slot + i) % ARRAY_SIZE(dri2_surf->color_buffers); ++ if (dri2_surf->color_buffers[slot].bo == NULL) ++ return slot; ++ } ++ ++ /* If we don't have an empty slot, use the start slot */ ++ return start_slot; ++} ++ ++static void update_cached_buffer_ages(struct dri2_egl_surface *dri2_surf, ++ size_t used_slot) ++{ ++ /* ++ * If 3 (Mir surfaces are triple buffered at most) other buffers have been ++ * used since a buffer was used, we probably won't need this buffer again. ++ */ ++ static const int destruction_age = 3; ++ size_t i; ++ ++ for (i = 0; i < ARRAY_SIZE(dri2_surf->color_buffers); i++) { ++ if (dri2_surf->color_buffers[i].bo != NULL) { ++ if (i == used_slot) { ++ dri2_surf->color_buffers[i].age = 0; ++ } ++ else { ++ ++dri2_surf->color_buffers[i].age; ++ if (dri2_surf->color_buffers[i].age == destruction_age) { ++ gbm_bo_destroy(dri2_surf->color_buffers[i].bo); ++ dri2_surf->color_buffers[i].bo = NULL; ++ dri2_surf->color_buffers[i].fd = -1; ++ } ++ } ++ } ++ } ++} ++ ++static void clear_cached_buffers(struct dri2_egl_surface *dri2_surf) ++{ ++ size_t i; ++ for (i = 0; i < ARRAY_SIZE(dri2_surf->color_buffers); i++) { ++ if (dri2_surf->color_buffers[i].bo != NULL) ++ gbm_bo_destroy(dri2_surf->color_buffers[i].bo); ++ dri2_surf->color_buffers[i].bo = NULL; ++ dri2_surf->color_buffers[i].fd = -1; ++ dri2_surf->color_buffers[i].age = 0; ++ } ++} ++ ++static EGLBoolean ++mir_advance_colour_buffer(struct dri2_egl_surface *dri2_surf) ++{ ++ MirBufferPackage buffer_package; ++ ssize_t buf_slot = -1; ++ ++ if(!dri2_surf->mir_surf->surface_advance_buffer(dri2_surf->mir_surf, &buffer_package)) ++ return EGL_FALSE; ++ ++ /* We expect no data items, and (for the moment) one PRIME fd */ ++ assert(buffer_package.data_items == 0); ++ assert(buffer_package.fd_items == 1); ++ ++ /* Mir ABIs prior to release 0.1.2 lacked width and height */ ++ if (buffer_package.width && buffer_package.height) { ++ dri2_surf->base.Width = buffer_package.width; ++ dri2_surf->base.Height = buffer_package.height; ++ } ++ ++ buf_slot = find_cached_buffer_with_fd(dri2_surf, buffer_package.fd[0]); ++ if (buf_slot != -1) { ++ /* ++ * If we get a new buffer with an fd of a previously cached buffer, ++ * replace the old buffer in the cache... ++ */ ++ if (buffer_package.age == 0) ++ cache_buffer(dri2_surf, buf_slot, &buffer_package); ++ /* ... otherwise just reuse the existing cached buffer */ ++ } ++ else { ++ /* We got a new buffer with an fd that's not in the cache, so add it */ ++ buf_slot = find_best_cache_slot(dri2_surf); ++ cache_buffer(dri2_surf, buf_slot, &buffer_package); ++ } ++ ++ update_cached_buffer_ages(dri2_surf, buf_slot); ++ ++ dri2_surf->back = &dri2_surf->color_buffers[buf_slot]; ++ dri2_surf->back->buffer_age = buffer_package.age; ++ 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; ++} ++ ++/** ++ * Called via eglCreateWindowSurface(), drv->API.CreateWindowSurface(). ++ */ ++static _EGLSurface * ++dri2_create_mir_window_surface(_EGLDriver *drv, _EGLDisplay *disp, ++ _EGLConfig *conf, EGLNativeWindowType window, ++ const EGLint *attrib_list) ++{ ++ struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); ++ struct dri2_egl_config *dri2_conf = dri2_egl_config(conf); ++ struct dri2_egl_surface *dri2_surf; ++ const __DRIconfig *config; ++ MirWindowParameters win_params; ++ ++ (void) drv; ++ ++ dri2_surf = calloc(1, sizeof *dri2_surf); ++ if (!dri2_surf) { ++ _eglError(EGL_BAD_ALLOC, "dri2_create_surface"); ++ return NULL; ++ } ++ ++ if (!_eglInitSurface(&dri2_surf->base, disp, EGL_WINDOW_BIT, conf, attrib_list)) ++ goto cleanup_surf; ++ ++ dri2_surf->mir_surf = window; ++ if (!dri2_surf->mir_surf->surface_get_parameters(dri2_surf->mir_surf, &win_params)) ++ goto cleanup_surf; ++ ++ dri2_surf->base.Width = win_params.width; ++ dri2_surf->base.Height = win_params.height; ++ ++ 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->local_buffers[__DRI_BUFFER_BACK_LEFT]->attachment = ++ __DRI_BUFFER_BACK_LEFT; ++ /* We only do ARGB 8888 for the moment */ ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->cpp = 4; ++ ++ clear_cached_buffers(dri2_surf); ++ ++ if(!mir_advance_colour_buffer(dri2_surf)) ++ goto cleanup_surf; ++ ++ config = dri2_get_dri_config(dri2_conf, EGL_WINDOW_BIT, ++ dri2_surf->base.GLColorspace); ++ ++ if (dri2_dpy->gbm_dri) { ++ struct gbm_dri_surface *surf = malloc(sizeof *surf); ++ ++ dri2_surf->gbm_surf = surf; ++ surf->base.gbm = &dri2_dpy->gbm_dri->base; ++ surf->base.width = dri2_surf->base.Width; ++ surf->base.height = dri2_surf->base.Height; ++ surf->base.format = GBM_FORMAT_ARGB8888; ++ surf->base.flags = GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING; ++ surf->dri_private = dri2_surf; ++ ++ dri2_surf->dri_drawable = ++ (*dri2_dpy->dri2->createNewDrawable) (dri2_dpy->dri_screen, ++ config, ++ dri2_surf->gbm_surf); ++ } ++ else { ++ dri2_surf->dri_drawable = ++ (*dri2_dpy->dri2->createNewDrawable) (dri2_dpy->dri_screen, ++ config, ++ dri2_surf); ++ } ++ ++ if (dri2_surf->dri_drawable == NULL) { ++ _eglError(EGL_BAD_ALLOC, "dri2->createNewDrawable"); ++ } ++ ++ return &dri2_surf->base; ++ ++cleanup_surf: ++ free(dri2_surf); ++ return NULL; ++} ++ ++static _EGLSurface * ++dri2_mir_create_pixmap_surface(_EGLDriver *drv, _EGLDisplay *disp, ++ _EGLConfig *conf, void *native_window, ++ const EGLint *attrib_list) ++{ ++ _eglError(EGL_BAD_PARAMETER, "cannot create EGL pixmap surfaces on mir"); ++ return NULL; ++} ++ ++ ++static EGLBoolean ++dri2_destroy_mir_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf) ++{ ++ struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); ++ struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); ++ int i; ++ ++ (void) drv; ++ ++ if (!_eglPutSurface(surf)) ++ return EGL_TRUE; ++ ++ clear_cached_buffers(dri2_surf); ++ ++ (*dri2_dpy->core->destroyDrawable)(dri2_surf->dri_drawable); ++ ++ for (i = 0; i < __DRI_BUFFER_COUNT; ++i) { ++ if (dri2_surf->local_buffers[i]) { ++ if ((i == __DRI_BUFFER_FRONT_LEFT) || ++ (i == __DRI_BUFFER_BACK_LEFT)) { ++ free(dri2_surf->local_buffers[i]); ++ } ++ else { ++ dri2_dpy->dri2->releaseBuffer(dri2_dpy->dri_screen, ++ dri2_surf->local_buffers[i]); ++ } ++ } ++ } ++ ++ free(dri2_surf->gbm_surf); ++ free(surf); ++ ++ return EGL_TRUE; ++} ++ ++/** ++ * Called via eglSwapInterval(), drv->API.SwapInterval(). ++ */ ++static EGLBoolean ++dri2_set_swap_interval(_EGLDriver *drv, _EGLDisplay *disp, ++ _EGLSurface *surf, EGLint interval) ++{ ++ struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); ++ if(!dri2_surf->mir_surf->surface_set_swapinterval(dri2_surf->mir_surf, interval)) ++ return EGL_FALSE; ++ return EGL_TRUE; ++} ++ ++/** ++ * Called via eglSwapBuffers(), drv->API.SwapBuffers(). ++ */ ++static EGLBoolean ++dri2_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw) ++{ ++ struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); ++ struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw); ++ ++ (*dri2_dpy->flush->flush)(dri2_surf->dri_drawable); ++ ++ int rc = mir_advance_colour_buffer(dri2_surf); ++ ++ (*dri2_dpy->flush->invalidate)(dri2_surf->dri_drawable); ++ ++ return rc; ++} ++ ++static int ++dri2_mir_authenticate(_EGLDisplay *disp, uint32_t id) ++{ ++ return 0; ++} ++ ++static _EGLImage * ++dri2_create_image_khr_pixmap(_EGLDisplay *disp, _EGLContext *ctx, ++ EGLClientBuffer buffer, const EGLint *attr_list) ++{ ++ struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); ++ struct gbm_dri_bo *dri_bo = gbm_dri_bo((struct gbm_bo *) buffer); ++ struct dri2_egl_image *dri2_img; ++ ++ dri2_img = malloc(sizeof *dri2_img); ++ if (!dri2_img) { ++ _eglError(EGL_BAD_ALLOC, "dri2_create_image_khr_pixmap"); ++ return NULL; ++ } ++ ++ _eglInitImage(&dri2_img->base, disp); ++ ++ dri2_img->dri_image = dri2_dpy->image->dupImage(dri_bo->image, dri2_img); ++ if (dri2_img->dri_image == NULL) { ++ free(dri2_img); ++ _eglError(EGL_BAD_ALLOC, "dri2_create_image_khr_pixmap"); ++ return NULL; ++ } ++ ++ return &dri2_img->base; ++} ++ ++static _EGLImage * ++dri2_mir_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp, ++ _EGLContext *ctx, EGLenum target, ++ EGLClientBuffer buffer, const EGLint *attr_list) ++{ ++ (void) drv; ++ ++ switch (target) { ++ case EGL_NATIVE_PIXMAP_KHR: ++ return dri2_create_image_khr_pixmap(disp, ctx, buffer, attr_list); ++ default: ++ return dri2_create_image_khr(drv, disp, ctx, target, buffer, attr_list); ++ } ++} ++ ++static EGLint ++dri2_mir_query_buffer_age(_EGLDriver *drv, _EGLDisplay *dpy, ++ _EGLSurface *surf) ++{ ++ struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); ++ if (dri2_surf->back) ++ { ++ return dri2_surf->back->buffer_age; ++ } ++ return 0; ++} ++ ++static struct dri2_egl_display_vtbl dri2_mir_display_vtbl = { ++ .authenticate = dri2_mir_authenticate, ++ .create_window_surface = dri2_create_mir_window_surface, ++ .create_pixmap_surface = dri2_mir_create_pixmap_surface, ++ .create_pbuffer_surface = dri2_fallback_create_pbuffer_surface, ++ .destroy_surface = dri2_destroy_mir_surface, ++ .create_image = dri2_mir_create_image_khr, ++ .swap_interval = dri2_set_swap_interval, ++ .swap_buffers = dri2_swap_buffers, ++ .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage, ++ .swap_buffers_region = dri2_fallback_swap_buffers_region, ++ .post_sub_buffer = dri2_fallback_post_sub_buffer, ++ .copy_buffers = dri2_fallback_copy_buffers, ++ .query_buffer_age = dri2_mir_query_buffer_age, ++ .create_wayland_buffer_from_image = dri2_fallback_create_wayland_buffer_from_image, ++ .get_sync_values = dri2_fallback_get_sync_values, ++ .get_dri_drawable = dri2_surface_get_dri_drawable, ++}; ++ ++EGLBoolean ++dri2_initialize_mir(_EGLDriver *drv, _EGLDisplay *disp) ++{ ++ struct dri2_egl_display *dri2_dpy; ++ struct gbm_device *gbm = NULL; ++ MirPlatformPackage platform; ++ const __DRIconfig *config; ++ static const unsigned int argb_masks[4] = ++ { 0xff0000, 0xff00, 0xff, 0xff000000 }; ++ uint32_t types; ++ int i; ++ ++ loader_set_logger(_eglLog); ++ ++ dri2_dpy = calloc(1, sizeof *dri2_dpy); ++ if (!dri2_dpy) ++ return _eglError(EGL_BAD_ALLOC, "eglInitialize"); ++ ++ disp->DriverData = (void *) dri2_dpy; ++ dri2_dpy->mir_disp = disp->PlatformDisplay; ++ dri2_dpy->mir_disp->display_get_platform(dri2_dpy->mir_disp, &platform); ++ dri2_dpy->fd = platform.fd[0]; ++ ++ /* ++ * At the moment, a pointer to gbm_device is the first and only ++ * information optionally contained in platform.data[]. ++ */ ++ if (platform.data_items == 0) { ++ dri2_dpy->own_device = 1; ++ dri2_dpy->fd = dup(dri2_dpy->fd); ++ gbm = gbm_create_device(dri2_dpy->fd); ++ if (gbm == NULL) ++ goto cleanup_dpy; ++ } ++ else { ++ gbm = *(struct gbm_device**)platform.data; ++ } ++ ++ if (gbm) { ++ struct gbm_dri_device *gbm_dri = gbm_dri_device(gbm); ++ ++ dri2_dpy->gbm_dri = gbm_dri; ++ dri2_dpy->driver_name = strdup(gbm_dri->driver_name); ++ dri2_dpy->dri_screen = gbm_dri->screen; ++ dri2_dpy->core = gbm_dri->core; ++ dri2_dpy->dri2 = gbm_dri->dri2; ++ dri2_dpy->image = gbm_dri->image; ++ dri2_dpy->flush = gbm_dri->flush; ++ dri2_dpy->driver_configs = gbm_dri->driver_configs; ++ ++ gbm_dri->lookup_image = dri2_lookup_egl_image; ++ gbm_dri->lookup_user_data = disp; ++ ++ gbm_dri->get_buffers = dri2_get_buffers; ++ gbm_dri->flush_front_buffer = dri2_flush_front_buffer; ++ gbm_dri->get_buffers_with_format = dri2_get_buffers_with_format; ++ gbm_dri->image_get_buffers = dri2_image_get_buffers; ++ ++ if (!dri2_setup_extensions(disp)) ++ goto cleanup_dpy; ++ dri2_setup_screen(disp); ++ } ++ ++ types = EGL_WINDOW_BIT; ++ for (i = 0; dri2_dpy->driver_configs[i]; i++) { ++ config = dri2_dpy->driver_configs[i]; ++ dri2_add_config(disp, config, i + 1, types, NULL, argb_masks); ++ } ++ ++ disp->Extensions.EXT_buffer_age = EGL_TRUE; ++ disp->Extensions.EXT_swap_buffers_with_damage = EGL_FALSE; ++ disp->Extensions.KHR_image_pixmap = EGL_TRUE; ++ ++ dri2_dpy->vtbl = &dri2_mir_display_vtbl; ++ ++ return EGL_TRUE; ++ ++ cleanup_dpy: ++ free(dri2_dpy); ++ ++ return EGL_FALSE; ++} +Index: mesa/src/egl/main/egldisplay.c +=================================================================== +--- 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 + #endif +- ++#ifdef HAVE_MIR_PLATFORM ++#include ++#include ++#endif + + /** + * Map --with-platforms names to platform types. +@@ -70,6 +73,7 @@ + { _EGL_PLATFORM_ANDROID, "android" }, + { _EGL_PLATFORM_HAIKU, "haiku" }, + { _EGL_PLATFORM_SURFACELESS, "surfaceless" }, ++ { _EGL_PLATFORM_MIR, "mir" } + }; + + +@@ -100,6 +104,47 @@ + return plat; + } + ++#ifdef HAVE_MIR_PLATFORM ++static EGLBoolean ++_mir_display_is_valid(EGLNativeDisplayType nativeDisplay) ++{ ++ typedef int (*MirEGLNativeDisplayIsValidFunc)(MirMesaEGLNativeDisplay*); ++ ++ void *lib; ++ MirEGLNativeDisplayIsValidFunc general_check; ++ MirEGLNativeDisplayIsValidFunc client_check; ++ MirEGLNativeDisplayIsValidFunc server_check; ++ EGLBoolean is_valid = EGL_FALSE; ++ ++ lib = dlopen(NULL, RTLD_LAZY); ++ if (lib == NULL) ++ return EGL_FALSE; ++ ++ general_check = (MirEGLNativeDisplayIsValidFunc) dlsym(lib, "mir_egl_mesa_display_is_valid"); ++ client_check = (MirEGLNativeDisplayIsValidFunc) dlsym(lib, "mir_client_mesa_egl_native_display_is_valid"); ++ server_check = (MirEGLNativeDisplayIsValidFunc) dlsym(lib, "mir_server_mesa_egl_native_display_is_valid"); ++ ++ if (general_check != NULL && ++ general_check((MirMesaEGLNativeDisplay *)nativeDisplay)) ++ { ++ is_valid = EGL_TRUE; ++ } ++ else if (client_check != NULL && ++ client_check((MirMesaEGLNativeDisplay *)nativeDisplay)) ++ { ++ is_valid = EGL_TRUE; ++ } ++ else if (server_check != NULL && ++ server_check((MirMesaEGLNativeDisplay *)nativeDisplay)) ++ { ++ is_valid = EGL_TRUE; ++ } ++ ++ dlclose(lib); ++ ++ return is_valid; ++} ++#endif + + /** + * Try detecting native platform with the help of native display characteristcs. +@@ -110,6 +155,11 @@ + if (nativeDisplay == EGL_DEFAULT_DISPLAY) + return _EGL_INVALID_PLATFORM; + ++#ifdef HAVE_MIR_PLATFORM ++ if (_mir_display_is_valid(nativeDisplay)) ++ return _EGL_PLATFORM_MIR; ++#endif ++ + if (_eglPointerIsDereferencable(nativeDisplay)) { + void *first_pointer = *(void **) nativeDisplay; + +@@ -141,14 +191,13 @@ + return _EGL_INVALID_PLATFORM; + } + +- + /** + * Return the native platform. It is the platform of the EGL native types. + */ + _EGLPlatformType + _eglGetNativePlatform(void *nativeDisplay) + { +- static _EGLPlatformType native_platform = _EGL_INVALID_PLATFORM; ++ _EGLPlatformType native_platform = _EGL_INVALID_PLATFORM; + _EGLPlatformType detected_platform = native_platform; + + if (detected_platform == _EGL_INVALID_PLATFORM) { +Index: mesa/src/egl/main/egldisplay.h +=================================================================== +--- 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, + _EGL_PLATFORM_SURFACELESS, ++ _EGL_PLATFORM_MIR, + + _EGL_NUM_PLATFORMS, + _EGL_INVALID_PLATFORM = -1 +Index: mesa/src/gallium/state_trackers/dri/dri2.c +=================================================================== +--- 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; +- whandle.handle = buf->name; + whandle.stride = buf->pitch; + whandle.offset = 0; +- if (screen->can_share_buffer) +- whandle.type = DRM_API_HANDLE_TYPE_SHARED; +- else ++ if (screen->can_share_buffer) { ++ if (buf->name != 0) { ++ whandle.type = DRM_API_HANDLE_TYPE_SHARED; ++ whandle.handle = buf->name; ++ } else { ++ whandle.type = DRM_API_HANDLE_TYPE_FD; ++ whandle.handle = buf->fd; ++ } ++ } else { + whandle.type = DRM_API_HANDLE_TYPE_KMS; ++ whandle.handle = buf->name; ++ } ++ + drawable->textures[statt] = + screen->base.screen->resource_from_handle(screen->base.screen, + &templ, &whandle, +Index: mesa/src/gbm/backends/dri/gbm_dri.c +=================================================================== +--- 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 = { +- .base = { __DRI_DRI2_LOADER, 3 }, ++ .base = { __DRI_DRI2_LOADER, 4 }, + + .getBuffers = dri_get_buffers, + .flushFrontBuffer = dri_flush_front_buffer, +Index: mesa/src/egl/Makefile.am +=================================================================== +--- 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 + ++if HAVE_PLATFORM_MIR ++AM_CFLAGS += -DHAVE_MIR_PLATFORM ++AM_CFLAGS += $(MIR_CFLAGS) ++dri2_backend_FILES += drivers/dri2/platform_mir.c ++endif ++ + AM_CFLAGS += \ + -I$(top_srcdir)/src/loader \ + -I$(top_builddir)/src/egl/drivers/dri2 \ --- mesa-17.3.3.orig/debian/patches/egl-platform-rs.patch +++ mesa-17.3.3/debian/patches/egl-platform-rs.patch @@ -0,0 +1,1185 @@ +Index: mesa/configure.ac +=================================================================== +--- 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 + ZLIB_REQUIRED=1.2.3 ++MIR_REQUIRED=0.26.2 + + dnl LLVM versions + LLVM_REQUIRED_GALLIUM=3.3.0 +@@ -1747,6 +1748,9 @@ + mir) + PKG_CHECK_MODULES([MIR], [mirclient mir-client-platform-mesa]) + ;; ++ rs) ++ PKG_CHECK_MODULES([RS], [mirclient >= $MIR_REQUIRED]) ++ ;; + *) + AC_MSG_ERROR([platform '$plat' does not exist]) + ;; +@@ -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') ++AM_CONDITIONAL(HAVE_PLATFORM_RS, echo "$platforms" | grep -q 'rs') + + dnl + dnl More DRI setup +Index: mesa/include/EGL/eglplatform.h +=================================================================== +--- 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; + ++#elif defined(RS_EGL_PLATFORM) ++ ++#include ++typedef MirEGLNativeDisplayType EGLNativeDisplayType; ++typedef void *EGLNativePixmapType; ++typedef MirEGLNativeWindowType EGLNativeWindowType; ++ + #elif defined(__unix__) || defined(__APPLE__) + + #if defined(MESA_EGL_NO_X11_HEADERS) +Index: mesa/src/egl/Makefile.am +=================================================================== +--- 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 + ++if HAVE_PLATFORM_RS ++AM_CFLAGS += -DHAVE_RS_PLATFORM ++AM_CFLAGS += $(RS_CFLAGS) ++libEGL_common_la_LIBADD += $(RS_LIBS) ++dri2_backend_FILES += drivers/dri2/platform_rs.c ++endif ++ + AM_CFLAGS += \ + -I$(top_srcdir)/src/loader \ + -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 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 ++#ifdef HAVE_RS_PLATFORM ++ case _EGL_PLATFORM_RS: ++ ret = dri2_initialize_rs(drv, disp); ++ break; ++#endif + default: + _eglLog(_EGL_WARNING, "No EGL platform enabled."); + return EGL_FALSE; +@@ -1011,6 +1016,13 @@ + } + break; + #endif ++#ifdef HAVE_RS_PLATFORM ++ case _EGL_PLATFORM_RS: ++ if (dri2_dpy->own_device) { ++ gbm_device_destroy(&dri2_dpy->gbm_dri->base); ++ } ++ break; ++#endif + #ifdef HAVE_MIR_PLATFORM + case _EGL_PLATFORM_MIR: + if (dri2_dpy->own_device) { +@@ -1049,7 +1061,9 @@ + * for the cleanup. + */ + if (disp->Platform != _EGL_PLATFORM_DRM && +- disp->Platform != _EGL_PLATFORM_MIR && dri2_dpy->driver_configs) { ++ disp->Platform != _EGL_PLATFORM_MIR && ++ disp->Platform != _EGL_PLATFORM_RS && ++ dri2_dpy->driver_configs) { + for (unsigned i = 0; dri2_dpy->driver_configs[i]; i++) + free((__DRIconfig *) dri2_dpy->driver_configs[i]); + free(dri2_dpy->driver_configs); +Index: mesa/src/egl/drivers/dri2/egl_dri2.h +=================================================================== +--- 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 + ++#ifdef HAVE_RS_PLATFORM ++#include ++#endif ++ + #include "eglconfig.h" + #include "eglcontext.h" + #include "egldisplay.h" +@@ -234,6 +238,11 @@ + #ifdef HAVE_MIR_PLATFORM + MirMesaEGLNativeDisplay *mir_disp; + #endif ++#ifdef HAVE_RS_PLATFORM ++ MirConnection* mir_conn; ++ pthread_mutex_t lock; ++ pthread_cond_t cv; ++#endif + }; + + struct dri2_egl_context +@@ -297,10 +306,10 @@ + void *data; + int data_size; + #endif +-#if HAVE_DRM_PLATFORM || defined(HAVE_MIR_PLATFORM) ++#if HAVE_DRM_PLATFORM || defined(HAVE_MIR_PLATFORM) || defined(HAVE_RS_PLATFORM) + struct gbm_bo *bo; + #endif +-#ifdef HAVE_MIR_PLATFORM ++#if defined(HAVE_MIR_PLATFORM) || defined(HAVE_RS_PLATFORM) + int fd; + int buffer_age; + #endif +@@ -325,6 +334,10 @@ + } color_buffers[3], *back; + #endif + ++#ifdef HAVE_RS_PLATFORM ++ void* sc; ++#endif ++ + #if defined(HAVE_SURFACELESS_PLATFORM) + __DRIimage *front; + unsigned int visual; +@@ -432,6 +445,9 @@ + EGLBoolean + dri2_initialize_mir(_EGLDriver *drv, _EGLDisplay *disp); + ++EGLBoolean ++dri2_initialize_rs(_EGLDriver *drv, _EGLDisplay *disp); ++ + void + dri2_flush_drawable_for_swapbuffers(_EGLDisplay *disp, _EGLSurface *draw); + +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 2018-01-12 10:34:39.477433388 +1100 +@@ -0,0 +1,964 @@ ++/* ++ * Copyright © 2016 Canonical, Inc ++ * ++ * 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 (including the next ++ * paragraph) 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. ++ * ++ * Authors: ++ * Cemil Azizoglu ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++ ++#include "egl_dri2.h" ++#include "egl_dri2_fallbacks.h" ++#include "loader.h" ++ ++#define MAX_BUFFERS (4) ++#define NUM_DEFAULT_BUFFERS (3) /* Can be at most MAX_BUFFERS */ ++ ++enum buffer_state ++{ ++ buffer_state_none = 0, ++ buffer_state_available, ++ buffer_state_acquired, ++ buffer_state_submitted, ++}; ++ ++typedef struct SwapChain ++{ ++ MirRenderSurface* surface; ++ MirPresentationChain* chain; ++ MirPixelFormat format; ++ uint32_t gbm_format; ++ unsigned int buffer_count; ++ MirBuffer* buffers[MAX_BUFFERS]; ++ enum buffer_state state[MAX_BUFFERS]; ++ uint32_t next_buffer_to_use; ++ pthread_mutex_t lock; ++ pthread_cond_t cv; ++ struct MirExtensionGbmBufferV2 const* gbm_buffer_ext; ++} SwapChain; ++ ++static uint32_t ++mir_format_to_gbm_format(MirPixelFormat format) ++{ ++ uint32_t gbm_pf; ++ ++ switch (format) ++ { ++ case mir_pixel_format_argb_8888: ++ gbm_pf = GBM_FORMAT_ARGB8888; ++ break; ++ case mir_pixel_format_xrgb_8888: ++ gbm_pf = GBM_FORMAT_XRGB8888; ++ break; ++ case mir_pixel_format_abgr_8888: ++ gbm_pf = GBM_FORMAT_ABGR8888; ++ break; ++ case mir_pixel_format_xbgr_8888: ++ gbm_pf = GBM_FORMAT_XBGR8888; ++ break; ++ case mir_pixel_format_rgb_565: ++ gbm_pf = GBM_FORMAT_RGB565; ++ break; ++ default: ++ gbm_pf = UINT32_MAX; ++ break; ++ } ++ ++ return gbm_pf; ++} ++ ++static int ++get_format_bpp(MirPixelFormat format) ++{ ++ int bpp; ++ ++ switch (format) { ++ case mir_pixel_format_argb_8888: ++ case mir_pixel_format_xrgb_8888: ++ case mir_pixel_format_abgr_8888: ++ case mir_pixel_format_xbgr_8888: ++ bpp = 4; ++ break; ++ case mir_pixel_format_rgb_565: ++ bpp = 2; ++ break; ++ default: ++ bpp = 0; ++ break; ++ } ++ ++ return bpp; ++} ++ ++static struct gbm_bo * ++create_gbm_bo_from_buffer(struct gbm_device* gbm_dev, int fd, int width, int height, uint32_t stride, uint32_t format) ++{ ++ struct gbm_import_fd_data data; ++ ++ _eglLog(_EGL_INFO, "importing fd=%d", fd); ++ data.fd = fd; ++ data.width = width; ++ data.height = height; ++ data.format = format; ++ data.stride = stride; ++ ++ return gbm_bo_import(gbm_dev, GBM_BO_IMPORT_FD, &data, GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING); ++} ++ ++static void ++clear_cached_buffers(struct dri2_egl_surface *dri2_surf) ++{ ++ size_t i; ++ for (i = 0; i < ARRAY_SIZE(dri2_surf->color_buffers); i++) { ++ if (dri2_surf->color_buffers[i].bo != NULL) ++ gbm_bo_destroy(dri2_surf->color_buffers[i].bo); ++ dri2_surf->color_buffers[i].bo = NULL; ++ dri2_surf->color_buffers[i].fd = -1; ++ dri2_surf->color_buffers[i].age = 0; ++ } ++} ++ ++static ssize_t ++find_cached_buffer_with_fd(struct dri2_egl_surface *dri2_surf, int fd) ++{ ++ ssize_t i; ++ ++ for (i = 0; i < ARRAY_SIZE(dri2_surf->color_buffers); i++) { ++ if (dri2_surf->color_buffers[i].fd == fd) ++ return i; ++ } ++ ++ return -1; ++} ++ ++static void ++cache_buffer(struct dri2_egl_surface *dri2_surf, size_t slot, ++ int fd, int width, int height, uint32_t stride) ++{ ++ SwapChain* sc = (SwapChain *)dri2_surf->sc; ++ struct dri2_egl_display *dri2_dpy = ++ dri2_egl_display(dri2_surf->base.Resource.Display); ++ ++ if (dri2_surf->color_buffers[slot].bo != NULL) ++ gbm_bo_destroy(dri2_surf->color_buffers[slot].bo); ++ ++ dri2_surf->color_buffers[slot].bo = create_gbm_bo_from_buffer( ++ &dri2_dpy->gbm_dri->base, ++ fd, width, height, stride, ++ sc->gbm_format); ++ ++ _eglLog(_EGL_INFO, " imported bo : %p format = %d (GBM_FORMAT_ARGB8888=%d)", ++ (void*)dri2_surf->color_buffers[slot].bo, gbm_bo_get_format(dri2_surf->color_buffers[slot].bo), GBM_FORMAT_ARGB8888); ++ ++ dri2_surf->color_buffers[slot].fd = fd; ++} ++ ++static size_t ++find_best_cache_slot(struct dri2_egl_surface *dri2_surf) ++{ ++ size_t i; ++ size_t start_slot = 0; ++ ++ /* ++ * If we have a back buffer, start searching after it to ensure ++ * we don't reuse the slot too soon. ++ */ ++ if (dri2_surf->back != NULL) { ++ start_slot = dri2_surf->back - dri2_surf->color_buffers; ++ start_slot = (start_slot + 1) % ARRAY_SIZE(dri2_surf->color_buffers); ++ } ++ ++ /* Try to find an empty slot */ ++ for (i = 0; i < ARRAY_SIZE(dri2_surf->color_buffers); i++) { ++ size_t slot = (start_slot + i) % ARRAY_SIZE(dri2_surf->color_buffers); ++ if (dri2_surf->color_buffers[slot].bo == NULL) ++ return slot; ++ } ++ ++ /* If we don't have an empty slot, use the start slot */ ++ return start_slot; ++} ++ ++static void ++update_cached_buffer_ages(struct dri2_egl_surface *dri2_surf, size_t used_slot) ++{ ++ /* ++ * If 3 (Mir surfaces are triple buffered at most) other buffers have been ++ * used since a buffer was used, we probably won't need this buffer again. ++ */ ++ static const int destruction_age = 3; ++ size_t i; ++ ++ for (i = 0; i < ARRAY_SIZE(dri2_surf->color_buffers); i++) { ++ if (dri2_surf->color_buffers[i].bo != NULL) { ++ if (i == used_slot) { ++ dri2_surf->color_buffers[i].age = 0; ++ } ++ else { ++ ++dri2_surf->color_buffers[i].age; ++ if (dri2_surf->color_buffers[i].age == destruction_age) { ++ gbm_bo_destroy(dri2_surf->color_buffers[i].bo); ++ dri2_surf->color_buffers[i].bo = NULL; ++ dri2_surf->color_buffers[i].fd = -1; ++ } ++ } ++ } ++ } ++} ++ ++static int ++dri2_rs_authenticate(_EGLDisplay *disp, uint32_t id) ++{ ++ return 0; ++} ++ ++static void ++buffer_submit_callback(MirBuffer* buffer, void* context) ++{ ++ SwapChain* sc = (SwapChain*) context; ++ ++// _eglLog(_EGL_DEBUG, "Buffer %p returned from server", (void*) buffer); ++ for (uint32_t i = 0; i < sc->buffer_count; i++) ++ if (sc->buffers[i] == buffer) ++ { ++ pthread_mutex_lock(&sc->lock); ++ assert(sc->state[i] == buffer_state_submitted); ++ sc->state[i] = buffer_state_available; ++ pthread_mutex_unlock(&sc->lock); ++ pthread_cond_broadcast(&sc->cv); ++ } ++} ++ ++static EGLBoolean ++mir_submit_buffer(struct dri2_egl_surface *dri2_surf) ++{ ++ SwapChain* sc = (SwapChain *)dri2_surf->sc; ++ ++ for (uint32_t i = 0; i < sc->buffer_count; i++) ++ { ++ if (sc->state[i] == buffer_state_acquired) ++ { ++ int buffer_fd = sc->gbm_buffer_ext->fd(sc->buffers[i]); ++ 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; ++ mir_presentation_chain_submit_buffer(sc->chain, ++ sc->buffers[i], ++ buffer_submit_callback, ++ sc); ++ break; ++ } ++ } ++ } ++ ++ return EGL_TRUE; ++} ++ ++static EGLBoolean ++mir_acquire_buffer(struct dri2_egl_display *dri2_dpy, struct dri2_egl_surface *dri2_surf) ++{ ++ SwapChain* sc = (SwapChain *)dri2_surf->sc; ++ MirBuffer* buffer = NULL; ++ unsigned int buffer_width, buffer_height; ++ bool found = false; ++ ssize_t buf_slot = -1; ++ ++ if (!sc) ++ return EGL_TRUE; ++ ++ uint32_t wrap = (sc->next_buffer_to_use-1)%(sc->buffer_count); ++ do ++ { ++ uint32_t const next_buffer = sc->next_buffer_to_use; ++ if (sc->state[next_buffer] == buffer_state_available) ++ { ++ int rs_width, rs_height; ++ ++ found = true; ++ sc->state[next_buffer] = buffer_state_acquired; ++ buffer = sc->buffers[next_buffer]; ++ buffer_width = mir_buffer_get_width(buffer); ++ buffer_height = mir_buffer_get_height(buffer); ++ ++ // _eglLog(_EGL_DEBUG, "..acquired buffer %p with fd = %d", sc->buffers[sc->next_buffer_to_use], mbp->fd[0]); ++ mir_render_surface_get_size(sc->surface, &rs_width, &rs_height); ++ if ((rs_width != buffer_width) || (rs_height != buffer_height)) ++ { ++ // release the old buffer ++ mir_buffer_release(buffer); ++ // .. replace it with a new buffer ++ sc->buffers[next_buffer] = ++ sc->gbm_buffer_ext->allocate_buffer_gbm_sync( ++ dri2_dpy->mir_conn, ++ rs_width, rs_height, ++ sc->gbm_format, ++ GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING); ++ ++ buffer = sc->buffers[next_buffer]; ++ buffer_width = rs_width; ++ buffer_height = rs_height; ++ } ++ } ++ else ++ { ++ if (next_buffer == wrap) ++ { ++ pthread_mutex_lock(&sc->lock); ++ pthread_cond_wait(&sc->cv, &sc->lock); ++ pthread_mutex_unlock(&sc->lock); ++ } ++ } ++ ++ sc->next_buffer_to_use = (next_buffer+1)%(sc->buffer_count); ++ } ++ while(!found); ++ ++ if (buffer_width && buffer_height) { ++ dri2_surf->base.Width = buffer_width; ++ dri2_surf->base.Height = buffer_height; ++ } ++ ++ int buffer_fd = sc->gbm_buffer_ext->fd(buffer); ++ assert(buffer_fd > 0); ++ unsigned int buffer_age = sc->gbm_buffer_ext->age(buffer); ++ uint32_t buffer_stride = sc->gbm_buffer_ext->stride(buffer); ++ buf_slot = find_cached_buffer_with_fd(dri2_surf, buffer_fd); ++ ++ if (buf_slot != -1) { ++ /* ++ * If we get a new buffer with an fd of a previously cached buffer, ++ * replace the old buffer in the cache... ++ */ ++ if (buffer_age == 0) ++ cache_buffer(dri2_surf, buf_slot, buffer_fd, buffer_width, buffer_height, buffer_stride); ++ /* ... otherwise just reuse the existing cached buffer */ ++ } ++ else { ++ /* We got a new buffer with an fd that's not in the cache, so add it */ ++ buf_slot = find_best_cache_slot(dri2_surf); ++ cache_buffer(dri2_surf, buf_slot, buffer_fd, buffer_width, buffer_height, buffer_stride); ++ } ++ ++ update_cached_buffer_ages(dri2_surf, buf_slot); ++ ++ dri2_surf->back = &dri2_surf->color_buffers[buf_slot]; ++ dri2_surf->back->buffer_age = buffer_age; ++ 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; ++} ++ ++static _EGLSurface * ++dri2_rs_create_window_surface(_EGLDriver *drv, _EGLDisplay *disp, ++ _EGLConfig *conf, EGLNativeWindowType window, ++ const EGLint *attrib_list) ++{ ++ struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); ++ struct dri2_egl_config *dri2_conf = dri2_egl_config(conf); ++ struct dri2_egl_surface *dri2_surf; ++ const __DRIconfig *config; ++ MirRenderSurface* surface = window; ++ SwapChain *sc = calloc(1, sizeof(SwapChain)); ++ int width = 0, height = 0; ++ uint32_t num_buffers = 0; ++ ++ if (!mir_render_surface_is_valid(surface)) ++ { ++ _eglError(EGL_BAD_NATIVE_WINDOW, "dri2_rs_create_window_surface: surface is bad"); ++ return NULL; ++ } ++ ++ sc->surface = surface; ++ sc->format = dri2_conf->base.NativeVisualID; ++ _eglLog(_EGL_INFO, "Mir pixel format requested : %d", sc->format); ++ sc->gbm_format = mir_format_to_gbm_format(sc->format); ++ ++ if (sc->gbm_format == UINT32_MAX) ++ { ++ _eglError(EGL_BAD_NATIVE_WINDOW, "dri2_rs_create_window_surface: bad format"); ++ return NULL; ++ } ++ ++ mir_render_surface_get_size(surface, &width, &height); ++ _eglLog(_EGL_INFO, "render surface of size : %dx%d", width, height); ++ ++ sc->chain = mir_render_surface_get_presentation_chain(surface); ++ if (!mir_presentation_chain_is_valid(sc->chain)) ++ { ++ _eglError(EGL_BAD_NATIVE_WINDOW, "dri2_rs_create_window_surface: pc is bad"); ++ return NULL; ++ } ++ ++ pthread_mutex_init(&sc->lock, NULL); ++ pthread_cond_init(&sc->cv, NULL); ++ ++ char* str_num = getenv("MIR_EGL_CLIENT_BUFFERS"); ++ if (str_num) ++ num_buffers = atoi(str_num); ++ if ((num_buffers < 2) || (num_buffers > MAX_BUFFERS)) ++ num_buffers = NUM_DEFAULT_BUFFERS; ++ ++ _eglLog(_EGL_INFO, "Allocating %d buffers", num_buffers); ++ sc->gbm_buffer_ext = mir_extension_gbm_buffer_v2(dri2_dpy->mir_conn); ++ assert(sc->gbm_buffer_ext); ++ assert(sc->gbm_buffer_ext->allocate_buffer_gbm_sync); ++ assert(sc->gbm_buffer_ext->fd); ++ assert(sc->gbm_buffer_ext->stride); ++ assert(sc->gbm_buffer_ext->age); ++ ++ for (unsigned int i = 0; i < num_buffers; i++) ++ { ++ sc->buffers[i] = ++ sc->gbm_buffer_ext->allocate_buffer_gbm_sync(dri2_dpy->mir_conn, ++ width, height, ++ sc->gbm_format, ++ GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING); ++ assert(sc->state[i] == buffer_state_none); ++ sc->state[i] = buffer_state_available; ++ sc->buffer_count++; ++ } ++ ++ _eglLog(_EGL_INFO, "Presentation chain : %p", sc->chain); ++ _eglLog(_EGL_INFO, "\tcontains %d buffers", sc->buffer_count); ++ for (uint32_t i=0; ibuffer_count; i++) { ++ _eglLog(_EGL_INFO, "Buffer #%d %dx%d: %p", ++ i, ++ mir_buffer_get_width(sc->buffers[i]), ++ mir_buffer_get_height(sc->buffers[i]), ++ sc->buffers[i]); ++ } ++ ++ dri2_surf = calloc(1, sizeof *dri2_surf); ++ if (!dri2_surf) { ++ _eglError(EGL_BAD_ALLOC, "dri2_rs_create_window_surface"); ++ return NULL; ++ } ++ ++ if (!_eglInitSurface(&dri2_surf->base, disp, EGL_WINDOW_BIT, conf, attrib_list)) ++ goto cleanup_surf; ++ ++ dri2_surf->sc = sc; ++ ++ dri2_surf->base.Width = width; ++ dri2_surf->base.Height = height; ++ ++ 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->local_buffers[__DRI_BUFFER_BACK_LEFT]->attachment = ++ __DRI_BUFFER_BACK_LEFT; ++ ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]->cpp = get_format_bpp(sc->format); ++ ++ clear_cached_buffers(dri2_surf); ++ ++ if(!mir_acquire_buffer(dri2_dpy, dri2_surf)) ++ goto cleanup_surf; ++ ++ config = dri2_get_dri_config(dri2_conf, EGL_WINDOW_BIT, ++ dri2_surf->base.GLColorspace); ++ ++ if (dri2_dpy->gbm_dri) { ++ struct gbm_dri_surface *surf = malloc(sizeof *surf); ++ ++ dri2_surf->gbm_surf = surf; ++ surf->base.gbm = &dri2_dpy->gbm_dri->base; ++ surf->base.width = dri2_surf->base.Width; ++ surf->base.height = dri2_surf->base.Height; ++ surf->base.format = sc->gbm_format; ++ surf->base.flags = GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING; ++ surf->dri_private = dri2_surf; ++ ++ dri2_surf->dri_drawable = ++ (*dri2_dpy->dri2->createNewDrawable) (dri2_dpy->dri_screen, ++ config, ++ dri2_surf->gbm_surf); ++ } ++ else { ++ dri2_surf->dri_drawable = ++ (*dri2_dpy->dri2->createNewDrawable) (dri2_dpy->dri_screen, ++ config, ++ dri2_surf); ++ } ++ ++ if (dri2_surf->dri_drawable == NULL) { ++ _eglError(EGL_BAD_ALLOC, "dri2->createNewDrawable"); ++ } ++ ++ return &dri2_surf->base; ++ ++cleanup_surf: ++ free(dri2_surf); ++ return NULL; ++} ++ ++static _EGLSurface * ++dri2_rs_create_pixmap_surface(_EGLDriver *drv, _EGLDisplay *disp, ++ _EGLConfig *conf, void *native_window, ++ const EGLint *attrib_list) ++{ ++ _eglError(EGL_BAD_PARAMETER, "EGL pixmap surfaces are unsupported on Mir (RS)"); ++ return NULL; ++} ++ ++static EGLBoolean ++dri2_rs_destroy_surface(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf) ++{ ++ struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); ++ struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); ++ int i; ++ ++ (void) drv; ++ ++ if (!_eglPutSurface(surf)) ++ return EGL_TRUE; ++ ++ clear_cached_buffers(dri2_surf); ++ ++ (*dri2_dpy->core->destroyDrawable)(dri2_surf->dri_drawable); ++ ++ for (i = 0; i < __DRI_BUFFER_COUNT; ++i) { ++ if (dri2_surf->local_buffers[i]) { ++ if ((i == __DRI_BUFFER_FRONT_LEFT) || ++ (i == __DRI_BUFFER_BACK_LEFT)) { ++ free(dri2_surf->local_buffers[i]); ++ } ++ else { ++ dri2_dpy->dri2->releaseBuffer(dri2_dpy->dri_screen, ++ dri2_surf->local_buffers[i]); ++ } ++ } ++ } ++ ++ free(dri2_surf->gbm_surf); ++ ++ SwapChain *sc = (SwapChain *)dri2_surf->sc; ++ dri2_surf->sc = NULL; ++ ++ bool wait_for_buffers; ++ do ++ { ++ sleep(0); ++ wait_for_buffers = false; ++ ++ for (uint32_t i = 0; i < sc->buffer_count; i++) ++ { ++ if (sc->state[i] > buffer_state_available) ++ wait_for_buffers = true; ++ } ++ } while(wait_for_buffers); ++ ++ for (uint32_t i = 0; i < sc->buffer_count; i++) { ++ if(sc->buffers[i]) ++ { ++ mir_buffer_release(sc->buffers[i]); ++ sc->buffers[i] = NULL; ++ } ++ } ++ ++ pthread_mutex_destroy(&sc->lock); ++ pthread_cond_destroy(&sc->cv); ++ ++ free(sc); ++ free(surf); ++ ++ return EGL_TRUE; ++} ++ ++static _EGLImage * ++dri2_rs_create_image_khr(_EGLDriver *drv, _EGLDisplay *disp, ++ _EGLContext *ctx, EGLenum target, ++ EGLClientBuffer buffer, const EGLint *attr_list) ++{ ++ (void) drv; ++ ++ switch (target) { ++ case EGL_NATIVE_PIXMAP_KHR: ++ _eglError(EGL_BAD_PARAMETER, "Mir has no native pixmaps"); ++ return NULL; ++ default: ++ return dri2_create_image_khr(drv, disp, ctx, target, buffer, attr_list); ++ } ++} ++ ++static EGLBoolean ++dri2_rs_swap_interval(_EGLDriver *drv, _EGLDisplay *disp, ++ _EGLSurface *surf, EGLint interval) ++{ ++ struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); ++ SwapChain* sc = (SwapChain *)dri2_surf->sc; ++ MirPresentationChain* chain = sc->chain; ++ MirPresentMode mode; ++ ++ switch (interval) { ++ case 0: ++ mode = mir_present_mode_mailbox; ++ break; ++ case 1: ++ mode = mir_present_mode_fifo; ++ break; ++ default: ++ _eglError(EGL_BAD_PARAMETER, "Mir only supports swap interval 0 and 1"); ++ return EGL_FALSE; ++ } ++ ++ mir_presentation_chain_set_mode(chain, mode); ++ return EGL_TRUE; ++} ++ ++static EGLBoolean ++dri2_rs_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw) ++{ ++ struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); ++ struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw); ++ int rc; ++ ++ (*dri2_dpy->flush->flush)(dri2_surf->dri_drawable); ++ ++ rc = mir_submit_buffer(dri2_surf); ++ ++ if (rc) ++ rc = mir_acquire_buffer(dri2_dpy, dri2_surf); ++ ++ (*dri2_dpy->flush->invalidate)(dri2_surf->dri_drawable); ++ ++ return rc; ++} ++ ++static EGLint ++dri2_rs_query_buffer_age(_EGLDriver *drv, _EGLDisplay *dpy, ++ _EGLSurface *surf) ++{ ++ struct dri2_egl_surface *dri2_surf = dri2_egl_surface(surf); ++ if (dri2_surf->back) ++ { ++ return dri2_surf->back->buffer_age; ++ } ++ return 0; ++} ++ ++static __DRIbuffer* ++dri2_rs_get_buffers_with_format(__DRIdrawable *driDrawable, ++ int *width, ++ int *height, ++ unsigned int *attachments, ++ int count, ++ int *out_count, ++ void *data) ++{ ++ struct dri2_egl_surface *dri2_surf = data; ++ struct dri2_egl_display *dri2_dpy = ++ dri2_egl_display(dri2_surf->base.Resource.Display); ++ int i; ++ ++ for (i = 0; i < 2*count; i+=2) { ++ assert(attachments[i] < __DRI_BUFFER_COUNT); ++ assert((i/2) < ARRAY_SIZE(dri2_surf->buffers)); ++ ++ 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->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->local_buffers[attachments[i]]) { ++ _eglError(EGL_BAD_ALLOC, "Failed to allocate auxiliary buffer"); ++ return NULL; ++ } ++ } ++ ++ memcpy(&dri2_surf->buffers[(i/2)], ++ dri2_surf->local_buffers[attachments[i]], ++ sizeof(__DRIbuffer)); ++ } ++ ++ assert(dri2_surf->base.Type == EGL_PIXMAP_BIT || ++ dri2_surf->local_buffers[__DRI_BUFFER_BACK_LEFT]); ++ ++ *out_count = i/2; ++ if (i == 0) ++ return NULL; ++ ++ *width = dri2_surf->base.Width; ++ *height = dri2_surf->base.Height; ++ ++ return dri2_surf->buffers; ++} ++ ++static __DRIbuffer* ++dri2_rs_get_buffers(__DRIdrawable *driDrawable, ++ int *width, ++ int *height, ++ unsigned int *attachments, ++ int count, ++ int *out_count, ++ void *data) ++{ ++ unsigned int *attachments_with_format; ++ __DRIbuffer *buffer; ++ const unsigned int format = 32; ++ int i; ++ ++ attachments_with_format = calloc(count * 2, sizeof(unsigned int)); ++ if (!attachments_with_format) { ++ *out_count = 0; ++ return NULL; ++ } ++ ++ for (i = 0; i < count; ++i) { ++ attachments_with_format[2*i] = attachments[i]; ++ attachments_with_format[2*i + 1] = format; ++ } ++ ++ buffer = ++ dri2_rs_get_buffers_with_format(driDrawable, ++ width, height, ++ attachments_with_format, count, ++ out_count, data); ++ ++ free(attachments_with_format); ++ ++ return buffer; ++} ++ ++static void ++dri2_rs_flush_front_buffer(__DRIdrawable *driDrawable, void *data) ++{ ++ (void) driDrawable; ++ ++ /* FIXME: Does EGL support front buffer rendering at all? */ ++ ++#if 0 ++ struct dri2_egl_surface *dri2_surf = data; ++ ++ dri2WaitGL(dri2_surf); ++#else ++ (void) data; ++#endif ++} ++ ++static int ++dri2_rs_image_get_buffers(__DRIdrawable *driDrawable, ++ unsigned int format, ++ uint32_t *stamp, ++ void *loaderPrivate, ++ uint32_t buffer_mask, ++ struct __DRIimageList *buffers) ++{ ++ struct dri2_egl_surface *dri2_surf = loaderPrivate; ++ ++ if (buffer_mask & __DRI_IMAGE_BUFFER_BACK) { ++ if (!dri2_surf->back) ++ return 0; ++ ++ buffers->back = ((struct gbm_dri_bo *)dri2_surf->back->bo)->image; ++ buffers->image_mask = __DRI_IMAGE_BUFFER_BACK; ++ ++ return 1; ++ } ++ ++ return 0; ++} ++ ++static struct dri2_egl_display_vtbl dri2_rs_display_vtbl = { ++ .authenticate = dri2_rs_authenticate, ++ .create_window_surface = dri2_rs_create_window_surface, ++ .create_pixmap_surface = dri2_rs_create_pixmap_surface, ++ .create_pbuffer_surface = dri2_fallback_create_pbuffer_surface, ++ .destroy_surface = dri2_rs_destroy_surface, ++ .create_image = dri2_rs_create_image_khr, ++ .swap_interval = dri2_rs_swap_interval, ++ .swap_buffers = dri2_rs_swap_buffers, ++ .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage, ++ .swap_buffers_region = dri2_fallback_swap_buffers_region, ++ .post_sub_buffer = dri2_fallback_post_sub_buffer, ++ .copy_buffers = dri2_fallback_copy_buffers, ++ .query_buffer_age = dri2_rs_query_buffer_age, ++ .create_wayland_buffer_from_image = dri2_fallback_create_wayland_buffer_from_image, ++ .get_sync_values = dri2_fallback_get_sync_values, ++ .get_dri_drawable = dri2_surface_get_dri_drawable, ++}; ++ ++static void set_auth_fd(int auth_fd, void* context) ++{ ++ struct dri2_egl_display *dri2_dpy = context; ++ int dup_fd = dup(auth_fd); ++ _eglLog(_EGL_INFO, "Initial fd=%d with dup=%d", auth_fd, dup_fd); ++ ++ pthread_mutex_lock(&dri2_dpy->lock); ++ dri2_dpy->fd = dup_fd; ++ pthread_mutex_unlock(&dri2_dpy->lock); ++ pthread_cond_broadcast(&dri2_dpy->cv); ++} ++ ++static EGLBoolean ++mir_add_configs_for_visuals(_EGLDriver *drv, _EGLDisplay *dpy) ++{ ++ struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy); ++ static const struct { ++ int format; ++ unsigned int rgba_masks[4]; ++ } visuals[] = { ++ { mir_pixel_format_rgb_565, { 0xf800, 0x7e0, 0x1f, 0x0 } }, ++ { mir_pixel_format_argb_8888, { 0xff0000, 0xff00, 0xff, 0xff000000 } }, ++ { mir_pixel_format_abgr_8888, { 0xff, 0xff00, 0xff0000, 0xff000000 } }, ++ { mir_pixel_format_xbgr_8888, { 0xff, 0xff00, 0xff0000, 0x0 } }, ++ { mir_pixel_format_xrgb_8888, { 0xff0000, 0xff00, 0xff, 0x0 } }, ++ }; ++ EGLint config_attrs[] = { ++ EGL_NATIVE_VISUAL_ID, 0, ++ EGL_NATIVE_VISUAL_TYPE, 0, ++ EGL_NONE ++ }; ++ unsigned int format_count[ARRAY_SIZE(visuals)] = { 0 }; ++ int count, i, j; ++ ++ count = 0; ++ for (i = 0; dri2_dpy->driver_configs[i]; i++) { ++ const EGLint surface_type = EGL_WINDOW_BIT | EGL_PBUFFER_BIT; ++ struct dri2_egl_config *dri2_conf; ++ ++ for (j = 0; j < ARRAY_SIZE(visuals); j++) { ++ config_attrs[1] = visuals[j].format; ++ config_attrs[3] = visuals[j].format; ++ ++ dri2_conf = dri2_add_config(dpy, dri2_dpy->driver_configs[i], ++ count + 1, surface_type, config_attrs, visuals[j].rgba_masks); ++ if (dri2_conf) { ++ _eglLog(_EGL_INFO, "Added config for %d", visuals[j].format); ++ count++; ++ format_count[j]++; ++ } ++ } ++ } ++ ++ for (i = 0; i < ARRAY_SIZE(format_count); i++) { ++ if (!format_count[i]) { ++ _eglLog(_EGL_DEBUG, "No DRI config supports mir format %d", ++ visuals[i].format); ++ } ++ } ++ ++ return (count != 0); ++} ++ ++EGLBoolean ++dri2_initialize_rs(_EGLDriver *drv, _EGLDisplay *disp) ++{ ++ struct dri2_egl_display *dri2_dpy; ++ struct gbm_device *gbm = NULL; ++ ++ loader_set_logger(_eglLog); ++ ++ dri2_dpy = calloc(1, sizeof *dri2_dpy); ++ if (!dri2_dpy) ++ return _eglError(EGL_BAD_ALLOC, "eglInitialize"); ++ ++ disp->DriverData = (void *) dri2_dpy; ++ dri2_dpy->mir_conn = disp->PlatformDisplay; ++ ++ pthread_mutex_init(&dri2_dpy->lock, NULL); ++ pthread_cond_init(&dri2_dpy->cv, NULL); ++ ++ MirExtensionMesaDRMAuthV1 const* ext = ++ mir_extension_mesa_drm_auth_v1(dri2_dpy->mir_conn); ++ if (!ext) ++ goto cleanup_dpy; ++ ext->drm_auth_fd(dri2_dpy->mir_conn, set_auth_fd, dri2_dpy); ++ ++ pthread_mutex_lock(&dri2_dpy->lock); ++ while (!dri2_dpy->fd) ++ pthread_cond_wait(&dri2_dpy->cv, &dri2_dpy->lock); ++ pthread_mutex_unlock(&dri2_dpy->lock); ++ ++ pthread_mutex_destroy(&dri2_dpy->lock); ++ pthread_cond_destroy(&dri2_dpy->cv); ++ ++ dri2_dpy->own_device = 1; ++ gbm = gbm_create_device(dri2_dpy->fd); ++ if (gbm == NULL) ++ goto cleanup_dpy; ++ ++ if (gbm) { ++ struct gbm_dri_device *gbm_dri = gbm_dri_device(gbm); ++ ++ dri2_dpy->gbm_dri = gbm_dri; ++ dri2_dpy->driver_name = strdup(gbm_dri->driver_name); ++ dri2_dpy->dri_screen = gbm_dri->screen; ++ dri2_dpy->core = gbm_dri->core; ++ dri2_dpy->dri2 = gbm_dri->dri2; ++ dri2_dpy->image = gbm_dri->image; ++ dri2_dpy->flush = gbm_dri->flush; ++ dri2_dpy->driver_configs = gbm_dri->driver_configs; ++ ++ gbm_dri->lookup_image = dri2_lookup_egl_image; ++ gbm_dri->lookup_user_data = disp; ++ ++ gbm_dri->get_buffers = dri2_rs_get_buffers; ++ gbm_dri->flush_front_buffer = dri2_rs_flush_front_buffer; ++ gbm_dri->get_buffers_with_format = dri2_rs_get_buffers_with_format; ++ gbm_dri->image_get_buffers = dri2_rs_image_get_buffers; ++ ++ if (!dri2_setup_extensions(disp)) ++ goto cleanup_dpy; ++ ++ dri2_setup_screen(disp); ++ } ++ ++ if (!mir_add_configs_for_visuals(drv, disp)) { ++ _eglLog(_EGL_FATAL, "DRI2: failed to add configs"); ++ goto cleanup_dpy; ++ } ++ ++ disp->Extensions.EXT_buffer_age = EGL_TRUE; ++/* ++ disp->Extensions.EXT_swap_buffers_with_damage = EGL_FALSE; ++ disp->Extensions.KHR_image_pixmap = EGL_FALSE; ++*/ ++ dri2_dpy->vtbl = &dri2_rs_display_vtbl; ++ ++ return EGL_TRUE; ++ ++cleanup_dpy: ++ free(dri2_dpy); ++ disp->DriverData = NULL; ++ ++ return EGL_FALSE; ++} +Index: mesa/src/egl/main/egldisplay.c +=================================================================== +--- 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 + #endif ++#ifdef HAVE_RS_PLATFORM ++#include ++#endif + + /** + * Map --with-platforms names to platform types. +@@ -73,7 +76,8 @@ + { _EGL_PLATFORM_ANDROID, "android" }, + { _EGL_PLATFORM_HAIKU, "haiku" }, + { _EGL_PLATFORM_SURFACELESS, "surfaceless" }, +- { _EGL_PLATFORM_MIR, "mir" } ++ { _EGL_PLATFORM_MIR, "mir" }, ++ { _EGL_PLATFORM_RS, "rs" } + }; + + +@@ -155,6 +159,11 @@ + if (nativeDisplay == EGL_DEFAULT_DISPLAY) + return _EGL_INVALID_PLATFORM; + ++#ifdef HAVE_RS_PLATFORM ++ if (mir_connection_is_valid(nativeDisplay)) ++ return _EGL_PLATFORM_RS; ++#endif ++ + #ifdef HAVE_MIR_PLATFORM + if (_mir_display_is_valid(nativeDisplay)) + return _EGL_PLATFORM_MIR; +Index: mesa/src/egl/main/egldisplay.h +=================================================================== +--- 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, + _EGL_PLATFORM_MIR, ++ _EGL_PLATFORM_RS, + + _EGL_NUM_PLATFORMS, + _EGL_INVALID_PLATFORM = -1 --- mesa-17.3.3.orig/debian/patches/khr_platform_mir.patch +++ mesa-17.3.3/debian/patches/khr_platform_mir.patch @@ -0,0 +1,82 @@ +--- a/src/egl/main/eglapi.c ++++ b/src/egl/main/eglapi.c +@@ -404,6 +404,11 @@ _eglGetPlatformDisplayCommon(EGLenum pla + dpy = _eglGetSurfacelessDisplay(native_display, attrib_list); + break; + #endif ++#ifdef HAVE_RS_PLATFORM ++ case EGL_PLATFORM_MIR_KHR: ++ dpy = _eglGetMirDisplay(native_display, attrib_list); ++ break; ++#endif + default: + RETURN_EGL_ERROR(NULL, EGL_BAD_PARAMETER, NULL); + } +--- a/src/egl/main/egldisplay.c ++++ b/src/egl/main/egldisplay.c +@@ -599,3 +599,22 @@ _eglGetSurfacelessDisplay(void *native_d + return _eglFindDisplay(_EGL_PLATFORM_SURFACELESS, native_display); + } + #endif /* HAVE_SURFACELESS_PLATFORM */ ++ ++#ifdef HAVE_RS_PLATFORM ++_EGLDisplay* ++_eglGetMirDisplay(MirConnection *mir_connection, ++ const EGLint *attrib_list) ++{ ++ if (!mir_connection_is_valid(mir_connection)) { ++ _eglError(EGL_BAD_PARAMETER, "eglGetPlatformDisplay"); ++ } ++ ++ /* EGL_KHR_platform_mir recognizes no attributes. */ ++ if (attrib_list != NULL && attrib_list[0] != EGL_NONE) { ++ _eglError(EGL_BAD_ATTRIBUTE, "eglGetPlatformDisplay"); ++ return NULL; ++ } ++ ++ return _eglFindDisplay(_EGL_PLATFORM_RS, mir_connection); ++} ++#endif /* HAVE_RS_PLATFORM */ +--- a/src/egl/main/egldisplay.h ++++ b/src/egl/main/egldisplay.h +@@ -288,6 +288,14 @@ _eglGetSurfacelessDisplay(void *native_d + const EGLint *attrib_list); + #endif + ++#ifdef HAVE_RS_PLATFORM ++typedef struct MirConnection MirConnection; ++ ++_EGLDisplay* ++_eglGetMirDisplay(MirConnection *mir_connection, ++ const EGLint *attrib_list); ++#endif ++ + #ifdef __cplusplus + } + #endif +--- a/src/egl/main/eglglobals.c ++++ b/src/egl/main/eglglobals.c +@@ -77,6 +77,9 @@ struct _egl_global _eglGlobal = + #ifdef HAVE_SURFACELESS_PLATFORM + " EGL_MESA_platform_surfaceless" + #endif ++#ifdef HAVE_RS_PLATFORM ++ " EGL_KHR_platform_mir" ++#endif + "", + + NULL, /* ClientExtensionsString */ +--- a/include/EGL/eglext.h ++++ b/include/EGL/eglext.h +@@ -297,6 +297,11 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSetDama + #define EGL_PLATFORM_X11_SCREEN_KHR 0x31D6 + #endif /* EGL_KHR_platform_x11 */ + ++#ifndef EGL_KHR_platform_mir ++#define EGL_KHR_platform_mir 1 ++#define EGL_PLATFORM_MIR_KHR 0x31D9 ++#endif /* EGL_KHR_platform_mir */ ++ + #ifndef EGL_KHR_reusable_sync + #define EGL_KHR_reusable_sync 1 + #ifdef KHRONOS_SUPPORT_INT64 --- mesa-17.3.3.orig/debian/patches/series +++ mesa-17.3.3/debian/patches/series @@ -0,0 +1,7 @@ +07_gallium-fix-build-failure-on-powerpcspe.diff + + +# Ubuntu patches. +egl-platform-mir.patch +egl-platform-rs.patch +khr_platform_mir.patch --- mesa-17.3.3.orig/debian/rules +++ mesa-17.3.3/debian/rules @@ -0,0 +1,248 @@ +#!/usr/bin/make -f +# debian/rules for the Debian mesa package +# Copyright © 2006 Thierry Reding + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS) +DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) + +ifeq (,$(filter $(DEB_HOST_ARCH), armhf)) +buildflags = \ + $(shell DEB_CFLAGS_MAINT_APPEND=-Wall DEB_CXXFLAGS_MAINT_APPEND=-Wall dpkg-buildflags --export=configure) +else +# Workaround for a variant of LP: #725126 +buildflags = \ + $(shell DEB_CFLAGS_MAINT_APPEND="-Wall -fno-optimize-sibling-calls" DEB_CXXFLAGS_MAINT_APPEND="-Wall -fno-optimize-sibling-calls" dpkg-buildflags --export=configure) +endif + +# keep a list of files we don't install (yet), but since it's a bit +# large, use an external file: +include debian/not-installed + +DRI_DRIVERS = +GALLIUM_DRIVERS = +VULKAN_DRIVERS = +EGL_PLATFORMS = x11,surfaceless + +confflags_DRI3 = --disable-dri3 + +# hurd doesn't do direct rendering +ifeq ($(DEB_HOST_ARCH_OS), hurd) + confflags_DIRECT_RENDERING = --disable-driglx-direct + confflags_GBM = --disable-gbm + DRI_DRIVERS = swrast +else + ifeq ($(DEB_HOST_ARCH_OS), linux) + confflags_DRI3 = --enable-dri3 + # Gallium drivers which require kernel support, not yet ported to non-Linux + GALLIUM_DRIVERS += nouveau virgl + + # Freedreno requires arm in addition + ifneq (,$(filter arm arm64,$(DEB_HOST_ARCH_CPU))) + GALLIUM_DRIVERS += freedreno + endif + + # vc4 kernel support is only available on armhf and arm64 + ifneq (,$(filter $(DEB_HOST_ARCH), armhf arm64)) + GALLIUM_DRIVERS += vc4 + endif + + # etnaviv kernel support is currently only available on armhf + ifneq (,$(filter $(DEB_HOST_ARCH), armhf)) + GALLIUM_DRIVERS += etnaviv imx + endif + + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 x32)) + GALLIUM_DRIVERS += svga + # svga needs xa state tracker + confflags_GALLIUM += --enable-xa + VULKAN_DRIVERS += intel + endif + +# Non-Linux ports also lack *_CLOEXEC and epoll, so wayland isn't ready yet: + EGL_PLATFORMS += wayland +# Likewise, Mir makes no attempt to be portable to random kernels. + EGL_PLATFORMS += mir + EGL_PLATFORMS += rs + ifeq (,$(filter $(DEB_HOST_ARCH), s390 s390x)) + DRI_DRIVERS += nouveau + endif + endif + + EGL_PLATFORMS += drm + + # Build intel drivers on archs where libdrm-intel is installed + ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 kfreebsd-amd64 kfreebsd-i386 x32)) + DRI_DRIVERS += i915 i965 + endif + + ifeq (,$(filter $(DEB_HOST_ARCH), s390 s390x)) + DRI_DRIVERS += r200 radeon + GALLIUM_DRIVERS += r600 r300 + endif + + # LLVM is required for building r300g, radeonsi and llvmpipe drivers. + # It's also required for building OpenCL support. + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 arm64 armel armhf i386 kfreebsd-amd64 kfreebsd-i386 mips mips64el mipsel powerpc ppc64 sparc64 ppc64el)) + GALLIUM_DRIVERS += radeonsi + confflags_GALLIUM += --enable-gallium-llvm + confflags_GALLIUM += --enable-opencl --enable-opencl-icd + confflags_GALLIUM += ac_cv_path_LLVM_CONFIG=llvm-config-5.0 + GALLIUM_DRIVERS += swrast + else + DRI_DRIVERS += swrast + confflags_GALLIUM += --disable-gallium-llvm + endif + + # radv needs LLVM and the Vulkan loader, so only build on the subset of + # arches where we have LLVM enabled and where the Vulkan loader is built. + ifneq (,$(filter $(DEB_HOST_ARCH), amd64 arm64 armel armhf i386 mips mips64el mipsel powerpc ppc64 sparc64 ppc64el)) + VULKAN_DRIVERS += radeon + endif + + confflags_DIRECT_RENDERING = --enable-driglx-direct + confflags_GBM = --enable-gbm + confflags_GALLIUM += --enable-vdpau + confflags_GALLIUM += --enable-va + confflags_GALLIUM += --enable-gallium-extra-hud + confflags_GALLIUM += --enable-lmsensors +endif + +# Disable assembly usage on x32 otherwise Mesa defaults to x86_64 assembly +# which doesn't work on x32 (see #758094) +ifneq (,$(filter $(DEB_HOST_ARCH), x32)) + confflags += --disable-asm +endif + +confflags_EGL = --with-platforms="$(EGL_PLATFORMS)" +confflags_GLES = --disable-gles1 --enable-gles2 +confflags_GALLIUM += --with-gallium-drivers="$(GALLIUM_DRIVERS)" + +confflags += \ + --enable-dri \ + --with-dri-drivers="$(DRI_DRIVERS)" \ + --with-dri-driverdir=/usr/lib/$(DEB_HOST_MULTIARCH)/dri \ + --with-dri-searchpath='/usr/lib/$(DEB_HOST_MULTIARCH)/dri:\$$$${ORIGIN}/dri:/usr/lib/dri' \ + --with-vulkan-drivers="$(VULKAN_DRIVERS)" \ + --enable-osmesa \ + --enable-glx-tls \ + --enable-shared-glapi \ + --enable-texture-float \ + --disable-xvmc \ + --disable-omx-bellagio \ + $(confflags_DIRECT_RENDERING) \ + $(confflags_GBM) \ + $(confflags_DRI3) \ + $(confflags_EGL) \ + $(confflags_GALLIUM) \ + $(confflags_GLES) \ + $(buildflags) + +override_dh_clean: + rm -rf .pc + rm -rf build + rm -rf configure bin/config.guess bin/config.sub config.h.in + rm -rf $$(find -name Makefile.in) + rm -rf bin/install-sh bin/ltmain.sh + for file in debian/*.in; do rm -f $${file%%.in}; done + rm -f src/compiler/nir/*.pyc + rm -f src/mapi/glapi/gen/*.pyc + rm -f src/mesa/main/*.pyc + rm -f src/gallium/auxiliary/util/*.pyc + + dh_clean + +override_dh_auto_configure: + dh_auto_configure -- \ + $(confflags) + + # hack to regenerate anv_entrypoints.{c,h} which are shipped with the tarball + rm -f src/intel/vulkan/anv_entrypoints.c src/intel/vulkan/anv_entrypoints.h + +override_dh_auto_install: + dh_auto_install + for file in debian/*.in; \ + do \ + sed -e"s,\$${DEB_HOST_MULTIARCH},$(DEB_HOST_MULTIARCH),g" \ + $${file} > $${file%%.in}; \ + done + +override_dh_auto_test: + +allpkg = $(shell dh_listpackages -a) + +override_dh_installchangelogs: + dh_installchangelogs -a + dh_installchangelogs -pmesa-common-dev + +override_dh_install: + # Also get rid of other files which aren't installed. Do not + # use -f to ensure we notice disappearing files: + set -e; for file in $(NOT_INSTALLED); do rm debian/tmp/$$file; done + # Files only in git, not in tarballs, OK to use rm -f here: + set -e; for file in $(NOT_INSTALLED_EITHER); do rm -f debian/tmp/$$file; done + # purge .la files + find debian/tmp/ -name '*.la' -exec rm '{}' ';' + + # Copy the hardlinked *_dri.so correctly. + install -m755 -d debian/libgl1-mesa-dri/usr/lib/${DEB_HOST_MULTIARCH}/dri/ + mv debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/dri/*_dri.so \ + debian/libgl1-mesa-dri/usr/lib/${DEB_HOST_MULTIARCH}/dri/ + + # Remove vulkan headers only where they get installed in tmp + # We ship those headers via src:vulkan / libvulkan-dev + ifneq (,$(filter $(DEB_HOST_ARCH),amd64 i386 x32)) + rm debian/tmp/usr/include/vulkan/vulkan_intel.h + rmdir debian/tmp/usr/include/vulkan + endif + + ifneq ($(DEB_HOST_ARCH_OS), hurd) + # Copy the hardlinked vdpau drivers correctly. + install -m755 -d debian/mesa-vdpau-drivers/usr/lib/${DEB_HOST_MULTIARCH}/vdpau/ + mv debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/vdpau/libvdpau*.so* \ + debian/mesa-vdpau-drivers/usr/lib/${DEB_HOST_MULTIARCH}/vdpau/ + + # Copy the hardlinked va drivers correctly. + install -m755 -d debian/mesa-va-drivers/usr/lib/${DEB_HOST_MULTIARCH}/dri/ + mv debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/dri/*_drv_video.so \ + debian/mesa-va-drivers/usr/lib/${DEB_HOST_MULTIARCH}/dri/ + endif + + dh_install -a --fail-missing + + # Create an ld.so.conf which says where to find libGL from Mesa + echo "/usr/lib/$(DEB_HOST_MULTIARCH)/mesa" \ + > $(CURDIR)/debian/libgl1-mesa-glx/usr/lib/$(DEB_HOST_MULTIARCH)/mesa/ld.so.conf + + # Empty directory for the alternative + mkdir -p $(CURDIR)/debian/libgl1-mesa-glx/usr/lib/$(DEB_HOST_MULTIARCH)/xorg/x11-extra-modules + + # Create an ld.so.conf which says where to find libEGL, libGLES{1,2} + # from Mesa. + echo "/usr/lib/$(DEB_HOST_MULTIARCH)/mesa-egl" \ + > $(CURDIR)/debian/libegl1-mesa/usr/lib/$(DEB_HOST_MULTIARCH)/mesa-egl/ld.so.conf + + # Install bug control and script: + set -e; for p in $(allpkg); do \ + install -d debian/$$p/usr/share/bug/$$p && \ + install -m 644 debian/local/control debian/$$p/usr/share/bug/$$p && \ + install -m 755 debian/local/script debian/$$p/usr/share/bug/$$p; \ + done + +override_dh_makeshlibs: + dh_makeshlibs -a -- -c4 + +%: + dh $@ --with quilt,autoreconf,libva \ + --parallel \ + --builddirectory=build/ + +# For maintainer use only, generate a tarball: +gentarball: SOURCE=mesa +gentarball: UV=$(shell dpkg-parsechangelog|awk '/^Version:/ {print $$2}'|sed 's/-.*$$//') +gentarball: + git archive --format=tar upstream-experimental --prefix=$(SOURCE)-$(UV)/ | gzip -9 > ../$(SOURCE)_$(UV).orig.tar.gz --- mesa-17.3.3.orig/debian/source/format +++ mesa-17.3.3/debian/source/format @@ -0,0 +1 @@ +1.0 --- mesa-17.3.3.orig/debian/upstream/signing-key.asc +++ mesa-17.3.3/debian/upstream/signing-key.asc @@ -0,0 +1,1274 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +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 +MTE6MjggMDI6NTU6MDQAAAAAOwAAAAgAAAAlAAAACAAAAAAAAAABAAANIwAABKUA +AAAfAAAAAQABfGMAAAAiAAUNRwAAAHL/4QoVaHR0cDovL25zLmFkb2JlLmNvbS94 +YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJl +U3pOVGN6a2M5ZCc/Pgo8eDp4bXBtZXRhIHhtbG5zOng9J2Fkb2JlOm5zOm1ldGEv +Jz4KPHJkZjpSREYgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAy +LzIyLXJkZi1zeW50YXgtbnMjJz4KCiA8cmRmOkRlc2NyaXB0aW9uIHhtbG5zOmV4 +aWY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvJz4KICA8ZXhpZjpNYWtl +PkNhbm9uPC9leGlmOk1ha2U+CiAgPGV4aWY6TW9kZWw+Q2Fub24gRU9TIDYwRDwv +ZXhpZjpNb2RlbD4KICA8ZXhpZjpPcmllbnRhdGlvbj5Ub3AtbGVmdDwvZXhpZjpP +cmllbnRhdGlvbj4KICA8ZXhpZjpYUmVzb2x1dGlvbj43MjwvZXhpZjpYUmVzb2x1 +dGlvbj4KICA8ZXhpZjpZUmVzb2x1dGlvbj43MjwvZXhpZjpZUmVzb2x1dGlvbj4K +ICA8ZXhpZjpSZXNvbHV0aW9uVW5pdD5JbmNoPC9leGlmOlJlc29sdXRpb25Vbml0 +PgogIDxleGlmOlNvZnR3YXJlPkFwZXJ0dXJlIDMuNC4zPC9leGlmOlNvZnR3YXJl +PgogIDxleGlmOkRhdGVUaW1lPjIwMTI6MTE6MjggMDI6NTU6MDQ8L2V4aWY6RGF0 +ZVRpbWU+CiAgPGV4aWY6QXJ0aXN0PlJ5YW4gV2FybmljazwvZXhpZjpBcnRpc3Q+ +CiAgPGV4aWY6Q29weXJpZ2h0Pk9wYWNpdHkgSW5jb3Jwb3JhdGVkIChQaG90b2dy +YXBoZXIpIC0gW05vbmVdIChFZGl0b3IpPC9leGlmOkNvcHlyaWdodD4KICA8ZXhp +ZjpFeHBvc3VyZVRpbWU+MS8xNjAgc2VjLjwvZXhpZjpFeHBvc3VyZVRpbWU+CiAg +PGV4aWY6Rk51bWJlcj5mLzUuMDwvZXhpZjpGTnVtYmVyPgogIDxleGlmOkV4cG9z +dXJlUHJvZ3JhbT5NYW51YWw8L2V4aWY6RXhwb3N1cmVQcm9ncmFtPgogIDxleGlm +OklTT1NwZWVkUmF0aW5ncz4KICAgPHJkZjpTZXE+CiAgICA8cmRmOmxpPjEwMDwv +cmRmOmxpPgogICA8L3JkZjpTZXE+CiAgPC9leGlmOklTT1NwZWVkUmF0aW5ncz4K +ICA8ZXhpZjpFeGlmVmVyc2lvbj5FeGlmIFZlcnNpb24gMi4zPC9leGlmOkV4aWZW +ZXJzaW9uPgogIDxleGlmOkRhdGVUaW1lT3JpZ2luYWw+MjAxMjoxMToyOCAwMjo1 +NTowNDwvZXhpZjpEYXRlVGltZU9yaWdpbmFsPgogIDxleGlmOkRhdGVUaW1lRGln +aXRpemVkPjIwMTI6MTE6MjggMDI6NTU6MDQ8L2V4aWY6RGF0ZVRpbWVEaWdpdGl6 +ZWQ+CiAgPGV4aWY6Q29tcG9uZW50c0NvbmZpZ3VyYXRpb24+CiAgIDxyZGY6U2Vx +PgogICAgPHJkZjpsaT5ZIENiIENyIC08L3JkZjpsaT4KICAgPC9yZGY6U2VxPgog +IDwvZXhpZjpDb21wb25lbnRzQ29uZmlndXJhdGlvbj4KICA8ZXhpZjpTaHV0dGVy +U3BlZWRWYWx1ZT43LjM4IEVWICgxLzE2NSBzZWMuKTwvZXhpZjpTaHV0dGVyU3Bl +ZWRWYWx1ZT4KICA8ZXhpZjpBcGVydHVyZVZhbHVlPjQuNjIgRVYgKGYvNS4wKTwv +ZXhpZjpBcGVydHVyZVZhbHVlPgogIDxleGlmOkV4cG9zdXJlQmlhc1ZhbHVlPjAu +MDAgRVY8L2V4aWY6RXhwb3N1cmVCaWFzVmFsdWU+CiAgPGV4aWY6TWF4QXBlcnR1 +cmVWYWx1ZT4yLjgzIEVWIChmLzIuNyk8L2V4aWY6TWF4QXBlcnR1cmVWYWx1ZT4K +ICA8ZXhpZjpNZXRlcmluZ01vZGU+UGF0dGVybjwvZXhpZjpNZXRlcmluZ01vZGU+ +CiAgPGV4aWY6Rmxhc2ggcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogIDwvZXhp +ZjpGbGFzaD4KICA8ZXhpZjpGb2NhbExlbmd0aD4zMS4wIG1tPC9leGlmOkZvY2Fs +TGVuZ3RoPgogIDxleGlmOlN1YnNlY1RpbWU+MjM8L2V4aWY6U3Vic2VjVGltZT4K +ICA8ZXhpZjpTdWJTZWNUaW1lT3JpZ2luYWw+MjM8L2V4aWY6U3ViU2VjVGltZU9y +aWdpbmFsPgogIDxleGlmOlN1YlNlY1RpbWVEaWdpdGl6ZWQ+MjM8L2V4aWY6U3Vi +U2VjVGltZURpZ2l0aXplZD4KICA8ZXhpZjpGbGFzaFBpeFZlcnNpb24+Rmxhc2hQ +aXggVmVyc2lvbiAxLjA8L2V4aWY6Rmxhc2hQaXhWZXJzaW9uPgogIDxleGlmOkNv +bG9yU3BhY2U+c1JHQjwvZXhpZjpDb2xvclNwYWNlPgogIDxleGlmOlBpeGVsWERp +bWVuc2lvbj44MDA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogIDxleGlmOlBpeGVs +WURpbWVuc2lvbj41MzM8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogIDxleGlmOkZv +Y2FsUGxhbmVYUmVzb2x1dGlvbj4yODY0LjA5PC9leGlmOkZvY2FsUGxhbmVYUmVz +b2x1dGlvbj4KICA8ZXhpZjpGb2NhbFBsYW5lWVJlc29sdXRpb24+MjkwNC4yMDwv +ZXhpZjpGb2NhbFBsYW5lWVJlc29sdXRpb24+CiAgPGV4aWY6Rm9jYWxQbGFuZVJl +c29sdXRpb25Vbml0PkluY2g8L2V4aWY6Rm9jYWxQbGFuZVJlc29sdXRpb25Vbml0 +PgogIDxleGlmOkN1c3RvbVJlbmRlcmVkPk5vcm1hbCBwcm9jZXNzPC9leGlmOkN1 +c3RvbVJlbmRlcmVkPgogIDxleGlmOkV4cG9zdXJlTW9kZT5NYW51YWwgZXhwb3N1 +cmU8L2V4aWY6RXhwb3N1cmVNb2RlPgogIDxleGlmOldoaXRlQmFsYW5jZT5BdXRv +IHdoaXRlIGJhbGFuY2U8L2V4aWY6V2hpdGVCYWxhbmNlPgogIDxleGlmOlNjZW5l +Q2FwdHVyZVR5cGU+U3RhbmRhcmQ8L2V4aWY6U2NlbmVDYXB0dXJlVHlwZT4KIDwv +cmRmOkRlc2NyaXB0aW9uPgoKPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KPD94cGFj +a2V0IGVuZD0ncic/Pgr/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRy +UkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAA +AAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0 +AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFla +AAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3 +AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJD +AAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdo +dCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAAS +c1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +WFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAA +AABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+E +AAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAA +FklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERl +ZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5 +NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0 +aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5n +IENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAA +AEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAAC +c2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3 +ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCu +ALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEy +ATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHh +AekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLB +AssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPT +A+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUc +BSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAad +Bq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRgha +CG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpU +CmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyO +DKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8J +DyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJ +EegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTO +FPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgb +GEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2Mbihuy +G9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+U +H78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPC +I/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/ +KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0M +LUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIq +MmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDec +N9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1h +PaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9 +Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnw +SjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7 +UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfg +WC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19h +X7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9 +Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94 +b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gR +eG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEK +gWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opk +isqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQg +lIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5A +nq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjE +qTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOu +tCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/ +v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3 +yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY +11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj +4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY +8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26 +/kv+3P9t////2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsN +DhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsN +FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU +FBT/wgARCAEgAPADAREAAhEBAxEB/8QAHAAAAAcBAQAAAAAAAAAAAAAAAAECAwQF +BgcI/8QAGgEAAwEBAQEAAAAAAAAAAAAAAAECAwQFBv/aAAwDAQACEAMQAAAB8ykA +agUBgAMABjAAQAAAAGAANhAAABAYACIDAAAA45JjUCgAGAAAZSwIkJvJoBQJBAGw +mADEYiKSIxADAAQyGwSoFAAAGBprBSp5CE4w1IMHQbEkGm5IhUhhAAIEtKAwAEAG +ySYKAAYADSkLVWdRgjMQyQixG+mCa5gCC0BIabCY08w2GAAAAIGSTAxqGQAHpVpl +tEZEYoJ4TpqFDr7io1TqSRR6kMCFoU3bATQAAAAAGSTGYADBad1nqrOnxpBBVtJn +Wqe4jXKwAktPK3WkSEKBc2zDaIAAAgANEmMxgkx6PLWVno6ycEIJU60tZZ+ps40n +zUWpaIlsrWBplNoir1i0YbSQAAAABkkyjAKXlp0THWnKnChJzSm51qoesm9rN246 +4KJzEorGRnNNU5m+el15rCm45AEAAwAMkmMwOTTLW/y0CKVa3uXVoVrqMdtrL0RE +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 +=LxfO +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.11 (GNU/Linux) + +mQINBFQDrA8BEACyGXUc6vSmNkwZdTTzX1vHRgIDWoppot56E5oOO+gM6ukyMDY7 +60FxKvmh704I8NqTfg3Rcs18fSOXeRj1gDG84MsU7QM3g6IQyxCA+IV7d2r/DPZE +z7HxEIKFxGJw24swsQJy/iiZf/b8flqiJbx3Ye1LF7T5iw/gKDsN6eqzAtLKqw9I +/4TBVE766nwmKNQZiw2jAFCs3lwfmNIm7ZaQNBpHTRabMTLMJiFFynLsa1eVsf9D +R3eVXW4c2oHKZbxDvSWR2yz6XcQ9ldii89sUNeclnjSFNOt761P4zBNwcEX2GuQs +JO/haw5FyrMJJexAbdUTtshZ7XvhDv/UCHtyqQBUw/vwYe8Rx79Hq/fOOUdMjWOW +cDCzyYTmGdbEJYRHrENcsOhoti3IkOjgzw0UDyCHyjapFV1ZJT/Kz7rkMmsdNtoi +1BVTLIdOvQmeXQtN2caZSN20wZWHdZnrz1/JOfOxpEsf2R78zavIfobReQdFoYMC +jv4b49WB/Gytd5vneqk9yi9DEhCYw5uGxQgjIKC4AZPVtD//GY+iYiPe5dPwrhU1 +FyD3b9SgYxFE/uZlgbzBIV4akK11vC5Q+Co5PYzhnPPgd7cYLjr/ceMfGPkeWLCY +OxZbXg92BZKKJnFHYx7FJ04WKS8SjzIn/qEzvy7SmPGxSCX6zdwn0fKZYQARAQAB +tCdFbWlsIFZlbGlrb3YgPGVtaWwubC52ZWxpa292QGdtYWlsLmNvbT6JAjkEEwEC +ACMFAlQDrA8CGwMHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRDtrjewLOtJ +DV/AEACd/RKvSzL0L4/9HYvFskjNR40NPFyQHyMaPg9eeblhfbnH7mWYXJ2MPGTR +bgvQCr0zZ3R7u8E8Rxulwifbm20x0WhYOKkDuSROjroRqvDhxfuLtXtBKqfVGw6T +0rMEOOWdqGhql4yuVpqGbgHa5ZfFvQi2EtT40QDdD052adzWeT96aFQB6Gf3CRMf +a4y7hawbUV10XL3BUljUcyh+SJv9lPclW09WNE+tuCmdIqoP927BSjXwh2GR6dM0 +z0aDf3wOxRc9S8q34jS+xN8hsXmYFAqkn0YkVIQ0M0PaQ89ltcyonbG6rZ+1rNgx +tiLEpfOZpzr7LowVsw9R6ky/pvhBHfVIM4aT17hbi2XfnMihmt/T1SZqb36+aYFt +j8Bc/o9I5crPXwOP4in3heY2ZmDWeGkPSRNix0VLQHL0HzOxjMAEm+y5ROLDo7Z/ +sGOebYxMYPIK5mJzrKhk737FEI57cvUSRXzbjmV3CIOIJbaNULWFXkCHRhdyk8mh +sVzKkl7IDiWPBj1RC5r0EXmrjUzK8QfzrTWiOa6z9WIkZ4sSs0bz14Q4pZR2qi8L +KLVjCNf/FusqCTgbZU06x1S/75XJwcsFENWkWYPEaxxzQiCs1rVzG8SnrOjcyc5F +T0rEAQLWU7eq9U6nd4BXMkokiuzlOKWqsDyXibR3wkhI80kAJw== +=XSpT +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +yc3LzJA+b6/cPamySsetyO6jSkApaLbAOl99 +=FK/k +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mI4EU55zrQEEALwTUVZuY6cxd1MUVydvgefcFhlbrG4bhkIt820llf/RwvyurXUS +wyMxVKSNTcF/kEbDqeo8rlk2a3/EZ+aaznV5LWuFxfQ9F8rq9zp7SJM/eH9ArVh0 +cH2NTar2IBljMpaFOZzNDNGjQjamkC7bH4Yg/JLA7HF33tnkgjHC393PACCJJVZD +iQE3BCABAgChBQJXsqAymh0CVGhpcyBrZXkgd2FzIGdlbmVyYXRlZCBhcyBwYXJ0 +IG9mIHRoZSBFdmlsMzIgcHJvamVjdC4KSXQgaXMgbm90IG93bmVkIGJ5IHRoZSB1 +c2VyIGRlc2NyaWJlZCBpbiB0aGUgVUlELgpTZWUgaHR0cHM6Ly9ldmlsMzIuY29t +L3Jldm9rZWQgZm9yIG1vcmUgZGV0YWlscy4ACgkQSmWNK9fXCJXt9AP+Io8NDdE6 +H8NqT13u5+aXUM+Ynac5zthCwzxc+LpsbjNhDQWKcVX8o/cR54ouitoa0a6qkMYx +cs+XNeeQe95YG/jOQVpz7crO6165ATfBgBZaCPfzgVTQa129Wq8TE8K3sXevbS60 +Wshm+gw+2HPLagygtUTXvGcO7gjgzsPAnwS0QEp1YW4gQW50b25pbyBTdcOhcmV6 +IFJvbWVybyAoSWdhbGlhLCBTLkwuKSA8amFzdWFyZXpAaWdhbGlhLmNvbT6IuAQT +AQIAIgUCU+A6bQIbLwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQSmWNK9fX +CJV2MQP9FJNTuuxcg5d6jww+/hTxdP5lM4EGizGHjWUxnEdImHtBTJ9H8PykngkR +tannjRrZ42idcT1xc+tFtTHIpVWRt+kk/ohQJQurop9U2Z2AlRsrtZiKrCDUW8NS +KyGWRjHz5giqiWIrf0sdEye/6goY4D4CQJOBiN6w89W2v1piDQiZAaIERaTL5REE +ANJJYsXfDU1eGN1nfXUEdXo3aKun8Gelf676U4z2TOWrXkO2ykkwucjOkWDKYqTt +UqELe4Kv6vblRWDI7fFoQWF3FiPQcswrSUK1Y8gNQ/Uh0/0H3Z+5zsUoMA7svWzO +BiaHai0dKDqjc9COoXkQDYpCJJNlm8PqlG9q3NOXA0GbAKDfKJcMpE7XuiIs8dOP +ERLjk5d3NQP+KRu+yM3FYReVnEv132gI3rUhb9j/hpZKh4vl66ur9iqohMXdM6Mr +zVVtrh2h1gdAwja3p2PXkQK+nP986rMdWyit/ohahTMPdMOyeuHFxsHQcj/eqFQe +IOcpUYc1pOKD0iNviw6j1TE2l+Hjy1IcQnJIbhqarRdMfloAMicc8fQD/Rbo/wzy +84bK/VeVBLjCtFiD7LkykfLH5PrZPZvu6EpwGEiucbKsFgJkN+c6l5zQnpMMTzWt +JSDEynHWTbIQJG7bhmVmkRlUD0kUaeWm++H20XXqfpM0ZsRJpLWPcq7inoHqM5s7 +n6x11QNLehRAG9qyyuc6Ddzl/lv9N+2GPVrAtCtKdWFuIEEuIFN1YXJleiBSb21l +cm8gPGphc3VhcmV6QGlnYWxpYS5jb20+iGAEExECACACGwMGCwkIBwMCBBUCCAME +FgIDAQIeAQIXgAUCVS5C2QAKCRDh7L4H19cIlWBhAKCefTZLx2JxrnMwBvTElR31 +BuADYACfecvJt9jqe8f79GNMXJ5lPKldgwW0QEp1YW4gQW50b25pbyBTdcOhcmV6 +IFJvbWVybyAoSWdhbGlhLCBTLkwuKSA8amFzdWFyZXpAaWdhbGlhLmNvbT6IYQQT +EQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAIZAQUCVS5C0gAKCRDh7L4H19cI +lXPjAKDNvtFHTWy/4Tp0gI0MZ044SGxi1wCfWEnrsjVa7R2UC/KY60kWmfAgeMvR +x3vHeQEQAAEBAAAAAAAAAAAAAAAA/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgG +BgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAx +NDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIy +MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABzAJoDASIA +AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgED +AwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2Jy +ggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1 +dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJ +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 +0ctby1kBEAABAQAAAAAAAAAAAAAAAP/Y/+AAEEpGSUYAAQEAAAEAAQAA/9sAQwAI +BgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSww +MTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIy +MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAlgCWAwEi +AAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIB +AwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNi +coIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0 +dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfI +ycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEA +AAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYS +QVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD +REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZ +mqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz +9PX29/j5+v/aAAwDAQACEQMRAD8A+f6KKKACiitbw/4cv/El61vZCNFQZknmYrHH +6ZODycYA/oCQAZNT2Vlc6jeRWlpC01xK21EXqf8AAdye1ew6b8LdAs0DX002oy4I +b5jHH14IC8jjj7xHX8OkF1o+iWzx25srOItl4oSqZPqVXqeB+VVy9yOfsecaH8LZ +Zn8zW7s28QA/c24y+SDwWI2rg46bs8/Wu7v/AA/pdroEsNhZQWzKoKskQydoIBJ6 +k4Zhk88n1NZGp+PCd0enfKuMb2XJNc5NrWpTOZZLt5B0OT0/Ci6QKLerMi60vz5W +32xDMP4kIY/1qD+x4TgiFdx45P8AStG+vblsb5yX9z1FVApOGBIB9Tk5rM1KD6RB +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 +XtdcARAAAQEAAAAAAAAAAAAAAAD/2P/gABBKRklGAAEBAAABAAEAAP/bAEMACAYG +BwYFCAcHBwkJCAoMFA0MCwsMGRITDxQdGh8eHRocHCAkLicgIiwjHBwoNyksMDE0 +NDQfJzk9ODI8LjM0Mv/bAEMBCQkJDAsMGA0NGDIhHCEyMjIyMjIyMjIyMjIyMjIy +MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/AABEIAMgAvgMBIgAC +EQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMD +AgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKC +CQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2 +d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK +0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAA +AAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFR +B2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RF +RkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqi +o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T1 +9vf4+fr/2gAMAwEAAhEDEQA/APn+iiigAorQ0bQ9U8Q6ilhpFhPe3TYOyFM7QSBu +Y9FXJGWOAM8mvZfDn7OkrW0d74r1lbNAC8traAFkXZn5pW+VSGznCsMDhucgA8Kr +cg8F+Krq3iuLfw1rM0EqB45I7CVldSMgghcEEc5r6i0vwx4C+HIFzZWMTahGqIZp +H864J2kFhuPyEhjnaFBzjHQVHqfxAkvLO5trOzkh81GRLjzcFAeM8YIbHoeD61lO +tTh8TNI0py2R8yHwL4vAyfCuuAf9g6X/AOJpv/CE+LMZ/wCEY1r/AMAJf/ia+i4f +EevSsnnavCqn7xMcZP8AKn3GuyyR+XdeItoDZBiKRE/iv8q5p5hRjobRwlRnzj/w +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 +=1g05 +-----END PGP PUBLIC KEY BLOCK----- --- mesa-17.3.3.orig/debian/watch +++ mesa-17.3.3/debian/watch @@ -0,0 +1,4 @@ +#git=git://anongit.freedesktop.org/mesa/mesa +version=3 +opts="uversionmangle=s/-rc/~rc/,dversionmangle=s/\+repack//,pgpsigurlmangle=s/$/.sig/,pasv" \ +https://mesa.freedesktop.org/archive/mesa-(.*)\.tar\.gz --- mesa-17.3.3.orig/include/drm-uapi/README +++ mesa-17.3.3/include/drm-uapi/README @@ -0,0 +1,21 @@ +This directory contains a copy of the installed kernel headers +required by the anv & i965 drivers to communicate with the kernel. +Whenever either of those driver needs new definitions for new kernel +APIs, these files should be updated. + +These files in master should only be updated once the changes have landed +in the drm-next tree. + +You can copy files installed after running this from the kernel +repository, at version the drivers require : + +$ make headers_install INSTALL_HDR_PATH=/path/to/install + +The last update was done at the following kernel commit : + +commit 7846b12fe0b5feab5446d892f41b5140c1419109 +Merge: 7ebdb0d d78acfe +Author: Dave Airlie +Date: Tue Aug 29 10:38:14 2017 +1000 + + Merge branch 'drm-vmwgfx-next' of git://people.freedesktop.org/~syeh/repos_linux into drm-next --- mesa-17.3.3.orig/include/meson.build +++ mesa-17.3.3/include/meson.build @@ -0,0 +1,68 @@ +# 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. + +inc_drm_uapi = include_directories('drm-uapi') +inc_vulkan = include_directories('vulkan') + +if with_gles1 + install_headers( + 'GLES/egl.h', 'GLES/gl.h', 'GLES/glext.h', 'GLES/glplatform.h', + subdir : 'GLES', + ) +endif + +if with_gles2 + install_headers( + 'GLES2/gl2.h', 'GLES2/gl2ext.h', 'GLES2/gl2platform.h', + subdir : 'GLES2', + ) + install_headers( + 'GLES3/gl3.h', 'GLES3/gl32.h', 'GLES3/gl32.h', 'GLES3/gl3ext.h', + 'GLES3/gl3platform.h', + subdir : 'GLES3', + ) +endif + +if with_gles1 or with_gles2 # or with_egl + install_headers('KHR/khrplatform.h', subdir : 'KHR') +endif + +if with_opengl + install_headers( + 'GL/gl.h', 'GL/glext.h', 'GL/glcorearb.h', 'GL/gl_mangle.h', + subdir : 'GL', + ) +endif + +if with_glx != 'disabled' + install_headers('GL/glx.h', 'GL/glext.h', 'GL/glx_mangle.h', subdir : 'GL') +endif + +if with_osmesa + install_headers('GL/osmesa.h', subdir : 'GL') +endif + +if with_egl + install_headers( + 'EGL/eglext.h', 'EGL/egl.h', 'EGL/eglextchromium.h', 'EGL/eglmesaext.h', + 'EGL/eglplatform.h', + subdir : 'EGL', + ) +endif --- mesa-17.3.3.orig/meson.build +++ mesa-17.3.3/meson.build @@ -0,0 +1,815 @@ +# 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. + +project('mesa', ['c', 'cpp'], version : '17.3.0-devel', license : 'MIT', + default_options : ['c_std=c99', 'cpp_std=c++11']) + +error('The meson build is unsupported for building mesa 17.3.x releases.') + +# Arguments for the preprocessor, put these in a separate array from the C and +# C++ (cpp in meson terminology) arguments since they need to be added to the +# default arguments for both C and C++. +pre_args = [ + '-D__STDC_CONSTANT_MACROS', + '-D__STDC_FORMAT_MACROS', + '-D__STDC_LIMIT_MACROS', + '-DVERSION="@0@"'.format(meson.project_version()), + '-DPACKAGE_VERSION=VERSION', + '-DPACKAGE_BUGREPORT="https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa"', + '-D_GNU_SOURCE', +] + +with_vulkan_icd_dir = get_option('vulkan-icd-dir') +with_tests = get_option('build-tests') +with_valgrind = get_option('valgrind') +with_asm = get_option('asm') +with_llvm = get_option('llvm') +if get_option('texture-float') + pre_args += '-DTEXTURE_FLOAT_ENABLED' + message('WARNING: Floating-point texture enabled. Please consult docs/patents.txt and your lawyer before building mesa.') +endif + +# XXX: yeah, do these +with_appledri = false +with_windowsdri = false + +dri_drivers_path = get_option('dri-drivers-path') +if dri_drivers_path == '' + dri_drivers_path = join_paths(get_option('libdir'), 'dri') +endif + +with_gles1 = get_option('gles1') +with_gles2 = get_option('gles2') +with_opengl = get_option('opengl') +with_any_opengl = with_opengl or with_gles1 or with_gles2 +# Only build shared_glapi if at least one OpenGL API is enabled +with_shared_glapi = get_option('shared-glapi') and with_any_opengl + +# TODO: these will need options, but at the moment they just control header +# installs +with_osmesa = false + +# shared-glapi is required if at least two OpenGL APIs are being built +if not with_shared_glapi + if ((with_gles1 and with_gles2) or (with_gles1 and with_opengl) + or (with_gles2 and with_opengl)) + error('shared-glapi required for building two or more of OpenGL, OpenGL ES 1.x, OpenGL ES 2.x') + endif +endif + +# We require OpenGL for OpenGL ES +if (with_gles1 or with_gles2) and not with_opengl + error('building OpenGL ES without OpenGL is not supported.') +endif + +with_dri = false +with_dri_i915 = false +with_dri_i965 = false +with_dri_swrast = false +_drivers = get_option('dri-drivers') +if _drivers != '' + _split = _drivers.split(',') + with_dri_i915 = _split.contains('i915') + with_dri_i965 = _split.contains('i965') + with_dri_swrast = _split.contains('swrast') + with_dri = true +endif + +with_gallium = false +with_gallium_pl111 = false +with_gallium_radeonsi = false +with_gallium_nouveau = false +with_gallium_softpipe = false +with_gallium_vc4 = false +with_gallium_vc5 = false +_drivers = get_option('gallium-drivers') +if _drivers != '' + _split = _drivers.split(',') + with_gallium_pl111 = _split.contains('pl111') + with_gallium_radeonsi = _split.contains('radeonsi') + with_gallium_nouveau = _split.contains('nouveau') + with_gallium_softpipe = _split.contains('swrast') + with_gallium_vc4 = _split.contains('vc4') + with_gallium_vc5 = _split.contains('vc5') + with_gallium = true + with_dri = true +endif + +if not (with_dri or with_gallium) + with_gles1 = false + with_gles2 = false + with_opengl = false + with_any_opengl = false + with_shared_glapi = false +endif + +if with_dri_swrast and with_gallium_softpipe + error('Only one swrast provider can be built') +endif + +dep_libdrm_intel = [] +if with_dri_i915 + dep_libdrm_intel = dependency('libdrm_intel', version : '>= 2.4.75') +endif + +# TODO: other OSes +with_dri_platform = 'drm' + +# TODO: android platform +with_platform_wayland = false +with_platform_x11 = false +with_platform_drm = false +with_platform_surfaceless = false +egl_native_platform = '' +_platforms = get_option('platforms') +if _platforms != '' + _split = _platforms.split(',') + with_platform_x11 = _split.contains('x11') + with_platform_wayland = _split.contains('wayland') + with_platform_drm = _split.contains('drm') + with_platform_surfaceless = _split.contains('surfaceless') + egl_native_platform = _split[0] +endif + +with_gbm = get_option('gbm') +if with_gbm == 'auto' and with_dri # TODO: or gallium + with_gbm = host_machine.system() == 'linux' +elif with_gbm == 'yes' + if not ['linux', 'bsd'].contains(host_machine.system()) + error('GBM only supports unix-like platforms') + endif + with_gbm = true +else + with_gbm = false +endif + +_egl = get_option('egl') +if _egl == 'auto' + with_egl = with_dri and with_shared_glapi and egl_native_platform != '' +elif _egl == 'yes' + if not with_dri + error('EGL requires dri') + elif not with_shared_glapi + error('EGL requires shared-glapi') + elif egl_native_platform == '' + error('No platforms specified, consider -Dplatforms=drm,x11 at least') + endif + with_egl = true +else + with_egl = false +endif + +# TODO: or virgl +if with_egl and with_gallium_radeonsi and not (with_platform_drm or with_platform_surfaceless) + error('RadeonSI requires drm or surfaceless platform when using EGL') +endif + +pre_args += '-DGLX_USE_TLS' +with_glx = get_option('glx') +if with_glx != 'disabled' + if not (with_platform_x11 and with_any_opengl) + if with_glx == 'auto' + with_glx = 'disabled' + else + error('Cannot build GLX support without X11 platform support and at least one OpenGL API') + endif + elif with_glx == 'gallium-xlib' + if not with_gallium + error('Gallium-xlib based GLX requires at least one gallium driver') + elif with_dri + error('gallium-xlib conflicts with any dri driver') + endif + elif with_glx == 'dri' and not with_dri + error('dri based GLX requires at least one DRI driver') + elif with_glx == 'auto' + if with_dri + with_glx = 'dri' + elif with_gallium + with_glx = 'gallium-xlib' + elif with_platform_x11 and with_any_opengl + with_glx = 'xlib' + else + with_glx = 'disabled' + endif + endif +endif + +with_glvnd = get_option('glvnd') +if with_glvnd and with_glx != 'dri' + message('glvnd requires dri based glx') +endif + +# TODO: toggle for this +with_glx_direct = true + +if with_vulkan_icd_dir == '' + with_vulkan_icd_dir = join_paths(get_option('datadir'), 'vulkan/icd.d') +endif + +with_intel_vk = false +with_amd_vk = false +with_any_vk = false +_vulkan_drivers = get_option('vulkan-drivers') +if _vulkan_drivers != '' + _split = _vulkan_drivers.split(',') + with_intel_vk = _split.contains('intel') + with_amd_vk = _split.contains('amd') + with_any_vk = with_amd_vk or with_intel_vk + if not (with_platform_x11 or with_platform_wayland) + error('Vulkan requires at least one platform (x11, wayland)') + endif +endif + +with_dri2 = (with_dri or with_any_vk) and with_dri_platform == 'drm' +with_dri3 = get_option('dri3') +if with_dri3 == 'auto' + if host_machine.system() == 'linux' and with_dri2 + with_dri3 = true + else + with_dri3 = false + endif +elif with_dri3 == 'yes' + with_dri3 = true +else + with_dri3 = false +endif + +if with_any_vk and (with_platform_x11 and not with_dri3) + error('Vulkan drivers require dri3 for X11 support') +endif +if with_dri or with_gallium + if with_glx == 'disabled' and not with_egl + error('building dri or gallium drivers require at least one window system') + endif +endif + +with_gallium_xvmc = false +with_gallium_vdpau = false +with_gallium_omx = false # this is bellagio +with_gallium_va = false +with_gallium_media = false +dep_va = [] +_drivers = get_option('gallium-media') +if _drivers != '' + _split = _drivers.split(',') + with_gallium_xvmc = _split.contains('xvmc') + with_gallium_vdpau = _split.contains('vdpau') + with_gallium_omx = _split.contains('omx') + with_gallium_va = _split.contains('va') + with_gallium_media = (with_gallium_xvmc or with_gallium_vdpau or + with_gallium_omx or with_gallium_va) +endif + +gl_pkgconfig_c_flags = [] +if with_platform_x11 + if with_any_vk or (with_glx == 'dri' and with_dri_platform == 'drm') + pre_args += '-DHAVE_X11_PLATFORM' + endif + if with_glx == 'xlib' + # TODO + error('TODO') + elif with_glx == 'gallium-xlib' + # TODO + error('TODO') + else + pre_args += '-DGLX_INDIRECT_RENDERING' + if with_glx_direct + pre_args += '-DGLX_DIRECT_RENDERING' + endif + if with_dri_platform == 'drm' + pre_args += '-DGLX_USE_DRM' + endif + endif +else + pre_args += '-DMESA_EGL_NO_X11_HEADERS' + gl_pkgconfig_c_flags += '-DMESA_EGL_NO_X11_HEADERS' +endif +if with_platform_drm + if with_egl and not with_gbm + error('EGL drm platform requires gbm') + endif + pre_args += '-DHAVE_DRM_PLATFORM' +endif +if with_platform_surfaceless + pre_args += '-DHAVE_SURFACELESS_PLATFORM' +endif + +prog_python2 = find_program('python2') +has_mako = run_command(prog_python2, '-c', 'import mako') +if has_mako.returncode() != 0 + error('Python (2.x) mako module required to build mesa.') +endif + +cc = meson.get_compiler('c') +if cc.get_id() == 'gcc' and cc.version().version_compare('< 4.4.6') + error('When using GCC, version 4.4.6 or later is required.') +endif + +# Define DEBUG for debug and debugoptimized builds +if get_option('buildtype').startswith('debug') + pre_args += '-DDEBUG' +endif + +if get_option('shader-cache') + pre_args += '-DENABLE_SHADER_CACHE' +elif with_amd_vk + error('Radv requires shader cache support') +endif + +# Check for GCC style builtins +foreach b : ['bswap32', 'bswap64', 'clz', 'clzll', 'ctz', 'expect', 'ffs', + 'ffsll', 'popcount', 'popcountll', 'unreachable'] + if cc.has_function(b) + pre_args += '-DHAVE___BUILTIN_@0@'.format(b.to_upper()) + endif +endforeach + +# check for GCC __attribute__ +foreach a : ['const', 'flatten', 'malloc', 'pure', 'unused', + 'warn_unused_result', 'weak',] + if cc.compiles('int foo(void) __attribute__((@0@));'.format(a), + name : '__attribute__((@0@))'.format(a)) + pre_args += '-DHAVE_FUNC_ATTRIBUTE_@0@'.format(a.to_upper()) + endif +endforeach +if cc.compiles('int foo(const char *p, ...) __attribute__((format(printf, 1, 2)));', + name : '__attribute__((format(...)))') + pre_args += '-DHAVE_FUNC_ATTRIBUTE_FORMAT' +endif +if cc.compiles('struct __attribute__((packed)) foo { int bar; };', + name : '__attribute__((packed))') + pre_args += '-DHAVE_FUNC_ATTRIBUTE_PACKED' +endif +if cc.compiles('int *foo(void) __attribute__((returns_nonnull));', + name : '__attribute__((returns_nonnull))') + pre_args += '-DHAVE_FUNC_ATTRIBUTE_NONNULL' +endif +if cc.compiles('''int foo_def(void) __attribute__((visibility("default"))); + int foo_hid(void) __attribute__((visibility("hidden"))); + int foo_int(void) __attribute__((visibility("internal"))); + int foo_pro(void) __attribute__((visibility("protected")));''', + name : '__attribute__((visibility(...)))') + pre_args += '-DHAVE_FUNC_ATTRIBUTE_VISBILITY' +endif +if cc.compiles('int foo(void) { return 0; } int bar(void) __attribute__((alias("foo")));', + name : '__attribute__((alias(...)))') + pre_args += '-DHAVE_FUNC_ATTRIBUTE_ALIAS' +endif + +# TODO: this is very incomplete +if host_machine.system() == 'linux' + pre_args += '-D_GNU_SOURCE' +endif + +# Check for generic C arguments +c_args = [] +foreach a : ['-Wall', '-Werror=implicit-function-declaration', + '-Werror=missing-prototypes', '-fno-math-errno', + '-fno-trapping-math', '-Qunused-arguments'] + if cc.has_argument(a) + c_args += a + endif +endforeach +c_vis_args = [] +if cc.has_argument('-fvisibility=hidden') + c_vis_args += '-fvisibility=hidden' +endif + +# Check for generic C++ arguments +cpp = meson.get_compiler('cpp') +cpp_args = [] +foreach a : ['-Wall', '-fno-math-errno', '-fno-trapping-math', + '-Qunused-arguments', '-Wno-non-virtual-dtor'] + if cpp.has_argument(a) + cpp_args += a + endif +endforeach +cpp_vis_args = [] +if cpp.has_argument('-fvisibility=hidden') + cpp_vis_args += '-fvisibility=hidden' +endif + +# Check for C and C++ arguments for MSVC2013 compatibility. These are only used +# in parts of the mesa code base that need to compile with old versions of +# MSVC, mainly common code +c_msvc_compat_args = [] +cpp_msvc_compat_args = [] +foreach a : ['-Werror=pointer-arith', '-Werror=vla'] + if cc.has_argument(a) + c_msvc_compat_args += a + endif + if cpp.has_argument(a) + cpp_msvc_compat_args += a + endif +endforeach + +no_override_init_args = [] +foreach a : ['-Wno-override-init', '-Wno-initializer-overrides'] + if cc.has_argument(a) + no_override_init_args += a + endif +endforeach + +# TODO: SSE41 (which is only required for core mesa) + +# Check for GCC style atomics +if cc.compiles('int main() { int n; return __atomic_load_n(&n, __ATOMIC_ACQUIRE); }', + name : 'GCC atomic builtins') + pre_args += '-DUSE_GCC_ATOMIC_BUILTINS' +endif +if not cc.links('''#include + uint64_t v; + int main() { + return __sync_add_and_fetch(&v, (uint64_t)1); + }''', + name : 'GCC 64bit atomics') + pre_args += '-DMISSING_64_BIT_ATOMICS' +endif + +# TODO: endian +# TODO: powr8 +# TODO: shared/static? Is this even worth doing? + +# I don't think that I need to set any of the debug stuff, I think meson +# handles that for us + +# TODO: ldflags + +# TODO: texture-float (gallium/mesa only) + +# TODO: cross-compiling. I don't think this is relavent to meson + +# FIXME: enable asm when cross compiler +# This is doable (autotools does it), but it's not of immediate concern +if meson.is_cross_build() + message('Cross compiling, disabling asm') + with_asm = false +endif + +with_asm_arch = '' +if with_asm + # TODO: SPARC and PPC + if host_machine.cpu_family() == 'x86' + if ['linux', 'bsd'].contains(host_machine.system()) # FIXME: hurd? + with_asm_arch = 'x86' + pre_args += ['-DUSE_X86_ASM', '-DUSE_MMX_ASM', '-DUSE_3DNOW_ASM', + '-DUSE_SSE_ASM'] + endif + elif host_machine.cpu_family() == 'x86_64' + if host_machine.system() == 'linux' + with_asm_arch = 'x86_64' + pre_args += ['-DUSE_X86_64_ASM'] + endif + elif host_machine.cpu_family() == 'arm' + if host_machine.system() == 'linux' + with_asm_arch = 'arm' + pre_args += ['-DUSE_ARM_ASM'] + endif + elif host_machine.cpu_family() == 'aarch64' + if host_machine.system() == 'linux' + with_asm_arch = 'aarch64' + pre_args += ['-DUSE_AARCH64_ASM'] + endif + endif +endif + +# Check for standard headers and functions +if cc.has_header_symbol('sys/sysmacros.h', 'major') + pre_args += '-DMAJOR_IN_SYSMACROS' +elif cc.has_header_symbol('sys/mkdev.h', 'major') + pre_args += '-DMAJOR_IN_MKDEV' +endif + +foreach h : ['xlocale.h', 'sys/sysctl.h'] + if cc.has_header(h) + pre_args += '-DHAVE_@0@'.format(h.to_upper().underscorify()) + endif +endforeach + +foreach f : ['strtof', 'mkostemp', 'posix_memalign'] + if cc.has_function(f) + pre_args += '-DHAVE_@0@'.format(f.to_upper()) + endif +endforeach + +# strtod locale support +if cc.links(''' + #define _GNU_SOURCE + #include + #include + #ifdef HAVE_XLOCALE_H + #include + #endif + int main() { + locale_t loc = newlocale(LC_CTYPE_MASK, "C", NULL); + const char *s = "1.0"; + char *end; + double d = strtod_l(s, end, loc); + float f = strtod_l(s, end, loc); + freelocale(loc); + return 0; + }''', + extra_args : pre_args, + name : 'strtod has locale support') + pre_args += '-DHAVE_STRTOD_L' +endif + +# Check for some linker flags +ld_args_bsymbolic = [] +if cc.links('int main() { return 0; }', args : '-Wl,-Bsymbolic', name : 'Bsymbolic') + ld_args_bsymbolic += '-Wl,-Bsymbolic' +endif +ld_args_gc_sections = [] +if cc.links('static char unused() { return 5; } int main() { return 0; }', + args : '-Wl,--gc-sections', name : 'gc-sections') + ld_args_gc_sections += '-Wl,--gc-sections' +endif +with_ld_version_script = false +if cc.links('int main() { return 0; }', + args : '-Wl,--version-script=@0@'.format( + join_paths(meson.source_root(), 'build-support/conftest.map')), + name : 'version-script') + with_ld_version_script = true +endif +with_ld_dynamic_list = false +if cc.links('int main() { return 0; }', + args : '-Wl,--dynamic-list=@0@'.format( + join_paths(meson.source_root(), 'build-support/conftest.dyn')), + name : 'dynamic-list') + with_ld_dynamic_list = true +endif + +# check for dl support +if cc.has_function('dlopen') + dep_dl = [] +else + dep_dl = cc.find_library('dl') +endif +if cc.has_function('dladdr', dependencies : dep_dl) + # This is really only required for megadrivers + pre_args += '-DHAVE_DLADDR' +endif + +if cc.has_function('dl_iterate_phdr') + pre_args += '-DHAVE_DL_ITERATE_PHDR' +else + # TODO: this is required for vulkan +endif + +# Determine whether or not the rt library is needed for time functions +if cc.has_function('clock_gettime') + dep_clock = [] +else + dep_clock = cc.find_library('rt') +endif + +with_gallium_drisw_kms = false +dep_libdrm = dependency('libdrm', version : '>= 2.4.75', + required : with_dri2 or with_dri3) +if dep_libdrm.found() + pre_args += '-DHAVE_LIBDRM' + if with_dri_platform == 'drm' and with_dri + with_gallium_drisw_kms = true + endif +endif + +# TODO: some of these may be conditional +dep_zlib = dependency('zlib', version : '>= 1.2.3') +dep_thread = dependency('threads') +if dep_thread.found() and host_machine.system() == 'linux' + pre_args += '-DHAVE_PTHREAD' +endif +dep_elf = dependency('libelf', required : false) +if not dep_elf.found() and (with_amd_vk or with_gallium_radeonsi) # TODO: clover, r600 + dep_elf = cc.find_library('elf') +endif +dep_expat = dependency('expat') +# this only exists on linux so either this is linux and it will be found, or +# its not linux and and wont +dep_m = cc.find_library('m', required : false) + +dep_libdrm_amdgpu = [] +dep_libdrm_radeon = [] +dep_libdrm_nouveau = [] +if with_amd_vk or with_gallium_radeonsi + dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>= 2.4.85') +endif +if with_gallium_radeonsi # older radeon too + dep_libdrm_radeon = dependency('libdrm_radeon', version : '>= 2.4.71') +endif +if with_gallium_nouveau + dep_libdrm_nouveau = dependency('libdrm_nouveau', version : '>= 2.4.66') +endif + +llvm_modules = ['bitwriter', 'engine', 'mcdisassembler', 'mcjit'] +if with_amd_vk + llvm_modules += ['amdgpu', 'bitreader', 'ipo'] +endif +dep_llvm = dependency( + 'llvm', version : '>= 3.9.0', required : with_amd_vk, modules : llvm_modules, +) +if with_llvm + if dep_llvm.found() + _llvm_version = dep_llvm.version().split('.') + # Development versions of LLVM have an 'svn' suffix, we don't want that for + # our version checks. + _llvm_patch = _llvm_version[2] + if _llvm_patch.endswith('svn') + _llvm_patch = _llvm_patch.split('s')[0] + endif + pre_args += [ + '-DHAVE_LLVM=0x0@0@@1@@2@'.format(_llvm_version[0], _llvm_version[1], _llvm_patch), + '-DMESA_LLVM_VERSION_PATCH=@0@'.format(_llvm_patch), + ] + else + if with_gallium_softpipe + error('Cannot find LLVM to build LLVMPipe. If you wanted softpipe pass -Dllvm=false to meson') + elif with_amd_vk or with_gallium_radeonsi # etc + error('The following drivers requires LLVM: Radv, RadeonSI. One of these is enabled, but LLVM was not found.') + endif + endif +elif with_amd_vk or with_gallium_radeonsi + error('The following drivers requires LLVM: Radv, RadeonSI. One of these is enabled, but LLVM is disabled.') +endif + +dep_glvnd = [] +if with_glvnd + dep_glvnd = dependency('libglvnd', version : '>= 0.2.0') + pre_args += '-DUSE_LIBGLVND=1' +endif + +# TODO: make this conditional +dep_valgrind = dependency('valgrind', required : false) +if dep_valgrind.found() and with_valgrind + pre_args += '-DHAVE_VALGRIND' +endif + +# pthread stubs. Lets not and say we didn't + +prog_bison = find_program('bison', required : with_any_opengl) +prog_flex = find_program('flex', required : with_any_opengl) + +# TODO: selinux +dep_selinux = [] + +# TODO: llvm-prefix and llvm-shared-libs + +dep_unwind = dependency('libunwind', required : false) +if dep_unwind.found() + pre_args += '-DHAVE_LIBUNWIND' +endif + +# TODO: flags for opengl, gles, dri + +# TODO: gallium-hud + +# TODO: glx provider + +# TODO: osmesa provider + +# TODO: symbol mangling + +if with_platform_wayland + prog_wl_scanner = find_program('wayland-scanner') + dep_wl_protocols = dependency('wayland-protocols', version : '>= 1.8') + dep_wayland_client = dependency('wayland-client', version : '>=1.11') + dep_wayland_server = dependency('wayland-server', version : '>=1.11') + wayland_dmabuf_xml = join_paths( + dep_wl_protocols.get_pkgconfig_variable('pkgdatadir'), 'unstable', + 'linux-dmabuf', 'linux-dmabuf-unstable-v1.xml' + ) + pre_args += ['-DHAVE_WAYLAND_PLATFORM', '-DWL_HIDE_DEPRECATED'] +else + prog_wl_scanner = [] + dep_wl_protocols = [] + dep_wayland_client = [] + dep_wayland_server = [] + wayland_dmabuf_xml = '' +endif + +dep_x11 = [] +dep_xext = [] +dep_xdamage = [] +dep_xfixes = [] +dep_x11_xcb = [] +dep_xcb_glx = [] +dep_xcb_dri2 = [] +dep_xcb_dri3 = [] +dep_dri2proto = [] +dep_glproto = [] +dep_xf86vm = [] +dep_xcb_dri3 = [] +dep_xcb_present = [] +dep_xcb_sync = [] +dep_xcb_xfixes = [] +dep_xshmfence = [] +if with_platform_x11 + if with_glx == 'dri' and with_dri_platform == 'drm' + dep_x11 = dependency('x11') + dep_xext = dependency('xext') + dep_xdamage = dependency('xdamage', version : '>= 1.1') + dep_xfixes = dependency('xfixes') + dep_xcb_glx = dependency('xcb-glx', version : '>= 1.8.1') + dep_xf86vm = dependency('xxf86vm', required : false) + endif + if with_any_vk or (with_glx == 'dri' and with_dri_platform == 'drm') + dep_xcb = dependency('xcb') + dep_x11_xcb = dependency('x11-xcb') + dep_xcb_dri2 = dependency('xcb-dri2', version : '>= 1.8') + + if with_dri3 + pre_args += '-DHAVE_DRI3' + dep_xcb_dri3 = dependency('xcb-dri3') + dep_xcb_present = dependency('xcb-present') + dep_xcb_sync = dependency('xcb-sync') + dep_xshmfence = dependency('xshmfence', version : '>= 1.1') + endif + endif + if with_glx != 'disabled' + dep_dri2proto = dependency('dri2proto', version : '>= 2.8') + dep_glproto = dependency('glproto', version : '>= 1.4.14') + endif + if with_egl + dep_xcb_xfixes = dependency('xcb-xfixes') + endif +endif + +# TODO: osmesa + +# TODO: vallium G3DVL + +# TODO: nine + +# TODO: clover + +# TODO: gallium tests + +# TODO: various libdirs + +# TODO: swr + +# TODO: gallium driver dirs + +# FIXME: this is a workaround for #2326 +prog_touch = find_program('touch') +dummy_cpp = custom_target( + 'dummy_cpp', + output : 'dummy.cpp', + command : [prog_touch, '@OUTPUT@'], +) + +foreach a : pre_args + add_project_arguments(a, language : ['c', 'cpp']) +endforeach +foreach a : c_args + add_project_arguments(a, language : ['c']) +endforeach +foreach a : cpp_args + add_project_arguments(a, language : ['cpp']) +endforeach + +inc_include = include_directories('include') + +gl_priv_reqs = [ + 'x11', 'xext', 'xdamage >= 1.1', 'xfixes', 'x11-xcb', 'xcb', + 'xcb-glx >= 1.8.1', 'libdrm >= 2.4.75', +] +if dep_xf86vm != [] and dep_xf86vm.found() + gl_priv_reqs += 'xf86vm' +endif +if with_dri_platform == 'drm' + gl_priv_reqs += 'xcb-dri2 >= 1.8' +endif + +gl_priv_libs = [] +if dep_thread.found() + gl_priv_libs += ['-lpthread', '-pthread'] +endif +if dep_m.found() + gl_priv_libs += '-lm' +endif +if dep_dl.found() + gl_priv_libs += '-ldl' +endif + +pkg = import('pkgconfig') + +subdir('include') +subdir('src') --- mesa-17.3.3.orig/meson_options.txt +++ mesa-17.3.3/meson_options.txt @@ -0,0 +1,156 @@ +# 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. + +option( + 'platforms', + type : 'string', + value : 'x11,wayland,drm,surfaceless', + description : 'comma separated list of window systems to support. wayland, x11, surfaceless, drm, etc.' +) +option( + 'dri3', + type : 'combo', + value : 'auto', + choices : ['auto', 'yes', 'no'], + description : 'enable support for dri3' +) +option( + 'dri-drivers', + type : 'string', + value : 'i915,i965', + description : 'comma separated list of dri drivers to build.' +) +option( + 'dri-drivers-path', + type : 'string', + value : '', + description : 'Location of dri drivers. Default: $libdir/dri.' +) +option( + 'gallium-drivers', + type : 'string', + value : 'pl111,radeonsi,nouveau,swrast,vc4', + description : 'comma separated list of gallium drivers to build.' +) +option( + 'gallium-media', + type : 'string', + value : '', + description : 'comma separated list of gallium media APIs to build (omx,va,vdpau,xvmc).' +) +option( + 'vulkan-drivers', + type : 'string', + value : 'intel,amd', + description : 'comma separated list of vulkan drivers to build.' +) +option( + 'shader-cache', + type : 'boolean', + value : true, + description : 'Build with on-disk shader cache support' +) +option( + 'vulkan-icd-dir', + type : 'string', + value : '', + description : 'Location relative to prefix to put vulkan icds on install. Default: $datadir/vulkan/icd.d' +) +option( + 'shared-glapi', + type : 'boolean', + value : true, + description : 'Whether to build a shared or static glapi' +) +option( + 'gles1', + type : 'boolean', + value : true, + description : 'Build support for OpenGL ES 1.x' +) +option( + 'gles2', + type : 'boolean', + value : true, + description : 'Build support for OpenGL ES 2.x and 3.x' +) +option( + 'opengl', + type : 'boolean', + value : true, + description : 'Build support for OpenGL (all versions)' +) +option( + 'gbm', + type : 'combo', + value : 'auto', + choices : ['auto', 'yes', 'no'], + description : 'Build support for gbm platform' +) +option( + 'glx', + type : 'combo', + value : 'auto', + choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'], + description : 'Build support for GLX platform' +) +option( + 'egl', + type : 'combo', + value : 'auto', + choices : ['auto', 'yes', 'no'], + description : 'Build support for EGL platform' +) +option( + 'glvnd', + type : 'boolean', + value : false, + description : 'Enable GLVND support.' +) +option( + 'asm', + type : 'boolean', + value : true, + description : 'Build assembly code if possible' +) +option( + 'llvm', + type : 'boolean', + value : true, + description : 'Build with LLVM support.' +) +option( + 'valgrind', + type : 'boolean', + value : true, + description : 'Build with valgrind support if possible' +) +option( + 'build-tests', + type : 'boolean', + value : false, + description : 'Build unit tests. Currently this will build *all* unit tests, which may build more than expected.' +) +option( + 'texture-float', + type : 'boolean', + value : false, + description : 'Enable floating point textures and renderbuffers. This option may be patent encumbered, please read docs/patents.txt and consult with your lawyer before turning this on.' +) --- mesa-17.3.3.orig/src/amd/addrlib/meson.build +++ mesa-17.3.3/src/amd/addrlib/meson.build @@ -0,0 +1,63 @@ +# 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. + +files_addrlib = files( + 'addrinterface.cpp', + 'addrinterface.h', + 'addrtypes.h', + 'core/addrcommon.h', + 'core/addrelemlib.cpp', + 'core/addrelemlib.h', + 'core/addrlib.cpp', + 'core/addrlib.h', + 'core/addrlib1.cpp', + 'core/addrlib1.h', + 'core/addrlib2.cpp', + 'core/addrlib2.h', + 'core/addrobject.cpp', + 'core/addrobject.h', + 'gfx9/chip/gfx9_enum.h', + 'gfx9/coord.cpp', + 'gfx9/coord.h', + 'gfx9/gfx9addrlib.cpp', + 'gfx9/gfx9addrlib.h', + 'gfx9/rbmap.cpp', + 'gfx9/rbmap.h', + 'inc/chip/gfx9/gfx9_gb_reg.h', + 'inc/chip/r800/si_gb_reg.h', + 'inc/lnx_common_defs.h', + 'r800/chip/si_ci_vi_merged_enum.h', + 'r800/ciaddrlib.cpp', + 'r800/ciaddrlib.h', + 'r800/egbaddrlib.cpp', + 'r800/egbaddrlib.h', + 'r800/siaddrlib.cpp', + 'r800/siaddrlib.h', +) + +libamdgpu_addrlib = static_library( + 'addrlib', + files_addrlib, + include_directories : include_directories( + 'core', 'inc/chip/gfx9', 'inc/chip/r800', 'gfx9/chip', 'r800/chip', + '../common', '../../'), + cpp_args : [cpp_vis_args, '-DBRAHMA_BUILD=1'], + build_by_default : false, +) --- mesa-17.3.3.orig/src/amd/common/meson.build +++ mesa-17.3.3/src/amd/common/meson.build @@ -0,0 +1,63 @@ +# 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. + +inc_amd_common = include_directories('.') + +sid_tables_h = custom_target( + 'sid_tables_h', + input : ['sid_tables.py', 'sid.h', 'gfx9d.h'], + output : 'sid_tables.h', + command : [prog_python2, '@INPUT@'], + capture : true, +) + +amd_common_files = files( + 'ac_binary.c', + 'ac_binary.h', + 'ac_exp_param.h', + 'ac_llvm_build.c', + 'ac_llvm_build.h', + 'ac_llvm_helper.cpp', + 'ac_llvm_util.c', + 'ac_llvm_util.h', + 'ac_shader_abi.h', + 'ac_shader_info.c', + 'ac_shader_info.h', + 'ac_nir_to_llvm.c', + 'ac_nir_to_llvm.h', + 'ac_gpu_info.c', + 'ac_gpu_info.h', + 'ac_surface.c', + 'ac_surface.h', + 'ac_debug.c', + 'ac_debug.h', +) + +libamd_common = static_library( + 'amd_common', + [amd_common_files, sid_tables_h, nir_opcodes_h], + include_directories : [inc_common, inc_compiler, inc_nir, inc_mesa, inc_mapi, + inc_amd], + dependencies : [dep_llvm, dep_thread, dep_elf, dep_libdrm_amdgpu, + dep_valgrind], + c_args : [c_vis_args], + cpp_args : [cpp_vis_args], + build_by_default : false, +) --- mesa-17.3.3.orig/src/amd/meson.build +++ mesa-17.3.3/src/amd/meson.build @@ -0,0 +1,27 @@ +# 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. + +inc_amd = include_directories('.') + +subdir('addrlib') +subdir('common') +if with_amd_vk + subdir('vulkan') +endif --- mesa-17.3.3.orig/src/amd/vulkan/meson.build +++ mesa-17.3.3/src/amd/vulkan/meson.build @@ -0,0 +1,140 @@ +# 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. + +radv_entrypoints = custom_target( + 'radv_entrypoints.[ch]', + input : ['radv_entrypoints_gen.py', vk_api_xml], + output : ['radv_entrypoints.h', 'radv_entrypoints.c'], + command : [prog_python2, '@INPUT0@', '--xml', '@INPUT1@', + '--outdir', meson.current_build_dir()], + depend_files : files('radv_extensions.py'), +) + +radv_extensions_c = custom_target( + 'radv_extensions.c', + input : ['radv_extensions.py', vk_api_xml], + output : ['radv_extensions.c'], + command : [prog_python2, '@INPUT0@', '--xml', '@INPUT1@', + '--out', '@OUTPUT@'], +) + +vk_format_table_c = custom_target( + 'vk_format_table.c', + input : ['vk_format_table.py', 'vk_format_layout.csv'], + output : 'vk_format_table.c', + command : [prog_python2, '@INPUT@'], + depend_files : files('vk_format_parse.py'), + capture : true, +) + +libradv_files = files( + 'winsys/amdgpu/radv_amdgpu_bo.c', + 'winsys/amdgpu/radv_amdgpu_bo.h', + 'winsys/amdgpu/radv_amdgpu_cs.c', + 'winsys/amdgpu/radv_amdgpu_cs.h', + 'winsys/amdgpu/radv_amdgpu_surface.c', + 'winsys/amdgpu/radv_amdgpu_surface.h', + 'winsys/amdgpu/radv_amdgpu_winsys.c', + 'winsys/amdgpu/radv_amdgpu_winsys.h', + 'winsys/amdgpu/radv_amdgpu_winsys_public.h', + 'radv_cmd_buffer.c', + 'radv_cs.h', + 'radv_debug.c', + 'radv_debug.h', + 'radv_device.c', + 'radv_descriptor_set.c', + 'radv_descriptor_set.h', + 'radv_formats.c', + 'radv_image.c', + 'radv_meta.c', + 'radv_meta.h', + 'radv_meta_blit.c', + 'radv_meta_blit2d.c', + 'radv_meta_buffer.c', + 'radv_meta_bufimage.c', + 'radv_meta_clear.c', + 'radv_meta_copy.c', + 'radv_meta_decompress.c', + 'radv_meta_fast_clear.c', + 'radv_meta_resolve.c', + 'radv_meta_resolve_cs.c', + 'radv_meta_resolve_fs.c', + 'radv_pass.c', + 'radv_pipeline.c', + 'radv_pipeline_cache.c', + 'radv_private.h', + 'radv_radeon_winsys.h', + 'radv_shader.c', + 'radv_shader.h', + 'radv_query.c', + 'radv_util.c', + 'radv_util.h', + 'radv_wsi.c', + 'si_cmd_buffer.c', + 'vk_format.h', +) + +radv_deps = [] +radv_flags = [] + +if with_platform_x11 + radv_deps += dep_xcb_dri3 + radv_flags += [ + '-DVK_USE_PLATFORM_XCB_KHR', + '-DVK_USE_PLATFORM_XLIB_KHR', + ] + libradv_files += files('radv_wsi_x11.c') +endif + +if with_platform_wayland + radv_deps += dep_wayland_client + radv_flags += '-DVK_USE_PLATFORM_WAYLAND_KHR' + libradv_files += files('radv_wsi_wayland.c') +endif + +libvulkan_radeon = shared_library( + 'vulkan_radeon', + [libradv_files, radv_entrypoints, radv_extensions_c, nir_opcodes_h, vk_format_table_c], + include_directories : [inc_common, inc_amd, inc_amd_common, inc_compiler, + inc_vulkan_util, inc_vulkan_wsi], + link_with : [libamd_common, libamdgpu_addrlib, libvulkan_util, + libvulkan_wsi, libnir, libmesa_util], + dependencies : [dep_llvm, dep_libdrm_amdgpu, dep_thread, dep_elf, dep_dl, + dep_m, dep_valgrind], + c_args : [c_vis_args, no_override_init_args, radv_flags], + link_args : [ld_args_bsymbolic, ld_args_gc_sections], + install : true, +) + +radv_data = configuration_data() +radv_data.set('install_libdir', join_paths(get_option('prefix'), get_option('libdir'))) +radv_data.set('libvulkan_radeon_path', libvulkan_radeon.full_path()) + +configure_file( + configuration : radv_data, + input : 'radeon_icd.json.in', + output : 'radeon_icd.@0@.json'.format(target_machine.cpu()), + install_dir : with_vulkan_icd_dir, +) +configure_file( + configuration : radv_data, + input : 'dev_icd.json.in', + output : 'dev_icd.json' +) --- mesa-17.3.3.orig/src/broadcom/cle/meson.build +++ mesa-17.3.3/src/broadcom/cle/meson.build @@ -0,0 +1,59 @@ +# Copyright © 2017 Broadcom +# +# 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. + +v3d_versions = [ + 21, + 33 +] + +v3d_xml_files = [] +foreach v: v3d_versions + v3d_xml_files += 'v3d_packet_v@0@.xml'.format(v) +endforeach + +v3d_xml_h = custom_target( + 'v3d_xml.h', + input : ['../../intel/genxml/gen_zipped_file.py', v3d_xml_files], + output : 'v3d_xml.h', + command : [prog_python2, '@INPUT@'], + capture : true, +) + +v3d_xml_pack = [] +foreach f : v3d_xml_files + _name = '@0@_pack.h'.format(f.split('.')[0]) + _xml = custom_target( + _name, + input : ['gen_pack_header.py', f], + output : _name, + command : [prog_python2, '@INPUT@'], + capture : true, + ) + v3d_xml_pack += _xml +endforeach + +libbroadcom_cle = static_library( + ['broadcom_cle', v3d_xml_h], + 'v3d_decoder.c', + include_directories : [inc_common, inc_broadcom], + c_args : [c_vis_args, no_override_init_args], + dependencies : [dep_libdrm, dep_valgrind], + build_by_default : false, +) --- mesa-17.3.3.orig/src/broadcom/compiler/meson.build +++ mesa-17.3.3/src/broadcom/compiler/meson.build @@ -0,0 +1,44 @@ +# Copyright © 2017 Broadcom +# +# 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. + +libbroadcom_compiler_files = files( + 'nir_to_vir.c', + 'vir.c', + 'vir_dump.c', + 'vir_live_variables.c', + 'vir_lower_uniforms.c', + 'vir_opt_copy_propagate.c', + 'vir_opt_dead_code.c', + 'vir_register_allocate.c', + 'vir_to_qpu.c', + 'qpu_schedule.c', + 'qpu_validate.c', + 'v3d_compiler.h', + 'v3d_nir_lower_io.c', +) + +libbroadcom_compiler = static_library( + ['broadcom_compiler', v3d_xml_pack, nir_opcodes_h, nir_builder_opcodes_h], + libbroadcom_compiler_files, + include_directories : [inc_common, inc_broadcom], + c_args : [c_vis_args, no_override_init_args], + dependencies : [dep_libdrm, dep_valgrind], + build_by_default : false, +) --- mesa-17.3.3.orig/src/broadcom/meson.build +++ mesa-17.3.3/src/broadcom/meson.build @@ -0,0 +1,44 @@ +# Copyright © 2017 Broadcom +# +# 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. + +inc_broadcom = include_directories('.', 'cle') + +subdir('cle') + +if with_gallium_vc5 + subdir('compiler') + subdir('qpu') + + libbroadcom_vc5 = static_library( + 'libbroadcom_vc5', + [ + files( + 'common/v3d_debug.c', + 'clif/clif_dump.c', + ), + v3d_xml_pack, + ], + include_directories : [inc_common, inc_broadcom, inc_src], + c_args : [c_vis_args, no_override_init_args], + link_whole : [libbroadcom_compiler, libbroadcom_qpu], + build_by_default : false, + dependencies: dep_valgrind, + ) +endif --- mesa-17.3.3.orig/src/broadcom/qpu/meson.build +++ mesa-17.3.3/src/broadcom/qpu/meson.build @@ -0,0 +1,39 @@ +# Copyright © 2017 Broadcom +# +# 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. + +libbroadcom_qpu_files = files( + 'qpu_disasm.c', + 'qpu_instr.c', + 'qpu_pack.c', +) + +libbroadcom_qpu = static_library( + ['broadcom_qpu', v3d_xml_pack], + libbroadcom_qpu_files, + include_directories : [inc_common, inc_broadcom], + c_args : [c_vis_args, no_override_init_args], + dependencies : [dep_libdrm, dep_valgrind], + build_by_default : false, +) + +test('qpu_disasm', + executable('qpu_disasm', 'tests/qpu_disasm.c', + link_with: [libbroadcom_qpu, libmesa_util], + include_directories: inc_common)) --- mesa-17.3.3.orig/src/compiler/glsl/glcpp/meson.build +++ mesa-17.3.3/src/compiler/glsl/glcpp/meson.build @@ -0,0 +1,56 @@ +# 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. + +glcpp_parse = custom_target( + 'glcpp-parse.[ch]', + input : 'glcpp-parse.y', + output : ['glcpp-parse.c', 'glcpp-parse.h'], + command : [prog_bison, '-o', '@OUTPUT0@', '-p', 'glcpp_parser_', + '--defines=@OUTPUT1@', '@INPUT@'], +) + +glcpp_lex = custom_target( + 'glcpp-lex.c', + input : 'glcpp-lex.l', + output : 'glcpp-lex.c', + command : [prog_flex, '-o', '@OUTPUT@', '@INPUT@'], +) + +libglcpp = static_library( + 'glcpp', + [glcpp_lex, glcpp_parse, files('glcpp.h', 'pp.c')], + link_with : libmesa_util, + include_directories : [inc_common], + c_args : [c_vis_args, no_override_init_args, c_msvc_compat_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + build_by_default : false, +) + +glcpp = executable( + 'glcpp', + 'glcpp.c', + dependencies : [dep_m], + include_directories : [inc_common], + link_with : [libglcpp, libglsl_util], + c_args : [c_vis_args, no_override_init_args, c_msvc_compat_args], + build_by_default : false, +) + +# TODO: figure out how to make all of these tests work. --- mesa-17.3.3.orig/src/compiler/glsl/int64.glsl +++ mesa-17.3.3/src/compiler/glsl/int64.glsl @@ -0,0 +1,121 @@ +/* Compile with: + * + * glsl_compiler --version 400 --dump-builder int64.glsl > builtin_int64.h + * + * Version 4.00+ is required for umulExtended. + */ +#version 400 +#extension GL_ARB_gpu_shader_int64: require +#extension GL_ARB_shading_language_420pack: require + +uvec2 +umul64(uvec2 a, uvec2 b) +{ + uvec2 result; + + umulExtended(a.x, b.x, result.y, result.x); + result.y += a.x * b.y + a.y * b.x; + + return result; +} + +ivec2 +sign64(ivec2 a) +{ + ivec2 result; + + result.y = a.y >> 31; + result.x = result.y | int((a.x | a.y) != 0); + + return result; +} + +uvec4 +udivmod64(uvec2 n, uvec2 d) +{ + uvec2 quot = uvec2(0U, 0U); + int log2_denom = findMSB(d.y) + 32; + + /* If the upper 32 bits of denom are non-zero, it is impossible for shifts + * greater than 32 bits to occur. If the upper 32 bits of the numerator + * are zero, it is impossible for (denom << [63, 32]) <= numer unless + * denom == 0. + */ + if (d.y == 0 && n.y >= d.x) { + log2_denom = findMSB(d.x); + + /* Since the upper 32 bits of denom are zero, log2_denom <= 31 and we + * don't have to compare log2_denom inside the loop as is done in the + * general case (below). + */ + for (int i = 31; i >= 1; i--) { + if (log2_denom <= 31 - i && (d.x << i) <= n.y) { + n.y -= d.x << i; + quot.y |= 1U << i; + } + } + + /* log2_denom is always <= 31, so manually peel the last loop + * iteration. + */ + if (d.x <= n.y) { + n.y -= d.x; + quot.y |= 1U; + } + } + + uint64_t d64 = packUint2x32(d); + uint64_t n64 = packUint2x32(n); + for (int i = 31; i >= 1; i--) { + if (log2_denom <= 63 - i && (d64 << i) <= n64) { + n64 -= d64 << i; + quot.x |= 1U << i; + } + } + + /* log2_denom is always <= 63, so manually peel the last loop + * iteration. + */ + if (d64 <= n64) { + n64 -= d64; + quot.x |= 1U; + } + + return uvec4(quot, unpackUint2x32(n64)); +} + +uvec2 +udiv64(uvec2 n, uvec2 d) +{ + return udivmod64(n, d).xy; +} + +ivec2 +idiv64(ivec2 _n, ivec2 _d) +{ + const bool negate = (_n.y < 0) != (_d.y < 0); + uvec2 n = unpackUint2x32(uint64_t(abs(packInt2x32(_n)))); + uvec2 d = unpackUint2x32(uint64_t(abs(packInt2x32(_d)))); + + uvec2 quot = udivmod64(n, d).xy; + + return negate ? unpackInt2x32(-int64_t(packUint2x32(quot))) : ivec2(quot); +} + +uvec2 +umod64(uvec2 n, uvec2 d) +{ + return udivmod64(n, d).zw; +} + +ivec2 +imod64(ivec2 _n, ivec2 _d) +{ + const bool negate = (_n.y < 0) != (_d.y < 0); + uvec2 n = unpackUint2x32(uint64_t(abs(packInt2x32(_n)))); + uvec2 d = unpackUint2x32(uint64_t(abs(packInt2x32(_d)))); + + uvec2 rem = udivmod64(n, d).zw; + + return negate ? unpackInt2x32(-int64_t(packUint2x32(rem))) : ivec2(rem); +} --- mesa-17.3.3.orig/src/compiler/glsl/meson.build +++ mesa-17.3.3/src/compiler/glsl/meson.build @@ -0,0 +1,246 @@ +# 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. + +subdir('glcpp') + +glsl_parser = custom_target( + 'glsl_parser', + input : 'glsl_parser.yy', + output : ['glsl_parser.cpp', 'glsl_parser.h'], + command : [prog_bison, '-o', '@OUTPUT0@', '-p', '_mesa_glsl_', + '--defines=@OUTPUT1@', '@INPUT@'], +) + +glsl_lexer_cpp = custom_target( + 'glsl_lexer_cpp', + input : 'glsl_lexer.ll', + output : 'glsl_lexer.cpp', + command : [prog_flex, '-o', '@OUTPUT@', '@INPUT@'], +) + +ir_expression_operation_constant_h = custom_target( + 'ir_expression_operation_constant.h', + input : 'ir_expression_operation.py', + output : 'ir_expression_operation_constant.h', + command : [prog_python2, '@INPUT@', 'constant'], + capture : true, +) + +ir_expression_operation_strings_h = custom_target( + 'ir_expression_operation_strings.h', + input : 'ir_expression_operation.py', + output : 'ir_expression_operation_strings.h', + command : [prog_python2, '@INPUT@', 'strings'], + capture : true, +) + +files_libglsl = files( + 'ast.h', + 'ast_array_index.cpp', + 'ast_expr.cpp', + 'ast_function.cpp', + 'ast_to_hir.cpp', + 'ast_type.cpp', + 'builtin_functions.cpp', + 'builtin_functions.h', + 'builtin_int64.h', + 'builtin_types.cpp', + 'builtin_variables.cpp', + 'generate_ir.cpp', + 'glsl_parser_extras.cpp', + 'glsl_parser_extras.h', + 'glsl_symbol_table.cpp', + 'glsl_symbol_table.h', + 'glsl_to_nir.cpp', + 'glsl_to_nir.h', + 'hir_field_selection.cpp', + 'ir_array_refcount.cpp', + 'ir_array_refcount.h', + 'ir_basic_block.cpp', + 'ir_basic_block.h', + 'ir_builder.cpp', + 'ir_builder.h', + 'ir_clone.cpp', + 'ir_constant_expression.cpp', + 'ir.cpp', + 'ir.h', + 'ir_equals.cpp', + 'ir_expression_flattening.cpp', + 'ir_expression_flattening.h', + 'ir_function_can_inline.cpp', + 'ir_function_detect_recursion.cpp', + 'ir_function_inlining.h', + 'ir_function.cpp', + 'ir_hierarchical_visitor.cpp', + 'ir_hierarchical_visitor.h', + 'ir_hv_accept.cpp', + 'ir_optimization.h', + 'ir_print_visitor.cpp', + 'ir_print_visitor.h', + 'ir_reader.cpp', + 'ir_reader.h', + 'ir_rvalue_visitor.cpp', + 'ir_rvalue_visitor.h', + 'ir_set_program_inouts.cpp', + 'ir_uniform.h', + 'ir_validate.cpp', + 'ir_variable_refcount.cpp', + 'ir_variable_refcount.h', + 'ir_visitor.h', + 'linker.cpp', + 'linker.h', + 'link_atomics.cpp', + 'link_functions.cpp', + 'link_interface_blocks.cpp', + 'link_uniforms.cpp', + 'link_uniform_initializers.cpp', + 'link_uniform_block_active_visitor.cpp', + 'link_uniform_block_active_visitor.h', + 'link_uniform_blocks.cpp', + 'link_varyings.cpp', + 'link_varyings.h', + 'list.h', + 'loop_analysis.cpp', + 'loop_analysis.h', + 'loop_unroll.cpp', + 'lower_blend_equation_advanced.cpp', + 'lower_buffer_access.cpp', + 'lower_buffer_access.h', + 'lower_const_arrays_to_uniforms.cpp', + 'lower_cs_derived.cpp', + 'lower_discard.cpp', + 'lower_discard_flow.cpp', + 'lower_distance.cpp', + 'lower_if_to_cond_assign.cpp', + 'lower_instructions.cpp', + 'lower_int64.cpp', + 'lower_jumps.cpp', + 'lower_mat_op_to_vec.cpp', + 'lower_noise.cpp', + 'lower_offset_array.cpp', + 'lower_packed_varyings.cpp', + 'lower_named_interface_blocks.cpp', + 'lower_packing_builtins.cpp', + 'lower_subroutine.cpp', + 'lower_tess_level.cpp', + 'lower_texture_projection.cpp', + 'lower_variable_index_to_cond_assign.cpp', + 'lower_vec_index_to_cond_assign.cpp', + 'lower_vec_index_to_swizzle.cpp', + 'lower_vector.cpp', + 'lower_vector_derefs.cpp', + 'lower_vector_insert.cpp', + 'lower_vertex_id.cpp', + 'lower_output_reads.cpp', + 'lower_shared_reference.cpp', + 'lower_ubo_reference.cpp', + 'opt_algebraic.cpp', + 'opt_array_splitting.cpp', + 'opt_conditional_discard.cpp', + 'opt_constant_folding.cpp', + 'opt_constant_propagation.cpp', + 'opt_constant_variable.cpp', + 'opt_copy_propagation.cpp', + 'opt_copy_propagation_elements.cpp', + 'opt_dead_builtin_variables.cpp', + 'opt_dead_builtin_varyings.cpp', + 'opt_dead_code.cpp', + 'opt_dead_code_local.cpp', + 'opt_dead_functions.cpp', + 'opt_flatten_nested_if_blocks.cpp', + 'opt_flip_matrices.cpp', + 'opt_function_inlining.cpp', + 'opt_if_simplification.cpp', + 'opt_minmax.cpp', + 'opt_noop_swizzle.cpp', + 'opt_rebalance_tree.cpp', + 'opt_redundant_jumps.cpp', + 'opt_structure_splitting.cpp', + 'opt_swizzle_swizzle.cpp', + 'opt_tree_grafting.cpp', + 'opt_vectorize.cpp', + 'program.h', + 'propagate_invariance.cpp', + 's_expression.cpp', + 's_expression.h', + 'string_to_uint_map.cpp', + 'string_to_uint_map.h', + 'shader_cache.cpp', + 'shader_cache.h', +) + +files_libglsl_standalone = files( + 'ir_builder_print_visitor.cpp', + 'ir_builder_print_visitor.h', + 'opt_add_neg_to_sub.h', + 'standalone_scaffolding.cpp', + 'standalone_scaffolding.h', + 'standalone.cpp', + 'standalone.h', +) + +libglsl = static_library( + 'glsl', + [files_libglsl, glsl_parser, glsl_lexer_cpp, ir_expression_operation_h, + ir_expression_operation_strings_h, ir_expression_operation_constant_h], + c_args : [c_vis_args, c_msvc_compat_args, no_override_init_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + link_with : [libnir, libglcpp], + include_directories : [inc_common, inc_compiler, inc_nir], + build_by_default : false, +) + +libglsl_standalone = static_library( + 'glsl_standalone', + [files_libglsl_standalone, ir_expression_operation_h], + c_args : [c_vis_args, c_msvc_compat_args, no_override_init_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + include_directories : [inc_common], + link_with : [libglsl, libglsl_util, libmesa_util], + dependencies : [dep_thread], + build_by_default : false, +) + +glsl_compiler = executable( + 'glsl_compiler', + 'main.cpp', + c_args : [c_vis_args, c_msvc_compat_args, no_override_init_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + dependencies : [dep_clock], + include_directories : [inc_common], + link_with : [libglsl_standalone], + build_by_default : false, +) + +glsl_test = executable( + 'glsl_test', + ['test.cpp', 'test_optpass.cpp', 'test_optpass.h', + ir_expression_operation_h], + c_args : [c_vis_args, c_msvc_compat_args, no_override_init_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + include_directories : [inc_common], + dependencies : [dep_clock, dep_thread], + link_with : [libglsl, libglsl_standalone, libglsl_util], + build_by_default : false, +) + +if with_tests + subdir('tests') +endif --- mesa-17.3.3.orig/src/compiler/meson.build +++ mesa-17.3.3/src/compiler/meson.build @@ -0,0 +1,68 @@ +# 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. + +inc_compiler = include_directories('.') +inc_nir = include_directories('nir') +inc_glsl = include_directories('glsl') + +files_libcompiler = files( + 'blob.c', + 'blob.h', + 'builtin_type_macros.h', + 'glsl_types.cpp', + 'glsl_types.h', + 'nir_types.cpp', + 'nir_types.h', + 'shader_enums.c', + 'shader_enums.h', + 'shader_info.h', +) + +ir_expression_operation_h = custom_target( + 'ir_expression_operation.h', + input : 'glsl/ir_expression_operation.py', + output : 'ir_expression_operation.h', + command : [prog_python2, '@INPUT@', 'enum'], + capture : true, +) + +libcompiler = static_library( + 'compiler', + [files_libcompiler, ir_expression_operation_h], + include_directories : [inc_mapi, inc_mesa, inc_compiler, inc_common], + c_args : [c_vis_args, c_msvc_compat_args, no_override_init_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + dependencies : [dep_valgrind], + build_by_default : false, +) + +subdir('nir') + +spirv2nir = executable( + 'spirv2nir', + [files('spirv/spirv2nir.c'), dummy_cpp], + dependencies : [dep_m, dep_thread], + include_directories : [inc_common, inc_nir, include_directories('spirv')], + link_with : [libnir, libmesa_util], + c_args : [c_vis_args, c_msvc_compat_args, no_override_init_args], + build_by_default : false, +) + +subdir('glsl') --- mesa-17.3.3.orig/src/compiler/nir/meson.build +++ mesa-17.3.3/src/compiler/nir/meson.build @@ -0,0 +1,207 @@ +# 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. + +nir_depends = files('nir_opcodes.py') + +nir_builder_opcodes_h = custom_target( + 'nir_builder_opcodes.h', + input : 'nir_builder_opcodes_h.py', + output : 'nir_builder_opcodes.h', + command : [prog_python2, '@INPUT@'], + capture : true, + depend_files : nir_depends, +) + +nir_constant_expressions_c = custom_target( + 'nir_constant_expressions.c', + input : 'nir_constant_expressions.py', + output : 'nir_constant_expressions.c', + command : [prog_python2, '@INPUT@'], + capture : true, + depend_files : nir_depends, +) + +nir_opcodes_h = custom_target( + 'nir_opcodes.h', + input : 'nir_opcodes_h.py', + output : 'nir_opcodes.h', + command : [prog_python2, '@INPUT@'], + capture : true, + depend_files : nir_depends, +) + +nir_opcodes_c = custom_target( + 'nir_opcodes.c', + input : 'nir_opcodes_c.py', + output : 'nir_opcodes.c', + command : [prog_python2, '@INPUT@'], + capture : true, + depend_files : nir_depends, +) + +nir_opt_algebraic_c = custom_target( + 'nir_opt_algebraic.c', + input : 'nir_opt_algebraic.py', + output : 'nir_opt_algebraic.c', + command : [prog_python2, '@INPUT@'], + capture : true, + depend_files : files('nir_algebraic.py'), +) + +spirv_info_c = custom_target( + 'spirv_info.c', + input : files('../spirv/spirv_info_c.py', '../spirv/spirv.core.grammar.json'), + output : 'spirv_info.c', + command : [prog_python2, '@INPUT0@', '@INPUT1@', '@OUTPUT@'], +) + +files_libnir = files( + 'nir.c', + 'nir.h', + 'nir_builder.h', + 'nir_clone.c', + 'nir_constant_expressions.h', + 'nir_control_flow.c', + 'nir_control_flow.h', + 'nir_control_flow_private.h', + 'nir_dominance.c', + 'nir_from_ssa.c', + 'nir_gather_info.c', + 'nir_gs_count_vertices.c', + 'nir_inline_functions.c', + 'nir_instr_set.c', + 'nir_instr_set.h', + 'nir_intrinsics.c', + 'nir_intrinsics.h', + 'nir_linking_helpers.c', + 'nir_liveness.c', + 'nir_loop_analyze.c', + 'nir_loop_analyze.h', + 'nir_lower_64bit_packing.c', + 'nir_lower_alu_to_scalar.c', + 'nir_lower_alpha_test.c', + 'nir_lower_atomics.c', + 'nir_lower_atomics_to_ssbo.c', + 'nir_lower_bitmap.c', + 'nir_lower_clamp_color_outputs.c', + 'nir_lower_clip.c', + 'nir_lower_clip_cull_distance_arrays.c', + 'nir_lower_constant_initializers.c', + 'nir_lower_double_ops.c', + 'nir_lower_drawpixels.c', + 'nir_lower_global_vars_to_local.c', + 'nir_lower_gs_intrinsics.c', + 'nir_lower_load_const_to_scalar.c', + 'nir_lower_locals_to_regs.c', + 'nir_lower_idiv.c', + 'nir_lower_indirect_derefs.c', + 'nir_lower_int64.c', + 'nir_lower_io.c', + 'nir_lower_io_to_temporaries.c', + 'nir_lower_io_to_scalar.c', + 'nir_lower_io_types.c', + 'nir_lower_passthrough_edgeflags.c', + 'nir_lower_patch_vertices.c', + 'nir_lower_phis_to_scalar.c', + 'nir_lower_read_invocation_to_scalar.c', + 'nir_lower_regs_to_ssa.c', + 'nir_lower_returns.c', + 'nir_lower_samplers.c', + 'nir_lower_samplers_as_deref.c', + 'nir_lower_system_values.c', + 'nir_lower_tex.c', + 'nir_lower_to_source_mods.c', + 'nir_lower_two_sided_color.c', + 'nir_lower_uniforms_to_ubo.c', + 'nir_lower_vars_to_ssa.c', + 'nir_lower_var_copies.c', + 'nir_lower_vec_to_movs.c', + 'nir_lower_wpos_center.c', + 'nir_lower_wpos_ytransform.c', + 'nir_metadata.c', + 'nir_move_vec_src_uses_to_dest.c', + 'nir_normalize_cubemap_coords.c', + 'nir_opt_conditional_discard.c', + 'nir_opt_constant_folding.c', + 'nir_opt_copy_prop_vars.c', + 'nir_opt_copy_propagate.c', + 'nir_opt_cse.c', + 'nir_opt_dce.c', + 'nir_opt_dead_cf.c', + 'nir_opt_gcm.c', + 'nir_opt_global_to_local.c', + 'nir_opt_if.c', + 'nir_opt_intrinsics.c', + 'nir_opt_loop_unroll.c', + 'nir_opt_move_comparisons.c', + 'nir_opt_peephole_select.c', + 'nir_opt_remove_phis.c', + 'nir_opt_trivial_continues.c', + 'nir_opt_undef.c', + 'nir_phi_builder.c', + 'nir_phi_builder.h', + 'nir_print.c', + 'nir_propagate_invariant.c', + 'nir_remove_dead_variables.c', + 'nir_repair_ssa.c', + 'nir_search.c', + 'nir_search.h', + 'nir_search_helpers.h', + 'nir_split_var_copies.c', + 'nir_sweep.c', + 'nir_to_lcssa.c', + 'nir_validate.c', + 'nir_vla.h', + 'nir_worklist.c', + 'nir_worklist.h', + '../spirv/GLSL.std.450.h', + '../spirv/nir_spirv.h', + '../spirv/spirv.h', + '../spirv/spirv_info.h', + '../spirv/spirv_to_nir.c', + '../spirv/vtn_alu.c', + '../spirv/vtn_cfg.c', + '../spirv/vtn_glsl450.c', + '../spirv/vtn_private.h', + '../spirv/vtn_variables.c', +) + +libnir = static_library( + 'nir', + [files_libnir, spirv_info_c, nir_opt_algebraic_c, nir_opcodes_c, + nir_opcodes_h, nir_constant_expressions_c, nir_builder_opcodes_h], + include_directories : [inc_common, inc_compiler, include_directories('../spirv')], + c_args : [c_vis_args, c_msvc_compat_args, no_override_init_args], + link_with : libcompiler, + build_by_default : false, +) + +if with_tests + nir_control_flow_test = executable( + 'nir_control_flow_test', + [files('tests/control_flow_tests.cpp'), nir_opcodes_h], + c_args : [c_vis_args, c_msvc_compat_args, no_override_init_args], + include_directories : [inc_common], + dependencies : [dep_thread, idep_gtest], + link_with : [libmesa_util, libnir], + ) + + test('nir_control_flow', nir_control_flow_test) +endif --- mesa-17.3.3.orig/src/egl/meson.build +++ mesa-17.3.3/src/egl/meson.build @@ -0,0 +1,185 @@ +# 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. + +c_args_for_egl = [] +link_for_egl = [] +deps_for_egl = [] +incs_for_egl = [ + inc_include, inc_src, inc_loader, inc_gbm, include_directories('main'), +] +files_egl = files( + 'main/eglapi.c', + 'main/eglapi.h', + 'main/eglarray.c', + 'main/eglarray.h', + 'main/eglconfig.c', + 'main/eglconfig.h', + 'main/eglcontext.c', + 'main/eglcontext.h', + 'main/eglcurrent.c', + 'main/eglcurrent.h', + 'main/egldefines.h', + 'main/egldisplay.c', + 'main/egldisplay.h', + 'main/egldriver.c', + 'main/egldriver.h', + 'main/eglfallbacks.c', + 'main/eglglobals.c', + 'main/eglglobals.h', + 'main/eglimage.c', + 'main/eglimage.h', + 'main/egllog.c', + 'main/egllog.h', + 'main/eglsurface.c', + 'main/eglsurface.h', + 'main/eglsync.c', + 'main/eglsync.h', + 'main/eglentrypoint.h', + 'main/egltypedefs.h', + 'drivers/dri2/egl_dri2.c', + 'drivers/dri2/egl_dri2.h', + 'drivers/dri2/egl_dri2_fallbacks.h', +) + +linux_dmabuf_unstable_v1_protocol_c = custom_target( + 'linux-dmabuf-unstable-v1-protocol.c', + input : wayland_dmabuf_xml, + output : 'linux-dmabuf-unstable-v1-protocol.c', + command : [prog_wl_scanner, 'code', '@INPUT@', '@OUTPUT@'], +) + +linux_dmabuf_unstable_v1_client_protocol_h = custom_target( + 'linux-dmabuf-unstable-v1-client-protocol.h', + input : wayland_dmabuf_xml, + output : 'linux-dmabuf-unstable-v1-client-protocol.h', + command : [prog_wl_scanner, 'client-header', '@INPUT@', '@OUTPUT@'], +) + +g_egldispatchstubs_c = custom_target( + 'g_egldispatchstubs.c', + input : [ + 'generate/gen_egl_dispatch.py', 'generate/eglFunctionList.py', + 'generate/egl.xml', 'generate/egl_other.xml' + ], + output : 'g_egldispatchstubs.c', + command : [ + prog_python2, '@INPUT0@', 'source', '@INPUT1@', '@INPUT2@', '@INPUT3@' + ], + depend_files : files('generate/genCommon.py'), + capture : true, +) + +g_egldispatchstubs_h = custom_target( + 'g_egldispatchstubs.h', + input : [ + 'generate/gen_egl_dispatch.py', 'generate/eglFunctionList.py', + 'generate/egl.xml', 'generate/egl_other.xml' + ], + output : 'g_egldispatchstubs.h', + command : [ + prog_python2, '@INPUT0@', 'header', '@INPUT1@', '@INPUT2@', '@INPUT3@' + ], + depend_files : files('generate/genCommon.py'), + capture : true, +) + +if with_platform_x11 + files_egl += files('drivers/dri2/platform_x11.c') + if with_dri3 + files_egl += files('drivers/dri2/platform_x11_dri3.c') + link_for_egl += libloader_dri3_helper + endif + deps_for_egl += [dep_xcb_dri2, dep_xcb_xfixes] +endif +if with_platform_drm + files_egl += files('drivers/dri2/platform_drm.c') + link_for_egl += libgbm + incs_for_egl += include_directories('../gbm/main') +endif +if with_platform_surfaceless + files_egl += files('drivers/dri2/platform_surfaceless.c') +endif +if with_platform_wayland + deps_for_egl += [dep_wayland_client, dep_wayland_server] + link_for_egl += libwayland_drm + files_egl += files('drivers/dri2/platform_wayland.c') + files_egl += [ + linux_dmabuf_unstable_v1_protocol_c, + linux_dmabuf_unstable_v1_client_protocol_h, + wayland_drm_client_protocol_h, + ] + incs_for_egl += include_directories( + 'wayland/wayland-egl', 'wayland/wayland-drm', + ) +endif +# TODO: android + +# TODO: glvnd + +if cc.has_function('mincore') + c_args_for_egl += '-DHAVE_MINCORE' +endif + +if not with_glvnd + egl_lib_name = 'EGL' + egl_lib_version = '1.0.0' +else + egl_lib_name = 'EGL_mesa' + egl_lib_version = '0' + files_egl += [g_egldispatchstubs_h, g_egldispatchstubs_c] + files_egl += files('main/eglglvnd.c', 'main/egldispatchstubs.c') + install_data( + 'main/50_mesa.json', + install_dir : join_paths(get_option('datadir'), 'glvnd', 'egl_vendor.d') + ) +endif + +libegl = shared_library( + egl_lib_name, + files_egl, + c_args : [ + c_vis_args, + c_args_for_egl, + '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_driver_dir), + '-D_EGL_BUILT_IN_DRIVER_DRI2', + '-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_@0@'.format(egl_native_platform.to_upper()), + ], + include_directories : incs_for_egl, + link_with : [link_for_egl, libloader, libxmlconfig, libglapi, libmesa_util], + link_args : [ld_args_bsymbolic, ld_args_gc_sections], + dependencies : [deps_for_egl, dep_dl, dep_libdrm, dep_clock, dep_thread], + install : true, + version : egl_lib_version, +) + +pkg.generate( + name : 'egl', + description : 'Mesa EGL Library', + version : meson.project_version(), + libraries : libegl, + libraries_private: gl_priv_libs, + requires_private : gl_priv_reqs, + extra_cflags : gl_pkgconfig_c_flags, +) + +if with_tests + test('egl-symbols-check', find_program('egl-symbols-check')) + test('egl-entrypoint-check', find_program('egl-entrypoint-check')) +endif --- mesa-17.3.3.orig/src/egl/wayland/wayland-drm/meson.build +++ mesa-17.3.3/src/egl/wayland/wayland-drm/meson.build @@ -0,0 +1,47 @@ +# 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. + +wayland_drm_protocol_c = custom_target( + 'wayland-drm-protocol.c', + input : 'wayland-drm.xml', + output : 'wayland-drm-protocol.c', + command : [prog_wl_scanner, 'code', '@INPUT@', '@OUTPUT@'], +) + +wayland_drm_client_protocol_h = custom_target( + 'wayland-drm-client-protocol.h', + input : 'wayland-drm.xml', + output : 'wayland-drm-client-protocol.h', + command : [prog_wl_scanner, 'client-header', '@INPUT@', '@OUTPUT@'], +) + +wayland_drm_server_protocol_h = custom_target( + 'wayland-drm-server-protocol.h', + input : 'wayland-drm.xml', + output : 'wayland-drm-server-protocol.h', + command : [prog_wl_scanner, 'server-header', '@INPUT@', '@OUTPUT@'], +) + +libwayland_drm = static_library( + 'wayland_drm', + ['wayland-drm.c', wayland_drm_protocol_c, wayland_drm_server_protocol_h], + dependencies : [dep_wayland_server], + build_by_default : false, +) --- mesa-17.3.3.orig/src/egl/wayland/wayland-egl/meson.build +++ mesa-17.3.3/src/egl/wayland/wayland-egl/meson.build @@ -0,0 +1,43 @@ +# 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. + + +libwayland_egl = shared_library( + 'wayland-egl', + 'wayland-egl.c', + c_args : [c_vis_args], + link_args : ld_args_gc_sections, + dependencies : dep_wayland_client, + version : '1.0.0', + install : true, +) + +pkg.generate( + name : 'wayland-egl', + description : 'Mesa wayland-egl library', + libraries : libwayland_egl, + version : meson.project_version(), + requires : 'wayland-client', +) + +if with_tests + test('wayland-egl-symbols-check', find_program('wayland-egl-symbols-check')) + test('wayland-egl-abi-check', executable('wayland-egl-abi-check', 'wayland-egl-abi-check.c')) +endif --- mesa-17.3.3.orig/src/gallium/auxiliary/meson.build +++ mesa-17.3.3/src/gallium/auxiliary/meson.build @@ -0,0 +1,530 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +inc_gallium_aux = include_directories('.') + +files_libgallium = files( + 'cso_cache/cso_cache.c', + 'cso_cache/cso_cache.h', + 'cso_cache/cso_context.c', + 'cso_cache/cso_context.h', + 'cso_cache/cso_hash.c', + 'cso_cache/cso_hash.h', + 'draw/draw_cliptest_tmp.h', + 'draw/draw_context.c', + 'draw/draw_context.h', + 'draw/draw_decompose_tmp.h', + 'draw/draw_fs.c', + 'draw/draw_fs.h', + 'draw/draw_gs.c', + 'draw/draw_gs.h', + 'draw/draw_gs_tmp.h', + 'draw/draw_pipe_aaline.c', + 'draw/draw_pipe_aapoint.c', + 'draw/draw_pipe.c', + 'draw/draw_pipe.h', + 'draw/draw_pipe_clip.c', + 'draw/draw_pipe_cull.c', + 'draw/draw_pipe_flatshade.c', + 'draw/draw_pipe_offset.c', + 'draw/draw_pipe_pstipple.c', + 'draw/draw_pipe_stipple.c', + 'draw/draw_pipe_twoside.c', + 'draw/draw_pipe_unfilled.c', + 'draw/draw_pipe_util.c', + 'draw/draw_pipe_validate.c', + 'draw/draw_pipe_vbuf.c', + 'draw/draw_pipe_wide_line.c', + 'draw/draw_pipe_wide_point.c', + 'draw/draw_prim_assembler.c', + 'draw/draw_prim_assembler.h', + 'draw/draw_prim_assembler_tmp.h', + 'draw/draw_private.h', + 'draw/draw_pt.c', + 'draw/draw_pt_decompose.h', + 'draw/draw_pt_emit.c', + 'draw/draw_pt_fetch.c', + 'draw/draw_pt_fetch_emit.c', + 'draw/draw_pt_fetch_shade_emit.c', + 'draw/draw_pt_fetch_shade_pipeline.c', + 'draw/draw_pt.h', + 'draw/draw_pt_post_vs.c', + 'draw/draw_pt_so_emit.c', + 'draw/draw_pt_util.c', + 'draw/draw_pt_vsplit.c', + 'draw/draw_pt_vsplit_tmp.h', + 'draw/draw_so_emit_tmp.h', + 'draw/draw_split_tmp.h', + 'draw/draw_vbuf.h', + 'draw/draw_vertex.c', + 'draw/draw_vertex.h', + 'draw/draw_vs.c', + 'draw/draw_vs_exec.c', + 'draw/draw_vs.h', + 'draw/draw_vs_variant.c', + 'hud/font.c', + 'hud/font.h', + 'hud/hud_context.c', + 'hud/hud_context.h', + 'hud/hud_cpu.c', + 'hud/hud_nic.c', + 'hud/hud_cpufreq.c', + 'hud/hud_diskstat.c', + 'hud/hud_sensors_temp.c', + 'hud/hud_driver_query.c', + 'hud/hud_fps.c', + 'hud/hud_private.h', + 'indices/u_indices.h', + 'indices/u_indices_priv.h', + 'indices/u_primconvert.c', + 'indices/u_primconvert.h', + 'os/os_memory_aligned.h', + 'os/os_memory_debug.h', + 'os/os_memory_stdc.h', + 'os/os_memory.h', + 'os/os_misc.c', + 'os/os_misc.h', + 'os/os_mman.h', + 'os/os_process.c', + 'os/os_process.h', + 'os/os_thread.h', + 'os/os_time.c', + 'os/os_time.h', + 'pipebuffer/pb_buffer_fenced.c', + 'pipebuffer/pb_buffer_fenced.h', + 'pipebuffer/pb_buffer.h', + 'pipebuffer/pb_buffer_malloc.c', + 'pipebuffer/pb_bufmgr_alt.c', + 'pipebuffer/pb_bufmgr_cache.c', + 'pipebuffer/pb_bufmgr_debug.c', + 'pipebuffer/pb_bufmgr.h', + 'pipebuffer/pb_bufmgr_mm.c', + 'pipebuffer/pb_bufmgr_ondemand.c', + 'pipebuffer/pb_bufmgr_pool.c', + 'pipebuffer/pb_bufmgr_slab.c', + 'pipebuffer/pb_cache.c', + 'pipebuffer/pb_cache.h', + 'pipebuffer/pb_slab.c', + 'pipebuffer/pb_slab.h', + 'pipebuffer/pb_validate.c', + 'pipebuffer/pb_validate.h', + 'postprocess/filters.h', + 'postprocess/postprocess.h', + 'postprocess/pp_celshade.c', + 'postprocess/pp_celshade.h', + 'postprocess/pp_colors.c', + 'postprocess/pp_colors.h', + 'postprocess/pp_filters.h', + 'postprocess/pp_init.c', + 'postprocess/pp_mlaa_areamap.h', + 'postprocess/pp_mlaa.c', + 'postprocess/pp_mlaa.h', + 'postprocess/pp_private.h', + 'postprocess/pp_program.c', + 'postprocess/pp_run.c', + 'rbug/rbug_connection.c', + 'rbug/rbug_connection.h', + 'rbug/rbug_context.c', + 'rbug/rbug_context.h', + 'rbug/rbug_core.c', + 'rbug/rbug_core.h', + 'rbug/rbug_demarshal.c', + 'rbug/rbug.h', + 'rbug/rbug_internal.h', + 'rbug/rbug_proto.h', + 'rbug/rbug_shader.c', + 'rbug/rbug_shader.h', + 'rbug/rbug_texture.c', + 'rbug/rbug_texture.h', + 'rtasm/rtasm_cpu.c', + 'rtasm/rtasm_cpu.h', + 'rtasm/rtasm_execmem.c', + 'rtasm/rtasm_execmem.h', + 'rtasm/rtasm_x86sse.c', + 'rtasm/rtasm_x86sse.h', + 'tgsi/tgsi_aa_point.c', + 'tgsi/tgsi_aa_point.h', + 'tgsi/tgsi_build.c', + 'tgsi/tgsi_build.h', + 'tgsi/tgsi_dump.c', + 'tgsi/tgsi_dump.h', + 'tgsi/tgsi_exec.c', + 'tgsi/tgsi_exec.h', + 'tgsi/tgsi_emulate.c', + 'tgsi/tgsi_emulate.h', + 'tgsi/tgsi_from_mesa.c', + 'tgsi/tgsi_from_mesa.h', + 'tgsi/tgsi_info.c', + 'tgsi/tgsi_info.h', + 'tgsi/tgsi_info_opcodes.h', + 'tgsi/tgsi_iterate.c', + 'tgsi/tgsi_iterate.h', + 'tgsi/tgsi_lowering.c', + 'tgsi/tgsi_lowering.h', + 'tgsi/tgsi_opcode_tmp.h', + 'tgsi/tgsi_parse.c', + 'tgsi/tgsi_parse.h', + 'tgsi/tgsi_point_sprite.c', + 'tgsi/tgsi_point_sprite.h', + 'tgsi/tgsi_sanity.c', + 'tgsi/tgsi_sanity.h', + 'tgsi/tgsi_scan.c', + 'tgsi/tgsi_scan.h', + 'tgsi/tgsi_strings.c', + 'tgsi/tgsi_strings.h', + 'tgsi/tgsi_text.c', + 'tgsi/tgsi_text.h', + 'tgsi/tgsi_transform.c', + 'tgsi/tgsi_transform.h', + 'tgsi/tgsi_two_side.c', + 'tgsi/tgsi_two_side.h', + 'tgsi/tgsi_ureg.c', + 'tgsi/tgsi_ureg.h', + 'tgsi/tgsi_util.c', + 'tgsi/tgsi_util.h', + 'translate/translate.c', + 'translate/translate.h', + 'translate/translate_cache.c', + 'translate/translate_cache.h', + 'translate/translate_generic.c', + 'translate/translate_sse.c', + 'util/dbghelp.h', + 'util/u_bitcast.h', + 'util/u_bitmask.c', + 'util/u_bitmask.h', + 'util/u_blend.h', + 'util/u_blit.c', + 'util/u_blit.h', + 'util/u_blitter.c', + 'util/u_blitter.h', + 'util/u_box.h', + 'util/u_cache.c', + 'util/u_cache.h', + 'util/u_cpu_detect.c', + 'util/u_cpu_detect.h', + 'util/u_debug.c', + 'util/u_debug.h', + 'util/u_debug_describe.c', + 'util/u_debug_describe.h', + 'util/u_debug_flush.c', + 'util/u_debug_flush.h', + 'util/u_debug_image.c', + 'util/u_debug_image.h', + 'util/u_debug_memory.c', + 'util/u_debug_refcnt.c', + 'util/u_debug_refcnt.h', + 'util/u_debug_stack.c', + 'util/u_debug_stack.h', + 'util/u_debug_symbol.c', + 'util/u_debug_symbol.h', + 'util/u_dirty_flags.h', + 'util/u_dirty_surfaces.h', + 'util/u_dl.c', + 'util/u_dl.h', + 'util/u_draw.c', + 'util/u_draw.h', + 'util/u_draw_quad.c', + 'util/u_draw_quad.h', + 'util/u_dual_blend.h', + 'util/u_dump_defines.c', + 'util/u_dump.h', + 'util/u_dump_state.c', + 'util/u_fifo.h', + 'util/u_format.c', + 'util/u_format.h', + 'util/u_format_etc.c', + 'util/u_format_etc.h', + 'util/u_format_latc.c', + 'util/u_format_latc.h', + 'util/u_format_other.c', + 'util/u_format_other.h', + 'util/u_format_rgtc.c', + 'util/u_format_rgtc.h', + 'util/u_format_s3tc.c', + 'util/u_format_s3tc.h', + 'util/u_format_tests.c', + 'util/u_format_tests.h', + 'util/u_format_yuv.c', + 'util/u_format_yuv.h', + 'util/u_format_zs.c', + 'util/u_format_zs.h', + 'util/u_framebuffer.c', + 'util/u_framebuffer.h', + 'util/u_gen_mipmap.c', + 'util/u_gen_mipmap.h', + 'util/u_half.h', + 'util/u_handle_table.c', + 'util/u_handle_table.h', + 'util/u_hash_table.c', + 'util/u_hash_table.h', + 'util/u_helpers.c', + 'util/u_helpers.h', + 'util/u_idalloc.c', + 'util/u_idalloc.h', + 'util/u_index_modify.c', + 'util/u_index_modify.h', + 'util/u_inlines.h', + 'util/u_linear.c', + 'util/u_linear.h', + 'util/u_log.c', + 'util/u_log.h', + 'util/u_math.c', + 'util/u_math.h', + 'util/u_memory.h', + 'util/u_mm.c', + 'util/u_mm.h', + 'util/u_network.c', + 'util/u_network.h', + 'util/u_pack_color.h', + 'util/u_pointer.h', + 'util/u_prim.h', + 'util/u_prim_restart.c', + 'util/u_prim_restart.h', + 'util/u_pstipple.c', + 'util/u_pstipple.h', + 'util/u_pwr8.h', + 'util/u_range.h', + 'util/u_rect.h', + 'util/u_resource.c', + 'util/u_resource.h', + 'util/u_ringbuffer.c', + 'util/u_ringbuffer.h', + 'util/u_sampler.c', + 'util/u_sampler.h', + 'util/u_simple_shaders.c', + 'util/u_simple_shaders.h', + 'util/u_split_prim.h', + 'util/u_sse.h', + 'util/u_suballoc.c', + 'util/u_suballoc.h', + 'util/u_surface.c', + 'util/u_surface.h', + 'util/u_surfaces.c', + 'util/u_surfaces.h', + 'util/u_tests.c', + 'util/u_tests.h', + 'util/u_texture.c', + 'util/u_texture.h', + 'util/u_tile.c', + 'util/u_tile.h', + 'util/u_time.h', + 'util/u_transfer.c', + 'util/u_transfer.h', + 'util/u_threaded_context.c', + 'util/u_threaded_context.h', + 'util/u_threaded_context_calls.h', + 'util/u_upload_mgr.c', + 'util/u_upload_mgr.h', + 'util/u_vbuf.c', + 'util/u_vbuf.h', + 'util/u_video.h', + 'util/u_viewport.h', + 'nir/tgsi_to_nir.c', + 'nir/tgsi_to_nir.h', +) + +if dep_libdrm != [] and dep_libdrm.found() + files_libgallium += files( + 'renderonly/renderonly.c', + 'renderonly/renderonly.h', + ) +endif + +if with_llvm + files_libgallium += files( + 'gallivm/lp_bld_arit.c', + 'gallivm/lp_bld_arit.h', + 'gallivm/lp_bld_arit_overflow.c', + 'gallivm/lp_bld_arit_overflow.h', + 'gallivm/lp_bld_assert.c', + 'gallivm/lp_bld_assert.h', + 'gallivm/lp_bld_bitarit.c', + 'gallivm/lp_bld_bitarit.h', + 'gallivm/lp_bld_const.c', + 'gallivm/lp_bld_const.h', + 'gallivm/lp_bld_conv.c', + 'gallivm/lp_bld_conv.h', + 'gallivm/lp_bld_debug.cpp', + 'gallivm/lp_bld_debug.h', + 'gallivm/lp_bld_flow.c', + 'gallivm/lp_bld_flow.h', + 'gallivm/lp_bld_format_aos_array.c', + 'gallivm/lp_bld_format_aos.c', + 'gallivm/lp_bld_format_cached.c', + 'gallivm/lp_bld_format_float.c', + 'gallivm/lp_bld_format.c', + 'gallivm/lp_bld_format.h', + 'gallivm/lp_bld_format_soa.c', + 'gallivm/lp_bld_format_srgb.c', + 'gallivm/lp_bld_format_yuv.c', + 'gallivm/lp_bld_gather.c', + 'gallivm/lp_bld_gather.h', + 'gallivm/lp_bld.h', + 'gallivm/lp_bld_init.c', + 'gallivm/lp_bld_init.h', + 'gallivm/lp_bld_intr.c', + 'gallivm/lp_bld_intr.h', + 'gallivm/lp_bld_limits.h', + 'gallivm/lp_bld_logic.c', + 'gallivm/lp_bld_logic.h', + 'gallivm/lp_bld_misc.cpp', + 'gallivm/lp_bld_misc.h', + 'gallivm/lp_bld_pack.c', + 'gallivm/lp_bld_pack.h', + 'gallivm/lp_bld_printf.c', + 'gallivm/lp_bld_printf.h', + 'gallivm/lp_bld_quad.c', + 'gallivm/lp_bld_quad.h', + 'gallivm/lp_bld_sample_aos.c', + 'gallivm/lp_bld_sample_aos.h', + 'gallivm/lp_bld_sample.c', + 'gallivm/lp_bld_sample.h', + 'gallivm/lp_bld_sample_soa.c', + 'gallivm/lp_bld_struct.c', + 'gallivm/lp_bld_struct.h', + 'gallivm/lp_bld_swizzle.c', + 'gallivm/lp_bld_swizzle.h', + 'gallivm/lp_bld_tgsi_action.c', + 'gallivm/lp_bld_tgsi_action.h', + 'gallivm/lp_bld_tgsi_aos.c', + 'gallivm/lp_bld_tgsi.c', + 'gallivm/lp_bld_tgsi.h', + 'gallivm/lp_bld_tgsi_info.c', + 'gallivm/lp_bld_tgsi_soa.c', + 'gallivm/lp_bld_type.c', + 'gallivm/lp_bld_type.h', + 'draw/draw_llvm.c', + 'draw/draw_llvm.h', + 'draw/draw_llvm_sample.c', + 'draw/draw_pt_fetch_shade_pipeline_llvm.c', + 'draw/draw_vs_llvm.c', + ) +endif + +files_libgalliumvl = files( + 'vl/vl_bicubic_filter.c', + 'vl/vl_bicubic_filter.h', + 'vl/vl_compositor.c', + 'vl/vl_compositor.h', + 'vl/vl_csc.c', + 'vl/vl_csc.h', + 'vl/vl_decoder.c', + 'vl/vl_decoder.h', + 'vl/vl_defines.h', + 'vl/vl_deint_filter.c', + 'vl/vl_deint_filter.h', + 'vl/vl_idct.c', + 'vl/vl_idct.h', + 'vl/vl_matrix_filter.c', + 'vl/vl_matrix_filter.h', + 'vl/vl_mc.c', + 'vl/vl_mc.h', + 'vl/vl_median_filter.c', + 'vl/vl_median_filter.h', + 'vl/vl_mpeg12_bitstream.c', + 'vl/vl_mpeg12_bitstream.h', + 'vl/vl_mpeg12_decoder.c', + 'vl/vl_mpeg12_decoder.h', + 'vl/vl_rbsp.h', + 'vl/vl_types.h', + 'vl/vl_vertex_buffers.c', + 'vl/vl_vertex_buffers.h', + 'vl/vl_video_buffer.c', + 'vl/vl_video_buffer.h', + 'vl/vl_vlc.h', + 'vl/vl_zscan.c', + 'vl/vl_zscan.h', +) + +files_libgalliumvlwinsys = files('vl/vl_winsys.h') +if with_dri2 + files_libgalliumvlwinsys += files('vl/vl_winsys_dri.c') + if with_dri3 + files_libgalliumvlwinsys += files('vl/vl_winsys_dri3.c') + endif +endif +if with_platform_drm + files_libgalliumvlwinsys += files('vl/vl_winsys_drm.c') +endif + +u_indices_gen_c = custom_target( + 'u_indices_gen.c', + input : 'indices/u_indices_gen.py', + output : 'u_indices_gen.c', + command : [prog_python2, '@INPUT@'], + capture : true, +) + +u_unfilled_gen_c = custom_target( + 'u_unfilled_gen.c', + input : 'indices/u_unfilled_gen.py', + output : 'u_unfilled_gen.c', + command : [prog_python2, '@INPUT@'], + capture : true, +) + +u_format_table_c = custom_target( + 'u_format_table.c', + input : ['util/u_format_table.py', 'util/u_format.csv'], + output : 'u_format_table.c', + command : [prog_python2, '@INPUT@'], + depend_files : files('util/u_format_pack.py', 'util/u_format_parse.py'), + capture : true, +) + +libgallium = static_library( + 'gallium', + [files_libgallium, u_indices_gen_c, u_unfilled_gen_c, u_format_table_c, + nir_opcodes_h], + include_directories : [ + inc_loader, inc_gallium, inc_src, inc_include, include_directories('util') + ], + c_args : [c_vis_args, c_msvc_compat_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + dependencies : [dep_libdrm, dep_llvm, dep_unwind, dep_dl], + build_by_default : false, +) + +libgalliumvl_stub = static_library( + 'galliumvl_stub', + 'vl/vl_stubs.c', + c_args : [c_vis_args, c_msvc_compat_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + include_directories: [inc_gallium, inc_include, inc_src], + build_by_default : false, +) + +libgalliumvl = static_library( + 'galliumvl', + files_libgalliumvl, + c_args : [c_vis_args, c_msvc_compat_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + include_directories : [inc_gallium, inc_include, inc_src], + build_by_default : false, +) + +# XXX: The dependencies here may be off... +libgalliumvlwinsys = static_library( + 'galliumvlwinsys', + files_libgalliumvlwinsys, + include_directories : [inc_gallium, inc_include, inc_loader, inc_src], + dependencies : [dep_libdrm], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/auxiliary/pipe-loader/meson.build +++ mesa-17.3.3/src/gallium/auxiliary/pipe-loader/meson.build @@ -0,0 +1,69 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +files_pipe_loader = files( + 'pipe_loader.c', + 'pipe_loader.h', + 'pipe_loader_priv.h', + 'pipe_loader_sw.c', + 'driinfo_gallium.h', +) + +libpipe_loader_defines = [] + +if dep_libdrm.found() + files_pipe_loader += files('pipe_loader_drm.c') +endif +if with_gallium_drisw_kms + libpipe_loader_defines += '-DHAVE_PIPE_LOADER_KMS' +endif + +libpipe_loader_static = static_library( + 'pipe_loader_static', + files_pipe_loader, + include_directories : [ + inc_util, inc_loader, inc_gallium, inc_include, inc_src, inc_gallium_aux, + inc_gallium_winsys, + ], + c_args : [ + c_vis_args, '-DHAVE_PIPE_LOADER_DRI', '-DGALLIUM_STATIC_TARGETS=1', + libpipe_loader_defines, + ], + link_with : [libloader, libxmlconfig], + dependencies : [dep_libdrm], + build_by_default : false, +) + +libpipe_loader_dynamic = static_library( + 'pipe_loader_dynamic', + files_pipe_loader, + include_directories : [ + inc_util, inc_loader, inc_gallium, inc_include, inc_src, inc_gallium_aux, + inc_gallium_winsys, + ], + c_args : [ + c_vis_args, libpipe_loader_defines, '-DHAVE_PIPE_LOADER_DRI', + '-DPIPE_SEARCH_DIR="@0@"'.format(join_paths(get_option('libdir'), 'gallium-pipe') + ) + ], + link_with : [libloader, libxmlconfig], + dependencies : [dep_libdrm], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/drivers/ddebug/meson.build +++ mesa-17.3.3/src/gallium/drivers/ddebug/meson.build @@ -0,0 +1,28 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libddebug = static_library( + 'ddebug', + files('dd_context.c', 'dd_draw.c', 'dd_pipe.h', 'dd_public.h', 'dd_screen.c', + 'dd_util.h'), + c_args : [c_vis_args], + include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/drivers/llvmpipe/meson.build +++ mesa-17.3.3/src/gallium/drivers/llvmpipe/meson.build @@ -0,0 +1,116 @@ +# 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. + +files_llvmpipe = files( + 'lp_bld_alpha.c', + 'lp_bld_alpha.h', + 'lp_bld_blend_aos.c', + 'lp_bld_blend.c', + 'lp_bld_blend.h', + 'lp_bld_blend_logicop.c', + 'lp_bld_depth.c', + 'lp_bld_depth.h', + 'lp_bld_interp.c', + 'lp_bld_interp.h', + 'lp_clear.c', + 'lp_clear.h', + 'lp_context.c', + 'lp_context.h', + 'lp_debug.h', + 'lp_draw_arrays.c', + 'lp_fence.c', + 'lp_fence.h', + 'lp_flush.c', + 'lp_flush.h', + 'lp_jit.c', + 'lp_jit.h', + 'lp_limits.h', + 'lp_memory.c', + 'lp_memory.h', + 'lp_perf.c', + 'lp_perf.h', + 'lp_public.h', + 'lp_query.c', + 'lp_query.h', + 'lp_rast.c', + 'lp_rast_debug.c', + 'lp_rast.h', + 'lp_rast_priv.h', + 'lp_rast_tri.c', + 'lp_rast_tri_tmp.h', + 'lp_scene.c', + 'lp_scene.h', + 'lp_scene_queue.c', + 'lp_scene_queue.h', + 'lp_screen.c', + 'lp_screen.h', + 'lp_setup.c', + 'lp_setup_context.h', + 'lp_setup.h', + 'lp_setup_line.c', + 'lp_setup_point.c', + 'lp_setup_tri.c', + 'lp_setup_vbuf.c', + 'lp_state_blend.c', + 'lp_state_clip.c', + 'lp_state_derived.c', + 'lp_state_fs.c', + 'lp_state_fs.h', + 'lp_state_gs.c', + 'lp_state.h', + 'lp_state_rasterizer.c', + 'lp_state_sampler.c', + 'lp_state_setup.c', + 'lp_state_setup.h', + 'lp_state_so.c', + 'lp_state_surface.c', + 'lp_state_vertex.c', + 'lp_state_vs.c', + 'lp_surface.c', + 'lp_surface.h', + 'lp_tex_sample.c', + 'lp_tex_sample.h', + 'lp_texture.c', + 'lp_texture.h', +) + +libllvmpipe = static_library( + 'llvmpipe', + files_llvmpipe, + c_args : [c_vis_args, c_msvc_compat_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + include_directories : [inc_gallium, inc_gallium_aux, inc_include, inc_src], + dependencies : dep_llvm, + build_by_default : false, +) + +if with_tests and with_gallium_softpipe and with_llvm + foreach t : ['lp_test_format', 'lp_test_arit', 'lp_test_blend', + 'lp_test_conv', 'lp_test_printf'] + test(t, executable( + t, + ['@0@.c'.format(t), 'lp_test_main.c'], + dependencies : [dep_llvm, dep_dl, dep_thread, dep_clock], + include_directories : [inc_gallium, inc_gallium_aux, inc_include, inc_src], + link_with : [libllvmpipe, libgallium, libmesa_util], + ) + ) + endforeach +endif --- mesa-17.3.3.orig/src/gallium/drivers/noop/meson.build +++ mesa-17.3.3/src/gallium/drivers/noop/meson.build @@ -0,0 +1,27 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libnoop = static_library( + 'noop', + files('noop_pipe.c', 'noop_public.h', 'noop_state.c'), + c_args : [c_vis_args], + include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/drivers/nouveau/meson.build +++ mesa-17.3.3/src/gallium/drivers/nouveau/meson.build @@ -0,0 +1,224 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +files_libnouveau = files( + 'nouveau_buffer.c', + 'nouveau_buffer.h', + 'nouveau_context.h', + 'nouveau_debug.h', + 'nouveau_fence.c', + 'nouveau_fence.h', + 'nouveau_gldefs.h', + 'nouveau_heap.c', + 'nouveau_heap.h', + 'nouveau_mm.c', + 'nouveau_mm.h', + 'nouveau_screen.c', + 'nouveau_screen.h', + 'nouveau_statebuf.h', + 'nouveau_video.c', + 'nouveau_video.h', + 'nouveau_vp3_video_bsp.c', + 'nouveau_vp3_video.c', + 'nouveau_vp3_video.h', + 'nouveau_vp3_video_vp.c', + 'nouveau_winsys.h', + 'nv17_mpeg.xml.h', + 'nv31_mpeg.xml.h', + 'nv_m2mf.xml.h', + 'nv_object.xml.h', + 'nv30/nv01_2d.xml.h', + 'nv30/nv30-40_3d.xml.h', + 'nv30/nv30_clear.c', + 'nv30/nv30_context.c', + 'nv30/nv30_context.h', + 'nv30/nv30_draw.c', + 'nv30/nv30_format.c', + 'nv30/nv30_format.h', + 'nv30/nv30_fragprog.c', + 'nv30/nv30_fragtex.c', + 'nv30/nv30_miptree.c', + 'nv30/nv30_push.c', + 'nv30/nv30_query.c', + 'nv30/nv30_resource.c', + 'nv30/nv30_resource.h', + 'nv30/nv30_screen.c', + 'nv30/nv30_screen.h', + 'nv30/nv30_state.c', + 'nv30/nv30_state.h', + 'nv30/nv30_state_validate.c', + 'nv30/nv30_texture.c', + 'nv30/nv30_transfer.c', + 'nv30/nv30_transfer.h', + 'nv30/nv30_vbo.c', + 'nv30/nv30_vertprog.c', + 'nv30/nv30_vertprog.h', + 'nv30/nv30_winsys.h', + 'nv30/nv40_vertprog.h', + 'nv30/nv40_verttex.c', + 'nv30/nvfx_fragprog.c', + 'nv30/nvfx_shader.h', + 'nv30/nvfx_vertprog.c', + 'nv50/g80_defs.xml.h', + 'nv50/g80_texture.xml.h', + 'nv50/nv50_2d.xml.h', + 'nv50/nv50_3ddefs.xml.h', + 'nv50/nv50_3d.xml.h', + 'nv50/nv50_blit.h', + 'nv50/nv50_compute.c', + 'nv50/nv50_compute.xml.h', + 'nv50/nv50_context.c', + 'nv50/nv50_context.h', + 'nv50/nv50_formats.c', + 'nv50/nv50_miptree.c', + 'nv50/nv50_program.c', + 'nv50/nv50_program.h', + 'nv50/nv50_push.c', + 'nv50/nv50_query.c', + 'nv50/nv50_query.h', + 'nv50/nv50_query_hw.c', + 'nv50/nv50_query_hw.h', + 'nv50/nv50_query_hw_metric.c', + 'nv50/nv50_query_hw_metric.h', + 'nv50/nv50_query_hw_sm.c', + 'nv50/nv50_query_hw_sm.h', + 'nv50/nv50_resource.c', + 'nv50/nv50_resource.h', + 'nv50/nv50_screen.c', + 'nv50/nv50_screen.h', + 'nv50/nv50_shader_state.c', + 'nv50/nv50_state.c', + 'nv50/nv50_stateobj.h', + 'nv50/nv50_stateobj_tex.h', + 'nv50/nv50_state_validate.c', + 'nv50/nv50_surface.c', + 'nv50/nv50_tex.c', + 'nv50/nv50_transfer.c', + 'nv50/nv50_transfer.h', + 'nv50/nv50_vbo.c', + 'nv50/nv50_winsys.h', + 'nv50/nv84_video_bsp.c', + 'nv50/nv84_video.c', + 'nv50/nv84_video.h', + 'nv50/nv84_video_vp.c', + 'nv50/nv98_video_bsp.c', + 'nv50/nv98_video.c', + 'nv50/nv98_video.h', + 'nv50/nv98_video_ppp.c', + 'nv50/nv98_video_vp.c', + 'codegen/nv50_ir.cpp', + 'codegen/nv50_ir_bb.cpp', + 'codegen/nv50_ir_build_util.cpp', + 'codegen/nv50_ir_build_util.h', + 'codegen/nv50_ir_driver.h', + 'codegen/nv50_ir_emit_nv50.cpp', + 'codegen/nv50_ir_from_tgsi.cpp', + 'codegen/nv50_ir_graph.cpp', + 'codegen/nv50_ir_graph.h', + 'codegen/nv50_ir.h', + 'codegen/nv50_ir_inlines.h', + 'codegen/nv50_ir_lowering_nv50.cpp', + 'codegen/nv50_ir_peephole.cpp', + 'codegen/nv50_ir_print.cpp', + 'codegen/nv50_ir_ra.cpp', + 'codegen/nv50_ir_ssa.cpp', + 'codegen/nv50_ir_target.cpp', + 'codegen/nv50_ir_target.h', + 'codegen/nv50_ir_target_nv50.cpp', + 'codegen/nv50_ir_target_nv50.h', + 'codegen/nv50_ir_util.cpp', + 'codegen/nv50_ir_util.h', + 'codegen/unordered_set.h', + 'codegen/nv50_ir_emit_gk110.cpp', + 'codegen/nv50_ir_emit_gm107.cpp', + 'codegen/nv50_ir_emit_nvc0.cpp', + 'codegen/nv50_ir_lowering_gm107.cpp', + 'codegen/nv50_ir_lowering_gm107.h', + 'codegen/nv50_ir_lowering_nvc0.cpp', + 'codegen/nv50_ir_lowering_nvc0.h', + 'codegen/nv50_ir_target_gm107.cpp', + 'codegen/nv50_ir_target_gm107.h', + 'codegen/nv50_ir_target_nvc0.cpp', + 'codegen/nv50_ir_target_nvc0.h', + 'nvc0/gm107_texture.xml.h', + 'nvc0/nvc0_3d.xml.h', + 'nvc0/nvc0_compute.c', + 'nvc0/nvc0_compute.xml.h', + 'nvc0/nvc0_context.c', + 'nvc0/nvc0_context.h', + 'nvc0/nvc0_formats.c', + 'nvc0/nvc0_m2mf.xml.h', + 'nvc0/nvc0_macros.h', + 'nvc0/nvc0_miptree.c', + 'nvc0/nvc0_program.c', + 'nvc0/nvc0_program.h', + 'nvc0/nvc0_query.c', + 'nvc0/nvc0_query.h', + 'nvc0/nvc0_query_hw.c', + 'nvc0/nvc0_query_hw.h', + 'nvc0/nvc0_query_hw_metric.c', + 'nvc0/nvc0_query_hw_metric.h', + 'nvc0/nvc0_query_hw_sm.c', + 'nvc0/nvc0_query_hw_sm.h', + 'nvc0/nvc0_query_sw.c', + 'nvc0/nvc0_query_sw.h', + 'nvc0/nvc0_resource.c', + 'nvc0/nvc0_resource.h', + 'nvc0/nvc0_screen.c', + 'nvc0/nvc0_screen.h', + 'nvc0/nvc0_shader_state.c', + 'nvc0/nvc0_state.c', + 'nvc0/nvc0_stateobj.h', + 'nvc0/nvc0_state_validate.c', + 'nvc0/nvc0_surface.c', + 'nvc0/nvc0_tex.c', + 'nvc0/nvc0_transfer.c', + 'nvc0/nvc0_vbo.c', + 'nvc0/nvc0_vbo_translate.c', + 'nvc0/nvc0_video_bsp.c', + 'nvc0/nvc0_video.c', + 'nvc0/nvc0_video.h', + 'nvc0/nvc0_video_ppp.c', + 'nvc0/nvc0_video_vp.c', + 'nvc0/nvc0_winsys.h', + 'nvc0/nve4_compute.c', + 'nvc0/nve4_compute.h', + 'nvc0/nve4_compute.xml.h', + 'nvc0/nve4_p2mf.xml.h', +) + +libnouveau = static_library( + 'nouveau', + [files_libnouveau], + include_directories : [inc_src, inc_include, inc_gallium, inc_gallium_aux], + c_args : [c_vis_args], + cpp_args : [cpp_vis_args], + dependencies : [dep_libdrm, dep_libdrm_nouveau], + build_by_default : false, +) + +nouveau_compiler = executable( + 'nouveau_compiler', + 'nouveau_compiler.c', + include_directories : [inc_src, inc_include, inc_gallium, inc_gallium_aux], + dependencies : [dep_libdrm, dep_libdrm_nouveau], + link_with : [libnouveau, libgallium, libmesa_util], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/drivers/pl111/Makefile.sources +++ mesa-17.3.3/src/gallium/drivers/pl111/Makefile.sources @@ -0,0 +1,2 @@ +C_SOURCES := + --- mesa-17.3.3.orig/src/gallium/drivers/radeon/meson.build +++ mesa-17.3.3/src/gallium/drivers/radeon/meson.build @@ -0,0 +1,55 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +files_libradeon = files( + 'r600_buffer_common.c', + 'r600_cs.h', + 'r600_gpu_load.c', + 'r600_perfcounter.c', + 'r600_pipe_common.c', + 'r600_pipe_common.h', + 'r600_query.c', + 'r600_query.h', + 'r600_test_dma.c', + 'r600_texture.c', + 'radeon_uvd.c', + 'radeon_uvd.h', + 'radeon_vcn_dec.c', + 'radeon_vcn_dec.h', + 'radeon_vce_40_2_2.c', + 'radeon_vce_50.c', + 'radeon_vce_52.c', + 'radeon_vce.c', + 'radeon_vce.h', + 'radeon_video.c', + 'radeon_video.h', + 'radeon_winsys.h', +) + +libradeon = static_library( + 'radeon', + files_libradeon, + c_args : ['-Wstrict-overflow=0', c_vis_args], + dependencies : [dep_llvm, dep_clock], + include_directories : [ + inc_include, inc_src, inc_gallium, inc_gallium_aux, inc_gallium_drivers, + ], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/drivers/radeonsi/meson.build +++ mesa-17.3.3/src/gallium/drivers/radeonsi/meson.build @@ -0,0 +1,78 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +files_libradeonsi = files( + 'cik_sdma.c', + 'driinfo_radeonsi.h', + 'si_blit.c', + 'si_compute.c', + 'si_compute.h', + 'si_cp_dma.c', + 'si_debug.c', + 'si_descriptors.c', + 'si_dma.c', + 'si_hw_context.c', + 'si_pipe.c', + 'si_pipe.h', + 'si_pm4.c', + 'si_pm4.h', + 'si_perfcounter.c', + 'si_public.h', + 'si_shader.c', + 'si_shader.h', + 'si_shader_internal.h', + 'si_shader_nir.c', + 'si_shader_tgsi_alu.c', + 'si_shader_tgsi_mem.c', + 'si_shader_tgsi_setup.c', + 'si_state.c', + 'si_state_binning.c', + 'si_state_draw.c', + 'si_state_msaa.c', + 'si_state_shaders.c', + 'si_state_streamout.c', + 'si_state_viewport.c', + 'si_state.h', + 'si_uvd.c', +) + +si_driinfo_h = custom_target( + 'si_driinfo.h', + input : files( + '../../../util/merge_driinfo.py', + '../../auxiliary/pipe-loader/driinfo_gallium.h', 'driinfo_radeonsi.h' + ), + output : 'si_driinfo.h', + command : [prog_python2, '@INPUT@'], + capture : true, +) + +libradeonsi = static_library( + 'radeonsi', + [files_libradeonsi, si_driinfo_h, nir_opcodes_h, sid_tables_h], + include_directories : [ + inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_amd_common, + inc_gallium_drivers, + ], + c_args : [c_vis_args], + cpp_args : [cpp_vis_args], + dependencies : dep_llvm, + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/drivers/rbug/meson.build +++ mesa-17.3.3/src/gallium/drivers/rbug/meson.build @@ -0,0 +1,28 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +librbug = static_library( + 'rbug', + files('rbug_context.c', 'rbug_context.h', 'rbug_core.c', 'rbug_objects.c', + 'rbug_objects.h', 'rbug_public.h', 'rbug_screen.c', 'rbug_screen.h'), + include_directories : [inc_gallium, inc_gallium_aux, inc_include, inc_src], + c_args : [c_vis_args], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/drivers/softpipe/meson.build +++ mesa-17.3.3/src/gallium/drivers/softpipe/meson.build @@ -0,0 +1,85 @@ +# 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. + +files_softpipe = files( + 'sp_buffer.c', + 'sp_buffer.h', + 'sp_clear.c', + 'sp_clear.h', + 'sp_context.c', + 'sp_context.h', + 'sp_compute.c', + 'sp_draw_arrays.c', + 'sp_fence.c', + 'sp_fence.h', + 'sp_flush.c', + 'sp_flush.h', + 'sp_fs_exec.c', + 'sp_fs.h', + 'sp_image.c', + 'sp_image.h', + 'sp_limits.h', + 'sp_prim_vbuf.c', + 'sp_prim_vbuf.h', + 'sp_public.h', + 'sp_quad_blend.c', + 'sp_quad_depth_test.c', + 'sp_quad_depth_test_tmp.h', + 'sp_quad_fs.c', + 'sp_quad.h', + 'sp_quad_pipe.c', + 'sp_quad_pipe.h', + 'sp_quad_stipple.c', + 'sp_query.c', + 'sp_query.h', + 'sp_screen.c', + 'sp_screen.h', + 'sp_setup.c', + 'sp_setup.h', + 'sp_state_blend.c', + 'sp_state_clip.c', + 'sp_state_derived.c', + 'sp_state_image.c', + 'sp_state.h', + 'sp_state_rasterizer.c', + 'sp_state_sampler.c', + 'sp_state_shader.c', + 'sp_state_so.c', + 'sp_state_surface.c', + 'sp_state_vertex.c', + 'sp_surface.c', + 'sp_surface.h', + 'sp_tex_sample.c', + 'sp_tex_sample.h', + 'sp_tex_tile_cache.c', + 'sp_tex_tile_cache.h', + 'sp_texture.c', + 'sp_texture.h', + 'sp_tile_cache.c', + 'sp_tile_cache.h', +) + +libsoftpipe = static_library( + 'softpipe', + files_softpipe, + include_directories : [inc_gallium_aux, inc_gallium, inc_include, inc_src], + c_args : [c_vis_args, c_msvc_compat_args], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/drivers/trace/meson.build +++ mesa-17.3.3/src/gallium/drivers/trace/meson.build @@ -0,0 +1,29 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libtrace = static_library( + 'trace', + files('tr_context.c', 'tr_context.h', 'tr_dump.c', 'tr_dump_defines.h', + 'tr_dump.h', 'tr_dump_state.c', 'tr_dump_state.h', 'tr_public.h', + 'tr_screen.c', 'tr_screen.h', 'tr_texture.c', 'tr_texture.h'), + c_args : [c_msvc_compat_args, c_vis_args], + include_directories : [inc_gallium, inc_gallium_aux, inc_include, inc_src], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/drivers/vc4/meson.build +++ mesa-17.3.3/src/gallium/drivers/vc4/meson.build @@ -0,0 +1,101 @@ +# Copyright © 2017 Broadcom +# +# 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. + +files_libvc4 = files( + 'kernel/vc4_drv.h', + 'kernel/vc4_gem.c', + 'kernel/vc4_packet.h', + 'kernel/vc4_render_cl.c', + 'kernel/vc4_validate.c', + 'kernel/vc4_validate_shaders.c', + 'vc4_blit.c', + 'vc4_bufmgr.c', + 'vc4_bufmgr.h', + 'vc4_cl.c', + 'vc4_cl_dump.c', + 'vc4_cl_dump.h', + 'vc4_cl.h', + 'vc4_context.c', + 'vc4_context.h', + 'vc4_draw.c', + 'vc4_emit.c', + 'vc4_fence.c', + 'vc4_formats.c', + 'vc4_job.c', + 'vc4_nir_lower_blend.c', + 'vc4_nir_lower_io.c', + 'vc4_nir_lower_txf_ms.c', + 'vc4_opt_algebraic.c', + 'vc4_opt_constant_folding.c', + 'vc4_opt_copy_propagation.c', + 'vc4_opt_dead_code.c', + 'vc4_opt_peephole_sf.c', + 'vc4_opt_small_immediates.c', + 'vc4_opt_vpm.c', + 'vc4_opt_coalesce_ff_writes.c', + 'vc4_program.c', + 'vc4_qir.c', + 'vc4_qir_emit_uniform_stream_resets.c', + 'vc4_qir_live_variables.c', + 'vc4_qir_lower_uniforms.c', + 'vc4_qir_schedule.c', + 'vc4_qir_validate.c', + 'vc4_qir.h', + 'vc4_qpu.c', + 'vc4_qpu_defines.h', + 'vc4_qpu_disasm.c', + 'vc4_qpu_emit.c', + 'vc4_qpu.h', + 'vc4_qpu_schedule.c', + 'vc4_qpu_validate.c', + 'vc4_query.c', + 'vc4_register_allocate.c', + 'vc4_reorder_uniforms.c', + 'vc4_resource.c', + 'vc4_resource.h', + 'vc4_screen.c', + 'vc4_screen.h', + 'vc4_simulator.c', + 'vc4_simulator_validate.h', + 'vc4_state.c', + 'vc4_tiling.c', + 'vc4_tiling_lt.c', + 'vc4_tiling.h', + 'vc4_uniforms.c', +) + +simpenrose_c_args = [] +dep_simpenrose = dependency('simpenrose', required : false) +if dep_simpenrose.found() + simpenrose_c_args = '-DUSE_VC4_SIMULATOR' +endif + +libvc4 = static_library( + 'vc4', + [files_libvc4, v3d_xml_pack, nir_opcodes_h, nir_builder_opcodes_h], + include_directories : [ + inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom, + inc_gallium_drivers, inc_drm_uapi, + ], + c_args : [c_vis_args, simpenrose_c_args], + cpp_args : [cpp_vis_args], + dependencies : [dep_simpenrose, dep_libdrm, dep_valgrind], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/drivers/vc5/meson.build +++ mesa-17.3.3/src/gallium/drivers/vc5/meson.build @@ -0,0 +1,65 @@ +# Copyright © 2017 Broadcom +# +# 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. + +files_libvc5 = files( + 'vc5_blit.c', + 'vc5_bufmgr.c', + 'vc5_bufmgr.h', + 'vc5_cl.c', + 'vc5_cl.h', + 'vc5_context.c', + 'vc5_context.h', + 'vc5_draw.c', + 'vc5_emit.c', + 'vc5_fence.c', + 'vc5_formats.c', + 'vc5_job.c', + 'vc5_program.c', + 'vc5_query.c', + 'vc5_rcl.c', + 'vc5_resource.c', + 'vc5_resource.h', + 'vc5_screen.c', + 'vc5_screen.h', + 'vc5_simulator.c', + 'vc5_state.c', + 'vc5_tiling.c', + 'vc5_tiling.h', + 'vc5_uniforms.c', +) + +v3dv3_c_args = [] +dep_v3dv3 = dependency('v3dv3') +if dep_v3dv3.found() + v3dv3_c_args = '-DUSE_VC5_SIMULATOR' +endif + +libvc5 = static_library( + 'vc5', + [files_libvc5, v3d_xml_pack, nir_opcodes_h, nir_builder_opcodes_h], + include_directories : [ + inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_broadcom, + inc_gallium_drivers, inc_drm_uapi, + ], + c_args : [c_vis_args, v3dv3_c_args], + cpp_args : [cpp_vis_args], + dependencies : [dep_v3dv3, dep_libdrm, dep_valgrind], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/meson.build +++ mesa-17.3.3/src/gallium/meson.build @@ -0,0 +1,81 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +inc_gallium = include_directories('include') +inc_gallium_drivers = include_directories('drivers') +inc_gallium_winsys = include_directories('winsys') + +subdir('auxiliary') +subdir('auxiliary/pipe-loader') +subdir('drivers/ddebug') +subdir('drivers/noop') +subdir('drivers/trace') +subdir('drivers/rbug') +subdir('drivers/radeon') +subdir('drivers/radeonsi') +subdir('drivers/nouveau') +subdir('drivers/softpipe') +if with_gallium_vc4 + subdir('drivers/vc4') +endif +if with_gallium_vc5 + subdir('drivers/vc5') +endif +subdir('drivers/llvmpipe') +subdir('winsys/sw/null') +subdir('winsys/sw/dri') +subdir('winsys/sw/kms-dri') +subdir('winsys/sw/wrapper') +if with_gallium_vc4 + subdir('winsys/pl111/drm') +endif +subdir('winsys/radeon/drm') +subdir('winsys/amdgpu/drm') +subdir('winsys/nouveau/drm') +if with_gallium_vc4 + subdir('winsys/vc4/drm') +endif +if with_gallium_vc5 + subdir('winsys/vc5/drm') +endif +subdir('state_trackers/dri') +# TODO: freedreno +# TODO: i915 +# TODO: SVGA +# TODO: r300 +# TODO: r600 +# TODO: etnaviv +# TODO: IMX +# TODO: SWR +# TODO: virgl +# TODO: winsys/sw/xlib +# TODO: clover +if with_dri and with_gallium + subdir('targets/dri') +endif +# TODO: xlib-glx +# TODO: OMX +# TODO: osmesa +# TODO: VA +# TODO: vdpau +# TODO: xa +# TODO: xvmc +# TODO: nine +# TODO: tests --- mesa-17.3.3.orig/src/gallium/state_trackers/dri/meson.build +++ mesa-17.3.3/src/gallium/state_trackers/dri/meson.build @@ -0,0 +1,57 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +files_libdri = files( + 'dri_context.c', + 'dri_context.h', + 'dri_drawable.c', + 'dri_drawable.h', + 'dri_helpers.c', + 'dri_helpers.h', + 'dri_query_renderer.c', + 'dri_query_renderer.h', + 'dri_screen.c', + 'dri_screen.h', +) + +if with_dri + files_libdri += files('drisw.c') +endif + +if with_dri2 + files_libdri += files('dri2.c', 'dri2_buffer.h') +endif + +libdri_c_args = [] +if with_gallium_softpipe + libdri_c_args += '-DGALLIUM_SOFTPIPE' +endif + +libdri = static_library( + 'dri', + files_libdri, + include_directories : [ + inc_include, inc_util, inc_mesa, inc_mapi, inc_src, inc_gallium, + inc_gallium_aux, inc_dri_common, + ], + c_args : [c_vis_args, libdri_c_args], + dependencies : dep_libdrm, + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/targets/dri/meson.build +++ mesa-17.3.3/src/gallium/targets/dri/meson.build @@ -0,0 +1,129 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +# TODO: support non-static targets +# Static targets are always enabled in autotools (unless you modify +# configure.ac) + +gallium_dri_c_args = [ + '-DGALLIUM_DDEBUG', + '-DGALLIUM_NOOP', + '-DGALLIUM_RBUG', + '-DGALLIUME_TRACE', +] +gallium_dri_ld_args = [] +gallium_dri_link_with = [] +gallium_dri_depends = [] +gallium_dri_link_depends = [] +gallium_dri_drivers = [] +gallium_dri_sources = [] + +if with_ld_version_script + gallium_dri_ld_args += ['-Wl,--version-script', join_paths(meson.current_source_dir(), 'dri.sym')] + gallium_dri_link_depends += files('dri.sym') +endif +if with_ld_dynamic_list + gallium_dri_ld_args += ['-Wl,--dynamic-list', join_paths(meson.current_source_dir(), '../dri-vdpau.dyn')] + gallium_dri_link_depends += files('../dri-vdpau.dyn') +endif + +if with_dri + gallium_dri_link_with += libswdri +endif +if with_gallium_drisw_kms + gallium_dri_link_with += libswkmsdri +endif + +if with_gallium_pl111 + gallium_dri_c_args += '-DGALLIUM_PL111' + gallium_dri_link_with += [libpl111winsys] + gallium_dri_drivers += 'pl111_dri.so' +endif +if with_gallium_radeonsi + gallium_dri_c_args += '-DGALLIUM_RADEONSI' + gallium_dri_link_with += [ + libradeonsi, libradeonwinsys, libamdgpuwinsys, libradeon, + libamd_common, + ] + gallium_dri_drivers += 'radeonsi_dri.so' +endif +if with_gallium_nouveau + gallium_dri_c_args += '-DGALLIUM_NOUVEAU' + gallium_dri_link_with += [libnouveauwinsys, libnouveau] + gallium_dri_drivers += 'nouveau_dri.so' +endif +if with_gallium_softpipe + gallium_dri_c_args += '-DGALLIUM_SOFTPIPE' + gallium_dri_link_with += libsoftpipe + gallium_dri_drivers += 'swrast_dri.so' + if with_gallium_drisw_kms + gallium_dri_drivers += 'kms_swrast_dri.so' + endif + if with_llvm + gallium_dri_c_args += '-DGALLIUM_LLVMPIPE' + gallium_dri_link_with += libllvmpipe + endif +endif +if with_gallium_vc4 + gallium_dri_c_args += '-DGALLIUM_VC4' + gallium_dri_link_with += [libvc4, libvc4winsys] + gallium_dri_drivers += 'vc4_dri.so' +endif +if with_gallium_vc5 + gallium_dri_c_args += '-DGALLIUM_VC5' + gallium_dri_link_with += [libvc5, libvc5winsys, libbroadcom_vc5] + gallium_dri_drivers += 'vc5_dri.so' +endif + +if with_gallium_vc4 or with_gallium_vc5 + gallium_dri_link_with += libbroadcom_cle +endif + +if with_gallium_vc4 or with_gallium_vc5 or with_gallium_radeonsi + gallium_dri_link_with += libnir +endif + +libgallium_dri = shared_library( + 'gallium_dri', + [files('target.c'), gallium_dri_sources], + include_directories : [ + inc_common, inc_util, inc_dri_common, inc_gallium_drivers, + inc_gallium_winsys, include_directories('../../state_trackers/dri'), + ], + c_args : [c_vis_args, gallium_dri_c_args], + cpp_args : [cpp_vis_args], + link_args : [ld_args_gc_sections, gallium_dri_ld_args], + link_depends : gallium_dri_link_depends, + link_with : [ + libmesa_gallium, libdricommon, libmegadriver_stub, libdri, libgalliumvl, + libgallium, libddebug, libnoop, librbug, libtrace, libglapi, + libpipe_loader_static, libws_null, libwsw, gallium_dri_link_with, + ], + dependencies : [ + gallium_dri_depends, dep_selinux, dep_expat, dep_libdrm, dep_llvm, + ], +) + +meson.add_install_script( + join_paths(meson.source_root(), 'bin/install_megadrivers.py'), + libgallium_dri.full_path(), + dri_drivers_path, + gallium_dri_drivers, +) --- mesa-17.3.3.orig/src/gallium/winsys/amdgpu/drm/meson.build +++ mesa-17.3.3/src/gallium/winsys/amdgpu/drm/meson.build @@ -0,0 +1,36 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libamdgpuwinsys = static_library( + 'amdgpuwinsys', + files( + 'amdgpu_bo.c', 'amdgpu_bo.h', 'amdgpu_cs.c', 'amdgpu_cs.h', + 'amdgpu_public.h', 'amdgpu_surface.c', 'amdgpu_winsys.c', + 'amdgpu_winsys.h', + ), + include_directories : [ + inc_amd, inc_gallium, inc_gallium_aux, inc_include, inc_src, + ], + c_args : [c_vis_args], + cpp_args : [cpp_vis_args], + link_with : libamdgpu_addrlib, + dependencies : dep_libdrm_amdgpu, + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/winsys/nouveau/drm/meson.build +++ mesa-17.3.3/src/gallium/winsys/nouveau/drm/meson.build @@ -0,0 +1,30 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libnouveauwinsys = static_library( + 'nouveauwinsys', + files('nouveau_drm_public.h', 'nouveau_drm_winsys.c'), + include_directories : [ + inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_gallium_drivers, + ], + c_args : [c_vis_args], + dependencies : [dep_libdrm_nouveau], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/winsys/pl111/drm/meson.build +++ mesa-17.3.3/src/gallium/winsys/pl111/drm/meson.build @@ -0,0 +1,30 @@ +# Copyright © 2017 Broadcom +# +# 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. + +libpl111winsys = static_library( + 'pl111winsys', + files('pl111_drm_winsys.c'), + include_directories : [ + inc_src, inc_include, + inc_gallium, inc_gallium_aux, inc_gallium_winsys, + ], + c_args : [c_vis_args], + dependencies: dep_libdrm, +) --- mesa-17.3.3.orig/src/gallium/winsys/radeon/drm/meson.build +++ mesa-17.3.3/src/gallium/winsys/radeon/drm/meson.build @@ -0,0 +1,30 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libradeonwinsys = static_library( + 'radeonwinsys', + files('radeon_drm_bo.c', 'radeon_drm_bo.h', 'radeon_drm_cs.c', + 'radeon_drm_cs.h', 'radeon_drm_public.h', 'radeon_drm_surface.c', + 'radeon_drm_winsys.c', 'radeon_drm_winsys.h'), + include_directories : [inc_src, inc_include, inc_gallium, inc_gallium_aux], + c_args : [c_vis_args], + dependencies : [dep_libdrm_radeon], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/winsys/sw/dri/meson.build +++ mesa-17.3.3/src/gallium/winsys/sw/dri/meson.build @@ -0,0 +1,27 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libswdri = static_library( + 'swdri', + files('dri_sw_winsys.c', 'dri_sw_winsys.h'), + c_args : c_vis_args, + include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/winsys/sw/kms-dri/meson.build +++ mesa-17.3.3/src/gallium/winsys/sw/kms-dri/meson.build @@ -0,0 +1,29 @@ +# 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. + + +libswkmsdri = static_library( + 'swkmsdri', + files('kms_dri_sw_winsys.c', 'kms_dri_sw_winsys.h'), + c_args : c_vis_args, + include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux], + dependencies : dep_libdrm, + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/winsys/sw/null/meson.build +++ mesa-17.3.3/src/gallium/winsys/sw/null/meson.build @@ -0,0 +1,27 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libws_null = static_library( + 'ws_null', + files('null_sw_winsys.c', 'null_sw_winsys.h'), + c_args : c_vis_args, + include_directories : [inc_gallium, inc_src, inc_gallium_aux, inc_include], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/winsys/sw/wrapper/meson.build +++ mesa-17.3.3/src/gallium/winsys/sw/wrapper/meson.build @@ -0,0 +1,27 @@ +# Copyright © 2017 Dylan Baker + +# 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. + +libwsw = static_library( + 'wsw', + files('wrapper_sw_winsys.c', 'wrapper_sw_winsys.h'), + c_args : c_vis_args, + include_directories : [inc_gallium, inc_include, inc_src, inc_gallium_aux], + build_by_default : false, +) --- mesa-17.3.3.orig/src/gallium/winsys/vc4/drm/meson.build +++ mesa-17.3.3/src/gallium/winsys/vc4/drm/meson.build @@ -0,0 +1,29 @@ +# Copyright © 2017 Broadcom +# +# 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. + +libvc4winsys = static_library( + 'vc4winsys', + files('vc4_drm_winsys.c'), + include_directories : [ + inc_src, inc_include, + inc_gallium, inc_gallium_aux, inc_gallium_drivers, + ], + c_args : [c_vis_args], +) --- mesa-17.3.3.orig/src/gallium/winsys/vc5/drm/meson.build +++ mesa-17.3.3/src/gallium/winsys/vc5/drm/meson.build @@ -0,0 +1,29 @@ +# Copyright © 2017 Broadcom +# +# 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. + +libvc5winsys = static_library( + 'vc5winsys', + files('vc5_drm_winsys.c'), + include_directories : [ + inc_src, inc_include, + inc_gallium, inc_gallium_aux, inc_gallium_drivers, + ], + c_args : [c_vis_args], +) --- mesa-17.3.3.orig/src/gbm/meson.build +++ mesa-17.3.3/src/gbm/meson.build @@ -0,0 +1,75 @@ +# 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. + +inc_gbm = include_directories('.', 'backends/dri') + +files_gbm = files( + 'main/backend.c', + 'main/backend.h', + 'main/gbm.c', + 'main/gbm.h', + 'main/gbmint.h', +) +deps_gbm = [] +args_gbm = [] +links_gbm = [] +deps_gbm = [] + +if with_dri2 + files_gbm += files('backends/dri/gbm_dri.c', 'backends/dri/gbm_driint.h') + deps_gbm += [dep_libdrm, dep_thread] + args_gbm += '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_driver_dir) +endif +if with_platform_wayland + deps_gbm += dep_wayland_server + links_gbm += libwayland_drm +endif + +# TODO: wayland support (requires egl) + +libgbm = shared_library( + 'gbm', + files_gbm, + include_directories : [ + include_directories('main'), inc_include, inc_src, inc_loader, + include_directories('../egl/wayland/wayland-drm')], + c_args : args_gbm, + link_args : [ld_args_gc_sections], + link_with : [links_gbm, libloader, libmesa_util, libxmlconfig], + dependencies : [deps_gbm, dep_dl], + version : '1.0', + install : true, +) + +install_headers('main/gbm.h') + +pkg.generate( + name : 'gbm', + filebase : 'gbm', + description : 'Mesa gbm library', + version : meson.project_version(), + libraries : libgbm, + libraries_private : '-ldl', # FIXME: autotools lists this a incomplete +) + +if with_tests + gbm_symbols_check = find_program('gbm-symbols-check') + test('gbm-symbols-check', gbm_symbols_check) +endif --- mesa-17.3.3.orig/src/glx/meson.build +++ mesa-17.3.3/src/glx/meson.build @@ -0,0 +1,185 @@ +# 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. + +# TODO: +#subdir('windows') + +files_libglx = files( + 'clientattrib.c', + 'clientinfo.c', + 'compsize.c', + 'create_context.c', + 'eval.c', + 'glxclient.h', + 'glxcmds.c', + 'glxconfig.c', + 'glxconfig.h', + 'glxcurrent.c', + 'glx_error.c', + 'glx_error.h', + 'glxext.c', + 'glxextensions.c', + 'glxextensions.h', + 'glxhash.c', + 'glxhash.h', + 'glx_pbuffer.c', + 'glx_query.c', + 'indirect_glx.c', + 'indirect_init.h', + 'indirect_texture_compression.c', + 'indirect_transpose_matrix.c', + 'indirect_vertex_array.c', + 'indirect_vertex_array.h', + 'indirect_vertex_array_priv.h', + 'indirect_vertex_program.c', + 'indirect_window_pos.c', + 'packrender.h', + 'packsingle.h', + 'pixel.c', + 'pixelstore.c', + 'query_renderer.c', + 'render2.c', + 'renderpix.c', + 'single2.c', + 'singlepix.c', + 'vertarr.c', +) + +extra_libs_libglx = [] + +if with_dri + files_libglx += files( + 'dri_common.c', + 'dri_common.h', + 'dri_common_query_renderer.c', + 'dri_common_interop.c', + 'xfont.c', + 'drisw_glx.c', + 'drisw_priv.h', + ) +endif + +# dri2 +if with_dri and with_dri_platform == 'drm' and dep_libdrm.found() + files_libglx += files( + 'dri2.c', + 'dri2_glx.c', + 'dri2.h', + 'dri2_priv.h', + 'dri_glx.c', + 'dri_sarea.h', + 'XF86dri.c', + 'xf86dri.h', + 'xf86dristr.h', + ) +endif + +if with_dri3 + files_libglx += files('dri3_glx.c', 'dri3_priv.h') +endif + +if with_appledri + files_libglx += files('applegl_glx.c') +elif with_windowsdri + files_libglx += files('driwindows_glx.c') + # TODO + #extra_libs_libglx += [ + #libwindowsdri, + #libwindowsglx, + #] +endif + +dri_driver_dir = join_paths(get_option('prefix'), dri_drivers_path) +if not with_glvnd + gl_lib_name = 'GL' + gl_lib_version = '1.2.0' +else + gl_lib_name = 'GLX_mesa' + gl_lib_version = '0' + files_libglx += files( + 'g_glxglvnddispatchfuncs.c', + 'g_glxglvnddispatchindices.h', + 'glxglvnd.c', + 'glxglvnd.h', + 'glxglvnddispatchfuncs.h', + ) +endif + +gl_lib_cargs = [ + '-D_REENTRANT', '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_driver_dir), +] + +if dep_xf86vm != [] and dep_xf86vm.found() + gl_lib_cargs += '-DHAVE_XF86VIDMODE' +endif + +libglx = static_library( + 'glx', + [files_libglx, glx_generated], + include_directories : [ + inc_common, inc_glapi, inc_loader, + include_directories('../../include/GL/internal'), + ], + c_args : [c_vis_args, gl_lib_cargs, + '-DGL_LIB_NAME="lib@0@.so.@1@"'.format(gl_lib_name, gl_lib_version.split('.')[0])], + link_with : [libloader, libloader_dri3_helper, libmesa_util, libxmlconfig], + dependencies : [dep_libdrm, dep_dri2proto, dep_glproto, dep_x11, dep_glvnd], + build_by_default : false, +) + +# workaround for bug #2180 +dummy_c = custom_target( + 'dummy_c', + output : 'dummy.c', + command : [prog_touch, '@OUTPUT@'], +) + +if with_glx == 'dri' + libgl = shared_library( + gl_lib_name, + dummy_c, # workaround for bug #2180 + include_directories : [ + inc_common, inc_glapi, inc_loader, + include_directories('../../include/GL/internal'), + ], + link_with : [libglapi_static, libglapi], + link_whole : libglx, + link_args : [ld_args_bsymbolic, ld_args_gc_sections], + dependencies : [dep_libdrm, dep_dl, dep_m, dep_thread, dep_x11, + dep_xcb_dri2, dep_xcb_dri3], + version : gl_lib_version, + install : true, + ) + + pkg.generate( + name : 'gl', + filebase : 'gl', + description : 'Mesa OpenGL Library', + version : meson.project_version(), + libraries : libgl, + libraries_private : gl_priv_libs, + requires_private : gl_priv_reqs, + variables : ['glx_tls=yes'], + ) +endif + +if with_tests + subdir('tests') +endif --- mesa-17.3.3.orig/src/glx/tests/meson.build +++ mesa-17.3.3/src/glx/tests/meson.build @@ -0,0 +1,49 @@ +# 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. + +if with_shared_glapi + files_glx_test = files( + 'clientinfo_unittest.cpp', + 'create_context_unittest.cpp', + 'enum_sizes.cpp', + 'fake_glx_screen.cpp', + 'fake_glx_screen.h', + 'indirect_api.cpp', + 'mock_xdisplay.h', + 'query_renderer_unittest.cpp', + ) + if with_dri2 + files_glx_test += files('query_renderer_implementation_unittest.cpp') + endif + + glx_test = executable( + 'glx-test', + [files_glx_test, glx_indirect_size_h], + link_with : [libglx, libglapi], + include_directories : [ + include_directories('..', '../../../include/GL/internal'), + inc_src, inc_include, inc_mesa, inc_mapi, + ], + dependencies : [dep_libdrm, dep_thread, idep_gtest] + ) + + test('glx-test', glx_test) + test('glx-dispatch-index-check', find_program('dispatch-index-check')) +endif --- mesa-17.3.3.orig/src/gtest/meson.build +++ mesa-17.3.3/src/gtest/meson.build @@ -0,0 +1,31 @@ +# 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. + +libgtest = static_library( + 'gtest', + files('src/gtest-all.cc', 'src/gtest_main.cc'), + include_directories : include_directories('include'), + build_by_default : false, +) + +idep_gtest = declare_dependency( + link_with : libgtest, + include_directories : include_directories('include', is_system : true), +) --- mesa-17.3.3.orig/src/intel/blorp/meson.build +++ mesa-17.3.3/src/intel/blorp/meson.build @@ -0,0 +1,37 @@ +# 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. + +files_libblorp = files( + 'blorp.c', + 'blorp.h', + 'blorp_blit.c', + 'blorp_clear.c', + 'blorp_nir_builder.h', + 'blorp_genX_exec.h', + 'blorp_priv.h', +) + +libblorp = static_library( + 'blorp', + [files_libblorp, nir_opcodes_h], + include_directories : [inc_common, inc_intel], + c_args : [c_vis_args, no_override_init_args], + build_by_default : false, +) --- mesa-17.3.3.orig/src/intel/common/meson.build +++ mesa-17.3.3/src/intel/common/meson.build @@ -0,0 +1,45 @@ +# 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. + +# TODO: android? + +files_libintel_common = files( + 'gen_clflush.h', + 'gen_debug.c', + 'gen_debug.h', + 'gen_decoder.c', + 'gen_decoder.h', + 'gen_device_info.c', + 'gen_device_info.h', + 'gen_l3_config.c', + 'gen_l3_config.h', + 'gen_urb_config.c', + 'gen_sample_positions.h', + 'intel_log.c', +) + +libintel_common = static_library( + ['intel_common', genX_xml_h], + files_libintel_common, + include_directories : [inc_common, inc_intel], + c_args : [c_vis_args, no_override_init_args], + dependencies : [dep_expat, dep_libdrm], + build_by_default : false, +) --- mesa-17.3.3.orig/src/intel/compiler/meson.build +++ mesa-17.3.3/src/intel/compiler/meson.build @@ -0,0 +1,155 @@ +# 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. + +libintel_compiler_files = files( + 'brw_cfg.cpp', + 'brw_cfg.h', + 'brw_clip.h', + 'brw_clip_line.c', + 'brw_clip_point.c', + 'brw_clip_tri.c', + 'brw_clip_unfilled.c', + 'brw_clip_util.c', + 'brw_compile_clip.c', + 'brw_compile_sf.c', + 'brw_compiler.c', + 'brw_compiler.h', + 'brw_dead_control_flow.cpp', + 'brw_dead_control_flow.h', + 'brw_disasm.c', + 'brw_eu.c', + 'brw_eu_compact.c', + 'brw_eu_defines.h', + 'brw_eu_emit.c', + 'brw_eu.h', + 'brw_eu_util.c', + 'brw_eu_validate.c', + 'brw_fs_builder.h', + 'brw_fs_cmod_propagation.cpp', + 'brw_fs_combine_constants.cpp', + 'brw_fs_copy_propagation.cpp', + 'brw_fs.cpp', + 'brw_fs_cse.cpp', + 'brw_fs_dead_code_eliminate.cpp', + 'brw_fs_generator.cpp', + 'brw_fs.h', + 'brw_fs_live_variables.cpp', + 'brw_fs_live_variables.h', + 'brw_fs_lower_conversions.cpp', + 'brw_fs_lower_pack.cpp', + 'brw_fs_nir.cpp', + 'brw_fs_reg_allocate.cpp', + 'brw_fs_register_coalesce.cpp', + 'brw_fs_saturate_propagation.cpp', + 'brw_fs_sel_peephole.cpp', + 'brw_fs_surface_builder.cpp', + 'brw_fs_surface_builder.h', + 'brw_fs_validate.cpp', + 'brw_fs_visitor.cpp', + 'brw_inst.h', + 'brw_interpolation_map.c', + 'brw_ir_allocator.h', + 'brw_ir_fs.h', + 'brw_ir_vec4.h', + 'brw_nir.h', + 'brw_nir.c', + 'brw_nir_analyze_boolean_resolves.c', + 'brw_nir_analyze_ubo_ranges.c', + 'brw_nir_attribute_workarounds.c', + 'brw_nir_lower_cs_intrinsics.c', + 'brw_nir_opt_peephole_ffma.c', + 'brw_nir_tcs_workarounds.c', + 'brw_packed_float.c', + 'brw_predicated_break.cpp', + 'brw_reg.h', + 'brw_reg_type.c', + 'brw_reg_type.h', + 'brw_schedule_instructions.cpp', + 'brw_shader.cpp', + 'brw_shader.h', + 'brw_vec4_builder.h', + 'brw_vec4_cmod_propagation.cpp', + 'brw_vec4_copy_propagation.cpp', + 'brw_vec4.cpp', + 'brw_vec4_cse.cpp', + 'brw_vec4_dead_code_eliminate.cpp', + 'brw_vec4_generator.cpp', + 'brw_vec4_gs_visitor.cpp', + 'brw_vec4_gs_visitor.h', + 'brw_vec4.h', + 'brw_vec4_live_variables.cpp', + 'brw_vec4_live_variables.h', + 'brw_vec4_nir.cpp', + 'brw_vec4_gs_nir.cpp', + 'brw_vec4_reg_allocate.cpp', + 'brw_vec4_surface_builder.cpp', + 'brw_vec4_surface_builder.h', + 'brw_vec4_tcs.cpp', + 'brw_vec4_tcs.h', + 'brw_vec4_tes.cpp', + 'brw_vec4_tes.h', + 'brw_vec4_visitor.cpp', + 'brw_vec4_vs_visitor.cpp', + 'brw_vec4_vs.h', + 'brw_vue_map.c', + 'brw_wm_iz.cpp', + 'gen6_gs_visitor.cpp', + 'gen6_gs_visitor.h', + 'intel_asm_annotation.c', + 'intel_asm_annotation.h', +) + +brw_nir_trig = custom_target( + 'brw_nir_trig_workarounds.c', + input : 'brw_nir_trig_workarounds.py', + output : 'brw_nir_trig_workarounds.c', + command : [prog_python2, '@INPUT@', '-p', + join_paths(meson.source_root(), 'src/compiler/nir/')], + depend_files : files('../../compiler/nir/nir_algebraic.py'), + capture : true, +) + +libintel_compiler = static_library( + 'intel_compiler', + [libintel_compiler_files, brw_nir_trig, nir_opcodes_h, nir_builder_opcodes_h, + ir_expression_operation_h], + include_directories : [inc_common, inc_intel, inc_nir], + c_args : [c_vis_args, no_override_init_args], + cpp_args : [cpp_vis_args], + build_by_default : false, +) + +if with_tests + # The last two tests are not C++ or gtest, pre comment in autotools make + foreach t : ['fs_cmod_propagation', 'fs_copy_propagation', + 'fs_saturate_propagation', 'vf_float_conversions', + 'vec4_register_coalesce', 'vec4_copy_propagation', + 'vec4_cmod_propagation', 'eu_compact', 'eu_validate'] + _exe = executable( + [t, nir_opcodes_h, ir_expression_operation_h], + 'test_@0@.cpp'.format(t), + include_directories : [inc_common, inc_intel], + link_with : [libintel_compiler, libintel_common, libnir, libmesa_util, + libisl], + dependencies : [dep_thread, dep_dl, idep_gtest], + ) + test(t, _exe) + endforeach +endif --- mesa-17.3.3.orig/src/intel/genxml/meson.build +++ mesa-17.3.3/src/intel/genxml/meson.build @@ -0,0 +1,59 @@ +# 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. + +gen_xml_files = [ + 'gen4.xml', + 'gen45.xml', + 'gen5.xml', + 'gen6.xml', + 'gen7.xml', + 'gen75.xml', + 'gen8.xml', + 'gen9.xml', + 'gen10.xml', +] + +genX_xml_h = custom_target( + 'genX_xml.h', + input : ['gen_zipped_file.py', gen_xml_files], + output : 'genX_xml.h', + command : [prog_python2, '@INPUT@'], + capture : true, +) + +genX_bits_h = custom_target( + 'genX_bits.h', + input : ['gen_bits_header.py', gen_xml_files], + output : 'genX_bits.h', + command : [prog_python2, '@INPUT@', '-o', '@OUTPUT@'], +) + +gen_xml_pack = [] +foreach f : gen_xml_files + _name = '@0@_pack.h'.format(f.split('.')[0]) + _xml = custom_target( + _name, + input : ['gen_pack_header.py', f], + output : _name, + command : [prog_python2, '@INPUT@'], + capture : true, + ) + gen_xml_pack += _xml +endforeach --- mesa-17.3.3.orig/src/intel/isl/meson.build +++ mesa-17.3.3/src/intel/isl/meson.build @@ -0,0 +1,105 @@ +# 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. + +isl_gen_files = files( + 'isl_emit_depth_stencil.c', + 'isl_surface_state.c', +) + +isl_gen4_files = files( + 'isl_gen4.c', + 'isl_gen4.h', +) + +isl_gen6_files = files( + 'isl_gen6.c', + 'isl_gen6.h', +) + +isl_gen7_files = files( + 'isl_gen7.c', + 'isl_gen7.h', +) + +isl_gen8_files = files( + 'isl_gen8.c', + 'isl_gen8.h', +) + +isl_gen9_files = files( + 'isl_gen9.c', + 'isl_gen9.h', +) + +isl_gen_libs = [] +foreach g : [['40', isl_gen4_files], ['50', []], ['60', isl_gen6_files], + ['70', isl_gen7_files], ['75', []], ['80', isl_gen8_files], + ['90', isl_gen9_files], ['100', []]] + _gen = g[0] + _sources = g[1] + _lib = static_library( + 'libisl_gen@0@'.format(_gen), + [_sources, isl_gen_files, gen_xml_pack], + include_directories : [inc_common, inc_intel], + c_args : [c_vis_args, no_override_init_args, + '-DGEN_VERSIONx10=@0@'.format(_gen)], + build_by_default : false, + ) + isl_gen_libs += _lib +endforeach + +isl_format_layout_c = custom_target( + 'isl_format_layout.c', + input : ['gen_format_layout.py', 'isl_format_layout.csv'], + output : 'isl_format_layout.c', + command : [prog_python2, '@INPUT0@', '--csv', '@INPUT1@', '--out', '@OUTPUT@'], +) + +libisl_files = files( + 'isl.c', + 'isl.h', + 'isl_drm.c', + 'isl_genX_priv.h', + 'isl_format.c', + 'isl_priv.h', + 'isl_storage_image.c', +) + +libisl = static_library( + 'isl', + [libisl_files, isl_format_layout_c, genX_bits_h], + include_directories : [inc_common, inc_intel, inc_drm_uapi], + link_with : isl_gen_libs, + c_args : [c_vis_args, no_override_init_args], + build_by_default : false, +) + +if with_tests + isl_surf_get_image_offset_test = executable( + 'isl_surf_get_image_offset_test', + 'tests/isl_surf_get_image_offset_test.c', + dependencies : dep_m, + include_directories : [inc_common, inc_intel], + link_with : [libisl, libintel_common], + build_by_default : false, + ) + + test('isl_surf_get_image_offset', isl_surf_get_image_offset_test) +endif --- mesa-17.3.3.orig/src/intel/meson.build +++ mesa-17.3.3/src/intel/meson.build @@ -0,0 +1,31 @@ +# 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. + +inc_intel = include_directories('.') + +subdir('blorp') +subdir('genxml') +subdir('common') +subdir('isl') +subdir('compiler') +subdir('tools') +if with_intel_vk + subdir('vulkan') +endif --- mesa-17.3.3.orig/src/intel/tools/meson.build +++ mesa-17.3.3/src/intel/tools/meson.build @@ -0,0 +1,39 @@ +# 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. + +aubinator = executable( + 'aubinator', + files('aubinator.c', 'disasm.c', 'gen_disasm.h', 'intel_aub.h'), + dependencies : [dep_expat, dep_zlib, dep_dl, dep_thread, dep_m], + include_directories : [inc_common, inc_intel], + link_with : [libintel_common, libintel_compiler, libmesa_util], + c_args : [c_vis_args, no_override_init_args], + build_by_default : false, +) + +aubinator_error_decode = executable( + 'aubinator_error_decode', + files('aubinator_error_decode.c', 'disasm.c', 'gen_disasm.h'), + dependencies : [dep_zlib, dep_thread], + include_directories : [inc_common, inc_intel], + link_with : [libintel_common, libintel_compiler, libmesa_util], + c_args : [c_vis_args, no_override_init_args], + build_by_default : false, +) --- mesa-17.3.3.orig/src/intel/vulkan/meson.build +++ mesa-17.3.3/src/intel/vulkan/meson.build @@ -0,0 +1,183 @@ +# 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. + +anv_entrypoints = custom_target( + 'anv_entrypoints.[ch]', + input : ['anv_entrypoints_gen.py', vk_api_xml, vk_android_native_buffer_xml], + output : ['anv_entrypoints.h', 'anv_entrypoints.c'], + command : [prog_python2, '@INPUT0@', '--xml', '@INPUT1@', + '--xml', '@INPUT2@', '--outdir', meson.current_build_dir()], + depend_files : files('anv_extensions.py'), +) + +anv_extensions_c = custom_target( + 'anv_extensions.c', + input : ['anv_extensions.py', vk_api_xml, vk_android_native_buffer_xml], + output : 'anv_extensions.c', + command : [prog_python2, '@INPUT0@', '--xml', '@INPUT1@', + '--xml', '@INPUT2@', '--out', '@OUTPUT@'], +) + +intel_icd = custom_target( + 'intel_icd', + input : 'anv_icd.py', + output : 'intel_icd.@0@.json'.format(target_machine.cpu()), + command : [prog_python2, '@INPUT@', + '--lib-path', join_paths(get_option('prefix'), get_option('libdir')), + '--out', '@OUTPUT@'], + depend_files : files('anv_extensions.py'), + build_by_default : true, + install_dir : with_vulkan_icd_dir, + install : true, +) + +# TODO: workaround for anv_entrypoints combining the .h and .c files in it's +# output. See issue #2346 +block_entrypoints = custom_target( + 'block_entrypoints', + command : [prog_touch, '@OUTPUT@'], + output : 'null', + depends : anv_entrypoints, +) + +libanv_gen_libs = [] +anv_gen_files = files( + 'genX_blorp_exec.c', + 'genX_cmd_buffer.c', + 'genX_gpu_memcpy.c', + 'genX_pipeline.c', + 'genX_query.c', + 'genX_state.c', +) +foreach g : [['70', ['gen7_cmd_buffer.c']], ['75', ['gen7_cmd_buffer.c']], + ['80', ['gen8_cmd_buffer.c']], ['90', ['gen8_cmd_buffer.c']], + ['100', ['gen8_cmd_buffer.c']]] + _gen = g[0] + _files = g[1] + _lib = static_library( + 'libanv_gen@0@'.format(_gen), + [anv_gen_files, _files, block_entrypoints, nir_opcodes_h], + include_directories : [inc_common, inc_compiler, inc_drm_uapi, inc_intel, + inc_vulkan_util, inc_vulkan_wsi], + c_args : [c_vis_args, no_override_init_args, '-msse2', + '-DGEN_VERSIONx10=@0@'.format(_gen)], + dependencies : [dep_libdrm, dep_valgrind], + ) + libanv_gen_libs += _lib +endforeach + +libanv_files = files( + 'anv_allocator.c', + 'anv_batch_chain.c', + 'anv_blorp.c', + 'anv_cmd_buffer.c', + 'anv_debug_report.c', + 'anv_descriptor_set.c', + 'anv_device.c', + 'anv_dump.c', + 'anv_formats.c', + 'anv_genX.h', + 'anv_image.c', + 'anv_intel.c', + 'anv_nir.h', + 'anv_nir_apply_pipeline_layout.c', + 'anv_nir_lower_input_attachments.c', + 'anv_nir_lower_multiview.c', + 'anv_nir_lower_push_constants.c', + 'anv_nir_lower_ycbcr_textures.c', + 'anv_pass.c', + 'anv_pipeline.c', + 'anv_pipeline_cache.c', + 'anv_private.h', + 'anv_queue.c', + 'anv_util.c', + 'anv_wsi.c', + 'vk_format_info.h', +) + +anv_deps = [] +anv_flags = [] + +if with_platform_x11 + anv_deps += dep_xcb_dri3 + anv_flags += [ + '-DVK_USE_PLATFORM_XCB_KHR', + '-DVK_USE_PLATFORM_XLIB_KHR', + ] + libanv_files += files('anv_wsi_x11.c') +endif + +if with_platform_wayland + anv_deps += dep_wayland_client + anv_flags += '-DVK_USE_PLATFORM_WAYLAND_KHR' + libanv_files += files('anv_wsi_wayland.c') +endif + +libanv_common = static_library( + 'anv_common', + [libanv_files, anv_entrypoints, anv_extensions_c, nir_opcodes_h], + include_directories : [inc_common, inc_intel, inc_compiler, inc_drm_uapi, + inc_vulkan_util, inc_vulkan_wsi], + c_args : [c_vis_args, no_override_init_args, '-msse2', anv_flags], + dependencies : [dep_valgrind, anv_deps, dep_libdrm], +) + +libvulkan_intel = shared_library( + 'vulkan_intel', + [files('anv_gem.c'), block_entrypoints], + include_directories : [inc_common, inc_intel, inc_compiler, inc_drm_uapi, + inc_vulkan_util, inc_vulkan_wsi], + link_whole : [libanv_common, libanv_gen_libs], + link_with : [libintel_compiler, libintel_common, libisl, libblorp, + libvulkan_util, libvulkan_wsi, libnir, libmesa_util], + dependencies : [dep_libdrm, dep_thread, dep_dl, dep_m, anv_deps, dep_valgrind], + c_args : [c_vis_args, no_override_init_args, '-msse2', anv_flags], + link_args : ['-Wl,--build-id=sha1', ld_args_bsymbolic, ld_args_gc_sections], + install : true, +) + +if with_tests + libvulkan_intel_test = static_library( + 'vulkan_intel_test', + [files('anv_gem_stubs.c'), block_entrypoints], + include_directories : [inc_common, inc_intel, inc_compiler, inc_drm_uapi, + inc_vulkan_util, inc_vulkan_wsi], + link_whole : libanv_common, + link_with : [libanv_gen_libs, libintel_compiler, libintel_common, + libisl, libblorp, libvulkan_util, libvulkan_wsi, + libnir, libmesa_util], + dependencies : [dep_libdrm, dep_thread, dep_dl, dep_m, anv_deps, + dep_valgrind], + c_args : [c_vis_args, no_override_init_args, '-msse2', anv_flags], + ) + + foreach t : ['block_pool_no_free', 'state_pool_no_free', + 'state_pool_free_list_only', 'state_pool'] + _exe = executable( + t, + ['tests/@0@.c'.format(t), dummy_cpp, block_entrypoints], + link_with : libvulkan_intel_test, + dependencies : [dep_libdrm, dep_thread, dep_m, dep_valgrind], + include_directories : [inc_common, inc_intel, inc_compiler, + inc_vulkan_util, inc_vulkan_wsi], + ) + test('anv_@0@'.format(t), _exe) + endforeach +endif --- mesa-17.3.3.orig/src/loader/meson.build +++ mesa-17.3.3/src/loader/meson.build @@ -0,0 +1,47 @@ +# 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. + +inc_loader = include_directories('.') + +if with_platform_x11 and with_dri3 + libloader_dri3_helper = static_library( + 'loader_dri3_helper', + ['loader_dri3_helper.c', 'loader_dri3_helper.h'], + c_args : c_vis_args, + include_directories : inc_include, + dependencies : [ + dep_xshmfence, dep_xcb_present, dep_xcb_dri3, dep_xcb_sync, dep_x11_xcb, + dep_xext, dep_xdamage, dep_xcb_glx, dep_libdrm, + ], + build_by_default : false, + ) +else + libloader_dri3_helper = [] +endif + +libloader = static_library( + 'loader', + ['loader.c', 'loader.h', 'pci_id_driver_map.c', 'pci_id_driver_map.h', + xmlpool_options_h], + c_args : [c_vis_args, '-DUSE_DRICONF'], + include_directories : [inc_include, inc_src, inc_util], + dependencies : dep_libdrm, + build_by_default : false, +) --- mesa-17.3.3.orig/src/mapi/es1api/meson.build +++ mesa-17.3.3/src/mapi/es1api/meson.build @@ -0,0 +1,54 @@ +# 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. + +es1_glapi_mapi_tmp_h = custom_target( + 'es1_glapi_mapi_tmp.h', + input : ['../mapi_abi.py', gl_and_es_api_files], + output : 'glapi_mapi_tmp.h', + command : [prog_python2, '@INPUT0@', '--printer', 'es1api', '@INPUT1@'], + depend_files : api_xml_files, + capture : true, +) + +libglesv1_cm = shared_library( + 'GLESv1_CM', + ['../entry.c', es1_glapi_mapi_tmp_h], + c_args : [c_msvc_compat_args, c_vis_args, '-DMAPI_MODE_BRIDGE', + '-DMAPI_ABI_HEADER="@0@"'.format(es1_glapi_mapi_tmp_h.full_path())], + link_args : [ld_args_gc_sections], + include_directories : [inc_src, inc_include, inc_mapi], + link_with : libglapi, + dependencies : [dep_thread, dep_libdrm, dep_m, dep_dl], + version : '1.1', + install : true, +) + +pkg.generate( + name : 'glesv1_cm', + filebase : 'glesv1_cm', + description : 'Mesa OpenGL ES 1.1 CM library', + version : meson.project_version(), + libraries : libglesv1_cm, + libraries_private : '-lm -ldl -lpthread -pthread', +) + +if with_tests + test('es1-ABI-check', find_program('ABI-check')) +endif --- mesa-17.3.3.orig/src/mapi/es2api/meson.build +++ mesa-17.3.3/src/mapi/es2api/meson.build @@ -0,0 +1,54 @@ +# 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. + +es2_glapi_mapi_tmp_h = custom_target( + 'es2_glapi_mapi_tmp.h', + input : ['../mapi_abi.py', gl_and_es_api_files], + output : 'glapi_mapi_tmp.h', + command : [prog_python2, '@INPUT0@', '--printer', 'es2api', '@INPUT1@'], + depend_files : api_xml_files, + capture : true, +) + +libgles2 = shared_library( + 'GLESv2', + ['../entry.c', es2_glapi_mapi_tmp_h], + c_args : [c_msvc_compat_args, c_vis_args, '-DMAPI_MODE_BRIDGE', + '-DMAPI_ABI_HEADER="@0@"'.format(es2_glapi_mapi_tmp_h.full_path())], + link_args : [ld_args_gc_sections], + include_directories : [inc_src, inc_include, inc_mapi], + link_with : libglapi, + dependencies : [dep_thread, dep_libdrm, dep_m, dep_dl], + version : '2', + install : true, +) + +pkg.generate( + name : 'glesv2', + filebase : 'glesv2', + description : 'Mesa OpenGL ES 2.0 library', + version : meson.project_version(), + libraries : libgles2, + libraries_private : '-lm -ldl -lpthread -pthread', +) + +if with_tests + test('es2-ABI-check', find_program('ABI-check')) +endif --- mesa-17.3.3.orig/src/mapi/glapi/gen/meson.build +++ mesa-17.3.3/src/mapi/glapi/gen/meson.build @@ -0,0 +1,269 @@ +# 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. + +gl_and_es_api_files = files('gl_and_es_API.xml') + +api_xml_files = files( + 'gl_API.xml', + 'es_EXT.xml', + 'gl_and_es_API.xml', + 'gl_and_glX_API.xml', + 'ARB_base_instance.xml', + 'ARB_blend_func_extended.xml', + 'ARB_bindless_texture.xml', + 'ARB_clear_buffer_object.xml', + 'ARB_clear_texture.xml', + 'ARB_clip_control.xml', + 'ARB_color_buffer_float.xml', + 'ARB_compressed_texture_pixel_storage.xml', + 'ARB_compute_shader.xml', + 'ARB_compute_variable_group_size.xml', + 'ARB_copy_buffer.xml', + 'ARB_copy_image.xml', + 'ARB_debug_output.xml', + 'ARB_depth_buffer_float.xml', + 'ARB_depth_clamp.xml', + 'ARB_direct_state_access.xml', + 'ARB_draw_buffers.xml', + 'ARB_draw_buffers_blend.xml', + 'ARB_draw_elements_base_vertex.xml', + 'ARB_draw_indirect.xml', + 'ARB_draw_instanced.xml', + 'ARB_ES2_compatibility.xml', + 'ARB_ES3_compatibility.xml', + 'ARB_framebuffer_no_attachments.xml', + 'ARB_framebuffer_object.xml', + 'ARB_get_program_binary.xml', + 'ARB_get_texture_sub_image.xml', + 'ARB_gpu_shader_fp64.xml', + 'ARB_gpu_shader_int64.xml', + 'ARB_gpu_shader5.xml', + 'ARB_indirect_parameters.xml', + 'ARB_instanced_arrays.xml', + 'ARB_internalformat_query.xml', + 'ARB_internalformat_query2.xml', + 'ARB_invalidate_subdata.xml', + 'ARB_map_buffer_range.xml', + 'ARB_multi_bind.xml', + 'ARB_pipeline_statistics_query.xml', + 'ARB_program_interface_query.xml', + 'ARB_robustness.xml', + 'ARB_sample_shading.xml', + 'ARB_sampler_objects.xml', + 'ARB_seamless_cube_map.xml', + 'ARB_separate_shader_objects.xml', + 'ARB_shader_atomic_counters.xml', + 'ARB_shader_image_load_store.xml', + 'ARB_shader_subroutine.xml', + 'ARB_shader_storage_buffer_object.xml', + 'ARB_sparse_buffer.xml', + 'ARB_sync.xml', + 'ARB_tessellation_shader.xml', + 'ARB_texture_barrier.xml', + 'ARB_texture_buffer_object.xml', + 'ARB_texture_buffer_range.xml', + 'ARB_texture_compression_rgtc.xml', + 'ARB_texture_cube_map_array.xml', + 'ARB_texture_float.xml', + 'ARB_texture_gather.xml', + 'ARB_texture_multisample.xml', + 'ARB_texture_rgb10_a2ui.xml', + 'ARB_texture_rg.xml', + 'ARB_texture_storage_multisample.xml', + 'ARB_texture_storage.xml', + 'ARB_texture_view.xml', + 'ARB_uniform_buffer_object.xml', + 'ARB_vertex_array_object.xml', + 'ARB_vertex_attrib_64bit.xml', + 'ARB_vertex_attrib_binding.xml', + 'ARB_viewport_array.xml', + 'AMD_draw_buffers_blend.xml', + 'AMD_performance_monitor.xml', + 'ARB_vertex_type_2_10_10_10_rev.xml', + 'APPLE_object_purgeable.xml', + 'APPLE_vertex_array_object.xml', + 'EXT_draw_buffers2.xml', + 'EXT_external_objects.xml', + 'EXT_external_objects_fd.xml', + 'EXT_framebuffer_object.xml', + 'EXT_gpu_shader4.xml', + 'EXT_packed_depth_stencil.xml', + 'EXT_provoking_vertex.xml', + 'EXT_separate_shader_objects.xml', + 'EXT_texture_array.xml', + 'EXT_texture_integer.xml', + 'EXT_transform_feedback.xml', + 'EXT_window_rectangles.xml', + 'GREMEDY_string_marker.xml', + 'INTEL_performance_query.xml', + 'KHR_debug.xml', + 'KHR_context_flush_control.xml', + 'KHR_robustness.xml', + 'KHR_robustness_es.xml', + 'KHR_texture_compression_astc.xml', + 'NV_conditional_render.xml', + 'NV_primitive_restart.xml', + 'NV_texture_barrier.xml', + 'NV_vdpau_interop.xml', + 'OES_EGL_image.xml', + 'OES_fixed_point.xml', + 'OES_single_precision.xml', + 'OES_texture_compression_astc.xml', + 'GL3x.xml', + 'GL4x.xml', +) + +glapi_gen_depends = files( + 'gl_XML.py', + 'glX_XML.py', + 'license.py', + 'static_data.py', + 'typeexpr.py', +) + api_xml_files + +glx_gen_depends = files( + 'glX_API.xml', + 'glX_XML.py', + 'glX_proto_common.py', +) + api_xml_files + +glapi_mapi_tmp_h = custom_target( + 'glapi_mapi_tmp.h', + input : ['../../mapi_abi.py', 'gl_and_es_API.xml'], + output : 'glapi_mapi_tmp.h', + command : [prog_python2, '@INPUT0@', '--printer', 'glapi', '@INPUT1@'], + depend_files : glapi_gen_depends, + capture : true, +) + +gl_procs_h = custom_target( + 'gl_procs.h', + input : ['gl_procs.py', 'gl_and_es_API.xml'], + output : 'gl_procs.h', + command : [prog_python2, '@INPUT0@', '-c', '-f', '@INPUT1@'], + depend_files : glapi_gen_depends, + capture : true, +) + +glapitemp_h = custom_target( + 'glapitemp.h', + input : ['gl_apitemp.py', 'gl_and_es_API.xml'], + output : 'glapitemp.h', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + depend_files : glapi_gen_depends, + capture : true, +) + +glapitable_h = custom_target( + 'glapitable.h', + input : ['gl_table.py', 'gl_and_es_API.xml'], + output : 'glapitable.h', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + depend_files : glapi_gen_depends, + capture : true, +) + +glapi_gentable_c = custom_target( + 'glapi_gentable.c', + input : ['gl_gentable.py', 'gl_and_es_API.xml'], + output : 'glapi_gentable.c', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + depend_files : glapi_gen_depends, + capture : true, +) + +main_enums_c = custom_target( + 'enums.c', + input : ['gl_enums.py', files('../registry/gl.xml')], + output : 'enums.c', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + capture : true, +) + +main_api_exec_c = custom_target( + 'api_exec.c', + input : ['gl_genexec.py', 'gl_and_es_API.xml'], + output : 'api_exec.c', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + depend_files : files('apiexec.py') + glapi_gen_depends, + capture : true, +) + +main_marshal_generated_c = custom_target( + 'marshal_generated.c', + input : ['gl_marshal.py', 'gl_and_es_API.xml'], + output : 'marshal_generated.c', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + depend_files : files('marshal_XML.py') + glapi_gen_depends, + capture : true, +) + +glx_generated = [] + +foreach x : [['indirect.c', 'proto'], ['indirect.h', 'init_h'], ['indirect_init.c', 'init_c']] + glx_generated += custom_target( + x[0], + input : ['glX_proto_send.py', 'gl_API.xml'], + output : x[0], + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@', '-m', x[1]], + depend_files : glx_gen_depends, + capture : true, + ) +endforeach + +foreach x : [['indirect_size.h', ['-m', 'size_h', '--header-tag', '_INDIRECT_SIZE_H_']], + ['indirect_size.c', ['-m', 'size_c']]] + glx_generated += custom_target( + x[0], + input : ['glX_proto_size.py', 'gl_API.xml'], + output : x[0], + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@', '--only-set', x[1]], + depend_files : glx_gen_depends, + capture : true, + ) +endforeach +glx_indirect_size_h = glx_generated[3] + +glapi_x86_s = custom_target( + 'glapi_x86.S', + input : ['gl_x86_asm.py', gl_and_es_api_files], + output : 'glapi_x86.S', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + depend_files : glapi_gen_depends, + capture : true, +) + +glapi_x86_64_s = custom_target( + 'glapi_x86-64.S', + input : ['gl_x86-64_asm.py', gl_and_es_api_files], + output : 'glapi_x86-64.S', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + depend_files : glapi_gen_depends, + capture : true, +) + +glapi_sparc_s = custom_target( + 'glapi_sparc.S', + input : ['gl_SPARC_asm.py', gl_and_es_api_files], + output : 'glapi_sparc.S', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + depend_files : glapi_gen_depends, + capture : true, +) --- mesa-17.3.3.orig/src/mapi/glapi/meson.build +++ mesa-17.3.3/src/mapi/glapi/meson.build @@ -0,0 +1,84 @@ +# 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. + +inc_glapi = include_directories('.') + +static_glapi_files = [] +static_glapi_args = [] + +if with_appledri or with_windowsdri + static_glapi_files += files('glapi_gentable.c') +endif + +if with_shared_glapi + static_glapi_files += files( + '../entry.c', + '../entry.h', + '../entry_x86-64_tls.h', + '../entry_x86_tls.h', + '../entry_x86_tsd.h', + '../entry_ppc64le_tls.h', + '../entry_ppc64le_tsd.h', + '../mapi_tmp.h', + ) + static_glapi_files += glapi_mapi_tmp_h + static_glapi_args += [ + '-DMAPI_MODE_BRIDGE', + '-DMAPI_ABI_HEADER="@0@"'.format(glapi_mapi_tmp_h.full_path()), + ] +else + static_glapi_args += '-DMAPI_MODE_UTIL' + static_glapi_files += files( + 'glapi_dispatch.c', + 'glapi_entrypoint.c', + 'glapi_getproc.c', + 'glapi_nop.c', + 'glapi.c', + 'glapi.h', + 'glapi_priv.h', + ) + static_glapi_files += files_mapi_util + if with_asm_arch == 'x86' + static_glapi_files += glapi_x86_s + elif with_asm_arch == 'x86_64' + static_glapi_files += glapi_x86_64_s + endif + # TODO: SPARC asm +endif + +libglapi_static = static_library( + 'glapi_static', + static_glapi_files, + include_directories : [inc_mesa, inc_include, inc_src], + c_args : [c_msvc_compat_args, static_glapi_args], + dependencies : [dep_thread, dep_selinux], + build_by_default : false, +) + +if not with_shared_glapi and with_tests + glapi_static_check_table = executable( + 'glapi_static_check_table', + 'tests/check_table.cpp', + link_with : [libglapi_static], + dependencies : [idep_gtest], + ) + + test('glapi_static_check_table', glapi_static_check_table) +endif --- mesa-17.3.3.orig/src/mapi/meson.build +++ mesa-17.3.3/src/mapi/meson.build @@ -0,0 +1,37 @@ +# 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. + +files_mapi_util = files( + 'u_current.c', + 'u_current.h', + 'u_execmem.c', + 'u_execmem.h', +) + +if with_shared_glapi + subdir('shared-glapi') +endif +subdir('glapi') +if with_gles1 + subdir('es1api') +endif +if with_gles2 + subdir('es2api') +endif --- mesa-17.3.3.orig/src/mapi/shared-glapi/meson.build +++ mesa-17.3.3/src/mapi/shared-glapi/meson.build @@ -0,0 +1,61 @@ +# 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. + +files_mapi_glapi = files( + '../entry.c', + '../mapi_glapi.c', + '../stub.c', + '../stub.h', + '../table.c', + '../table.h', +) + +shared_glapi_mapi_tmp_h = custom_target( + 'shared_glapi_mapi_tmp.h', + input : ['../mapi_abi.py', gl_and_es_api_files], + output : 'glapi_mapi_tmp.h', + command : [prog_python2, '@INPUT0@', '--printer', 'shared-glapi', '@INPUT1@'], + depend_files : api_xml_files, + capture : true, +) + +libglapi = shared_library( + 'glapi', + [files_mapi_glapi, files_mapi_util, shared_glapi_mapi_tmp_h], + c_args : [c_msvc_compat_args, '-DMAPI_MODE_GLAPI', + '-DMAPI_ABI_HEADER="@0@"'.format(shared_glapi_mapi_tmp_h.full_path())], + link_args : [ld_args_gc_sections], + include_directories : [inc_src, inc_include, inc_mapi], + dependencies : [dep_thread, dep_selinux], + install : true, +) + +if with_tests + shared_glapi_test = executable( + ['shared-glapi-test', glapitable_h], + 'tests/check_table.cpp', + cpp_args : [cpp_msvc_compat_args], + include_directories : [inc_src, inc_include, inc_mapi], + link_with : [libglapi], + dependencies : [dep_thread, idep_gtest], + ) + + test('shared-glapi-test', shared_glapi_test) +endif --- mesa-17.3.3.orig/src/mesa/drivers/dri/common/meson.build +++ mesa-17.3.3/src/mesa/drivers/dri/common/meson.build @@ -0,0 +1,39 @@ +# 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. + +inc_dri_common = include_directories('.') + +libdricommon = static_library( + 'dricommon', + ['utils.c', 'utils.h', 'dri_util.c', 'dri_util.h', xmlpool_options_h], + include_directories : [inc_common, inc_util], + c_args : c_vis_args, + dependencies : dep_libdrm, + build_by_default : false, +) + +libmegadriver_stub = static_library( + 'megadriver_stub', + 'megadriver_stub.c', + include_directories : inc_common, + c_args : c_vis_args, + dependencies : dep_libdrm, + build_by_default : false, +) --- mesa-17.3.3.orig/src/mesa/drivers/dri/i915/meson.build +++ mesa-17.3.3/src/mesa/drivers/dri/i915/meson.build @@ -0,0 +1,97 @@ +# 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. + +files_i915 = files( + 'i830_context.c', + 'i830_context.h', + 'i830_reg.h', + 'i830_state.c', + 'i830_texblend.c', + 'i830_texstate.c', + 'i830_vtbl.c', + 'i915_context.c', + 'i915_context.h', + 'i915_debug_fp.c', + 'i915_debug.h', + 'i915_fragprog.c', + 'i915_program.c', + 'i915_program.h', + 'i915_reg.h', + 'i915_state.c', + 'i915_tex_layout.c', + 'i915_texstate.c', + 'i915_vtbl.c', + 'intel_batchbuffer.c', + 'intel_batchbuffer.h', + 'intel_blit.c', + 'intel_blit.h', + 'intel_buffer_objects.c', + 'intel_buffer_objects.h', + 'intel_buffers.c', + 'intel_buffers.h', + 'intel_chipset.h', + 'intel_clear.c', + 'intel_clear.h', + 'intel_context.c', + 'intel_context.h', + 'intel_extensions.c', + 'intel_extensions.h', + 'intel_fbo.c', + 'intel_fbo.h', + 'intel_mipmap_tree.c', + 'intel_mipmap_tree.h', + 'intel_pixel_bitmap.c', + 'intel_pixel.c', + 'intel_pixel_copy.c', + 'intel_pixel_draw.c', + 'intel_pixel.h', + 'intel_pixel_read.c', + 'intel_reg.h', + 'intel_regions.c', + 'intel_regions.h', + 'intel_render.c', + 'intel_screen.c', + 'intel_screen.h', + 'intel_state.c', + 'intel_syncobj.c', + 'intel_tex.c', + 'intel_tex_copy.c', + 'intel_tex.h', + 'intel_tex_image.c', + 'intel_tex_layout.c', + 'intel_tex_layout.h', + 'intel_tex_obj.h', + 'intel_tex_subimage.c', + 'intel_tex_validate.c', + 'intel_tris.c', + 'intel_tris.h', +) + +libi915 = static_library( + 'i915', + [files_i915, xmlpool_options_h], + include_directories : [inc_common, inc_dri_common, inc_util], + c_args : [c_vis_args, no_override_init_args], + cpp_args : [cpp_vis_args], + dependencies : [dep_libdrm, dep_libdrm_intel], +) + +dri_drivers += libi915 +dri_link += 'i915_dri.so' --- mesa-17.3.3.orig/src/mesa/drivers/dri/i965/meson.build +++ mesa-17.3.3/src/mesa/drivers/dri/i965/meson.build @@ -0,0 +1,177 @@ +# 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. + +files_i965 = files( + 'brw_binding_tables.c', + 'brw_blorp.c', + 'brw_blorp.h', + 'brw_bufmgr.c', + 'brw_bufmgr.h', + 'brw_clear.c', + 'brw_clip.c', + 'brw_compute.c', + 'brw_conditional_render.c', + 'brw_context.c', + 'brw_context.h', + 'brw_cs.c', + 'brw_cs.h', + 'brw_curbe.c', + 'brw_defines.h', + 'brw_draw.c', + 'brw_draw.h', + 'brw_draw_upload.c', + 'brw_ff_gs.c', + 'brw_ff_gs_emit.c', + 'brw_ff_gs.h', + 'brw_formatquery.c', + 'brw_gs.c', + 'brw_gs.h', + 'brw_gs_surface_state.c', + 'brw_link.cpp', + 'brw_meta_util.c', + 'brw_meta_util.h', + 'brw_misc_state.c', + 'brw_multisample_state.h', + 'brw_nir_uniforms.cpp', + 'brw_object_purgeable.c', + 'brw_pipe_control.c', + 'brw_performance_query.h', + 'brw_performance_query.c', + 'brw_program.c', + 'brw_program.h', + 'brw_program_cache.c', + 'brw_primitive_restart.c', + 'brw_queryobj.c', + 'brw_reset.c', + 'brw_sf.c', + 'brw_state.h', + 'brw_state_upload.c', + 'brw_structs.h', + 'brw_surface_formats.c', + 'brw_sync.c', + 'brw_tcs.c', + 'brw_tcs_surface_state.c', + 'brw_tes.c', + 'brw_tes_surface_state.c', + 'brw_urb.c', + 'brw_util.c', + 'brw_util.h', + 'brw_vs.c', + 'brw_vs.h', + 'brw_vs_surface_state.c', + 'brw_wm.c', + 'brw_wm.h', + 'brw_wm_surface_state.c', + 'gen4_blorp_exec.h', + 'gen6_clip_state.c', + 'gen6_constant_state.c', + 'gen6_depth_state.c', + 'gen6_multisample_state.c', + 'gen6_queryobj.c', + 'gen6_sampler_state.c', + 'gen6_sol.c', + 'gen6_urb.c', + 'gen7_l3_state.c', + 'gen7_misc_state.c', + 'gen7_sol_state.c', + 'gen7_urb.c', + 'gen8_depth_state.c', + 'gen8_multisample_state.c', + 'hsw_queryobj.c', + 'hsw_sol.c', + 'intel_batchbuffer.c', + 'intel_batchbuffer.h', + 'intel_blit.c', + 'intel_blit.h', + 'intel_buffer_objects.c', + 'intel_buffer_objects.h', + 'intel_buffers.c', + 'intel_buffers.h', + 'intel_copy_image.c', + 'intel_extensions.c', + 'intel_fbo.c', + 'intel_fbo.h', + 'intel_image.h', + 'intel_mipmap_tree.c', + 'intel_mipmap_tree.h', + 'intel_pixel_bitmap.c', + 'intel_pixel.c', + 'intel_pixel_copy.c', + 'intel_pixel_draw.c', + 'intel_pixel.h', + 'intel_pixel_read.c', + 'intel_screen.c', + 'intel_screen.h', + 'intel_state.c', + 'intel_tex.c', + 'intel_tex_copy.c', + 'intel_tex.h', + 'intel_tex_image.c', + 'intel_tex_obj.h', + 'intel_tex_validate.c', + 'intel_tiled_memcpy.c', + 'intel_tiled_memcpy.h', + 'intel_upload.c', + 'libdrm_macros.h', +) + +i965_gen_libs = [] +foreach v : ['40', '45', '50', '60', '70', '75', '80', '90', '100'] + _lib = static_library( + 'libi965_gen@0@'.format(v), + ['genX_blorp_exec.c', 'genX_state_upload.c', nir_opcodes_h, gen_xml_pack], + include_directories : [inc_common, inc_intel, inc_dri_common], + c_args : [c_vis_args, no_override_init_args, '-msse2', + '-DGEN_VERSIONx10=@0@'.format(v)], + dependencies : [dep_libdrm], + ) + i965_gen_libs += _lib +endforeach + +oa_generator = generator( + prog_python2, + arguments : ['@CURRENT_SOURCE_DIR@/brw_oa.py', '@INPUT@', + '--chipset', '@EXTRA_ARGS@', '--code', '@OUTPUT0@', + '--header', '@OUTPUT1@'], + output : ['@BASENAME@.c', '@BASENAME@.h'], +) + +i965_oa_sources = [] +foreach hw : ['hsw', 'bdw', 'chv', 'sklgt2', 'sklgt3', 'sklgt4', 'bxt', + 'kblgt2', 'kblgt3', 'glk'] + _xml = 'brw_oa_@0@.xml'.format(hw) + i965_oa_sources += oa_generator.process(_xml, extra_args : hw) +endforeach + +libi965 = static_library( + 'i965', + [files_i965, i965_oa_sources, nir_opcodes_h, ir_expression_operation_h, + xmlpool_options_h], + include_directories : [inc_common, inc_intel, inc_dri_common, inc_util, + inc_drm_uapi, inc_nir], + c_args : [c_vis_args, no_override_init_args, '-msse2'], + cpp_args : [cpp_vis_args, '-msse2'], + link_with : [i965_gen_libs, libintel_common, libisl, libintel_compiler, + libblorp], + dependencies : [dep_libdrm, dep_valgrind], +) + +dri_drivers += libi965 +dri_link += 'i965_dri.so' --- mesa-17.3.3.orig/src/mesa/drivers/dri/meson.build +++ mesa-17.3.3/src/mesa/drivers/dri/meson.build @@ -0,0 +1,61 @@ +# 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. + +subdir('common') + +dri_drivers = [] +dri_link = [] +if with_dri_swrast + subdir('swrast') +endif +if with_dri_i915 + subdir('i915') +endif +if with_dri_i965 + subdir('i965') +endif + +if dri_drivers != [] + libmesa_dri_drivers = shared_library( + 'mesa_dri_drivers', + dummy_cpp, # see meson #2180 + link_whole : dri_drivers, + link_with : [libmegadriver_stub, libdricommon, libxmlconfig, libglapi, + libmesa_util, libnir, libmesa_classic], + dependencies : [dep_selinux, dep_libdrm, dep_expat, dep_m, dep_thread, + dep_dl], + link_args : [ld_args_bsymbolic, ld_args_gc_sections], + ) + + pkg.generate( + name : 'dri', + filebase : 'dri', + description : 'Direct Rendering Infrastructure', + version : meson.project_version(), + requires_private : ['libdrm >= 2.4.75'], # FIXME: don't hardcode this + ) + + meson.add_install_script( + join_paths(meson.source_root(), 'bin/install_megadrivers.py'), + libmesa_dri_drivers.full_path(), + dri_drivers_path, + dri_link, + ) +endif --- mesa-17.3.3.orig/src/mesa/drivers/dri/swrast/meson.build +++ mesa-17.3.3/src/mesa/drivers/dri/swrast/meson.build @@ -0,0 +1,30 @@ +# 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. + +libswrast_dri = static_library( + 'swrast_dri', + files('swrast.c', 'swrast_priv.h'), + c_args : [c_vis_args], + include_directories : [inc_common, inc_dri_common], + dependencies : dep_libdrm, +) + +dri_drivers += libswrast_dri +dri_link += 'swrast_dri.so' --- mesa-17.3.3.orig/src/mesa/main/meson.build +++ mesa-17.3.3/src/mesa/main/meson.build @@ -0,0 +1,46 @@ +# 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. + +main_dispatch_h = custom_target( + 'dispatch.h', + input : [files('../../mapi/glapi/gen/gl_table.py'), gl_and_es_api_files], + output : 'dispatch.h', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@', '-m', 'remap_table'], + depend_files : glapi_gen_depends, + capture : true, +) + +main_marshal_generated_h = custom_target( + 'marshal_generated.h', + input : [files('../../mapi/glapi/gen/gl_marshal_h.py'), gl_and_es_api_files], + output : 'marshal_generated.h', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + depend_files : files('../../mapi/glapi/gen/marshal_XML.py') + glapi_gen_depends, + capture : true, +) + +main_remap_helper_h = custom_target( + 'remap_helper.h', + input : [files('../../mapi/glapi/gen/remap_helper.py'), gl_and_es_api_files], + output : 'remap_helper.h', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + depend_files : glapi_gen_depends, + capture : true, +) --- mesa-17.3.3.orig/src/mesa/main/tests/meson.build +++ mesa-17.3.3/src/mesa/main/tests/meson.build @@ -0,0 +1,43 @@ +# 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. + +files_main_test = files('enum_strings.cpp') +link_main_test = [] + +if with_shared_glapi + files_main_test += files( + 'dispatch_sanity.cpp', + 'mesa_formats.cpp', + 'mesa_extensions.cpp', + 'program_state_string.cpp', + ) + link_main_test += libglapi +else + files_main_test += files('stub.cpp') +endif + +test('main-test', executable( + 'main_test', + [files_main_test, main_dispatch_h], + include_directories : [inc_include, inc_src, inc_mapi, inc_mesa], + dependencies : [idep_gtest, dep_clock, dep_dl, dep_thread], + link_with : [libmesa_classic, link_main_test], + ) +) --- mesa-17.3.3.orig/src/mesa/meson.build +++ mesa-17.3.3/src/mesa/meson.build @@ -0,0 +1,723 @@ +# 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. + +# TODO: main/tests +# TODO: xlib_glx +# TODO: osmesa +# TODO: asm_offsets + +subdir('program') +subdir('main') + +# program files +# program nir files +# files shared between classic mesa and gallium mesa +files_libmesa_common = files( + 'program/arbprogparse.c', + 'program/arbprogparse.h', + 'program/ir_to_mesa.cpp', + 'program/ir_to_mesa.h', + 'program/prog_cache.c', + 'program/prog_cache.h', + 'program/prog_execute.c', + 'program/prog_execute.h', + 'program/prog_instruction.c', + 'program/prog_instruction.h', + 'program/prog_noise.c', + 'program/prog_noise.h', + 'program/prog_opt_constant_fold.c', + 'program/prog_optimize.c', + 'program/prog_optimize.h', + 'program/prog_parameter.c', + 'program/prog_parameter.h', + 'program/prog_parameter_layout.c', + 'program/prog_parameter_layout.h', + 'program/prog_print.c', + 'program/prog_print.h', + 'program/program.c', + 'program/program.h', + 'program/programopt.c', + 'program/programopt.h', + 'program/program_parse_extra.c', + 'program/program_parser.h', + 'program/prog_statevars.c', + 'program/prog_statevars.h', + 'program/symbol_table.c', + 'program/symbol_table.h', + 'program/prog_to_nir.c', + 'program/prog_to_nir.h', + 'main/accum.c', + 'main/accum.h', + 'main/api_arrayelt.c', + 'main/api_arrayelt.h', + 'main/api_exec.h', + 'main/api_loopback.c', + 'main/api_loopback.h', + 'main/api_validate.c', + 'main/api_validate.h', + 'main/arbprogram.c', + 'main/arbprogram.h', + 'main/arrayobj.c', + 'main/arrayobj.h', + 'main/atifragshader.c', + 'main/atifragshader.h', + 'main/attrib.c', + 'main/attrib.h', + 'main/barrier.c', + 'main/barrier.h', + 'main/bbox.c', + 'main/bbox.h', + 'main/blend.c', + 'main/blend.h', + 'main/blit.c', + 'main/blit.h', + 'main/bufferobj.c', + 'main/bufferobj.h', + 'main/buffers.c', + 'main/buffers.h', + 'main/clear.c', + 'main/clear.h', + 'main/clip.c', + 'main/clip.h', + 'main/colormac.h', + 'main/colortab.c', + 'main/colortab.h', + 'main/compute.c', + 'main/compute.h', + 'main/compiler.h', + 'main/condrender.c', + 'main/condrender.h', + 'main/config.h', + 'main/context.c', + 'main/context.h', + 'main/convolve.c', + 'main/convolve.h', + 'main/copyimage.c', + 'main/copyimage.h', + 'main/core.h', + 'main/cpuinfo.c', + 'main/cpuinfo.h', + 'main/dd.h', + 'main/debug.c', + 'main/debug.h', + 'main/debug_output.c', + 'main/debug_output.h', + 'main/depth.c', + 'main/depth.h', + 'main/dlist.c', + 'main/dlist.h', + 'main/drawpix.c', + 'main/drawpix.h', + 'main/drawtex.c', + 'main/drawtex.h', + 'main/enable.c', + 'main/enable.h', + 'main/enums.h', + 'main/errors.c', + 'main/errors.h', + 'main/eval.c', + 'main/eval.h', + 'main/execmem.c', + 'main/extensions.c', + 'main/extensions.h', + 'main/extensions_table.c', + 'main/extensions_table.h', + 'main/externalobjects.c', + 'main/externalobjects.h', + 'main/fbobject.c', + 'main/fbobject.h', + 'main/feedback.c', + 'main/feedback.h', + 'main/ff_fragment_shader.cpp', + 'main/ffvertex_prog.c', + 'main/ffvertex_prog.h', + 'main/fog.c', + 'main/fog.h', + 'main/format_pack.h', + 'main/format_unpack.h', + 'main/formatquery.c', + 'main/formatquery.h', + 'main/formats.c', + 'main/formats.h', + 'main/format_utils.c', + 'main/format_utils.h', + 'main/framebuffer.c', + 'main/framebuffer.h', + 'main/get.c', + 'main/get.h', + 'main/genmipmap.c', + 'main/genmipmap.h', + 'main/getstring.c', + 'main/glformats.c', + 'main/glformats.h', + 'main/glthread.c', + 'main/glthread.h', + 'main/glheader.h', + 'main/hash.c', + 'main/hash.h', + 'main/hint.c', + 'main/hint.h', + 'main/histogram.c', + 'main/histogram.h', + 'main/image.c', + 'main/image.h', + 'main/imports.c', + 'main/imports.h', + 'main/light.c', + 'main/light.h', + 'main/lines.c', + 'main/lines.h', + 'main/macros.h', + 'main/marshal.c', + 'main/marshal.h', + 'main/matrix.c', + 'main/matrix.h', + 'main/mipmap.c', + 'main/mipmap.h', + 'main/mm.c', + 'main/mm.h', + 'main/mtypes.h', + 'main/multisample.c', + 'main/multisample.h', + 'main/objectlabel.c', + 'main/objectlabel.h', + 'main/objectpurge.c', + 'main/objectpurge.h', + 'main/pack.c', + 'main/pack.h', + 'main/pbo.c', + 'main/pbo.h', + 'main/performance_monitor.c', + 'main/performance_monitor.h', + 'main/performance_query.c', + 'main/performance_query.h', + 'main/pipelineobj.c', + 'main/pipelineobj.h', + 'main/pixel.c', + 'main/pixel.h', + 'main/pixelstore.c', + 'main/pixelstore.h', + 'main/pixeltransfer.c', + 'main/pixeltransfer.h', + 'main/points.c', + 'main/points.h', + 'main/polygon.c', + 'main/polygon.h', + 'main/program_resource.c', + 'main/program_resource.h', + 'main/querymatrix.c', + 'main/querymatrix.h', + 'main/queryobj.c', + 'main/queryobj.h', + 'main/rastpos.c', + 'main/rastpos.h', + 'main/readpix.c', + 'main/readpix.h', + 'main/remap.c', + 'main/remap.h', + 'main/renderbuffer.c', + 'main/renderbuffer.h', + 'main/robustness.c', + 'main/samplerobj.c', + 'main/samplerobj.h', + 'main/scissor.c', + 'main/scissor.h', + 'main/shaderapi.c', + 'main/shaderapi.h', + 'main/shaderimage.c', + 'main/shaderimage.h', + 'main/shaderobj.c', + 'main/shaderobj.h', + 'main/shader_query.cpp', + 'main/shared.c', + 'main/shared.h', + 'main/state.c', + 'main/state.h', + 'main/stencil.c', + 'main/stencil.h', + 'main/syncobj.c', + 'main/syncobj.h', + 'main/texcompress.c', + 'main/texcompress_bptc.c', + 'main/texcompress_bptc.h', + 'main/texcompress_cpal.c', + 'main/texcompress_cpal.h', + 'main/texcompress_etc.c', + 'main/texcompress_etc.h', + 'main/texcompress_etc_tmp.h', + 'main/texcompress_fxt1.c', + 'main/texcompress_fxt1.h', + 'main/texcompress.h', + 'main/texcompress_rgtc.c', + 'main/texcompress_rgtc.h', + 'main/texcompress_s3tc.c', + 'main/texcompress_s3tc.h', + 'main/texenv.c', + 'main/texenv.h', + 'main/texenvprogram.h', + 'main/texformat.c', + 'main/texformat.h', + 'main/texgen.c', + 'main/texgen.h', + 'main/texgetimage.c', + 'main/texgetimage.h', + 'main/teximage.c', + 'main/teximage.h', + 'main/texobj.c', + 'main/texobj.h', + 'main/texparam.c', + 'main/texparam.h', + 'main/texstate.c', + 'main/texstate.h', + 'main/texstorage.c', + 'main/texstorage.h', + 'main/texstore.c', + 'main/texstore.h', + 'main/texturebindless.c', + 'main/texturebindless.h', + 'main/textureview.c', + 'main/textureview.h', + 'main/transformfeedback.c', + 'main/transformfeedback.h', + 'main/uniform_query.cpp', + 'main/uniforms.c', + 'main/uniforms.h', + 'main/varray.c', + 'main/varray.h', + 'main/vdpau.c', + 'main/vdpau.h', + 'main/version.c', + 'main/version.h', + 'main/viewport.c', + 'main/viewport.h', + 'main/vtxfmt.c', + 'main/vtxfmt.h', + 'main/es1_conversion.c', + 'main/es1_conversion.h', + 'math/m_debug.h', + 'math/m_debug_clip.c', + 'math/m_debug_norm.c', + 'math/m_debug_util.h', + 'math/m_debug_xform.c', + 'math/m_eval.c', + 'math/m_eval.h', + 'math/m_matrix.c', + 'math/m_matrix.h', + 'math/m_trans_tmp.h', + 'math/m_translate.c', + 'math/m_translate.h', + 'math/m_vector.c', + 'math/m_vector.h', + 'vbo/vbo_attrib.h', + 'vbo/vbo_attrib_tmp.h', + 'vbo/vbo_context.c', + 'vbo/vbo_context.h', + 'vbo/vbo_exec_api.c', + 'vbo/vbo_exec_array.c', + 'vbo/vbo_exec.c', + 'vbo/vbo_exec_draw.c', + 'vbo/vbo_exec_eval.c', + 'vbo/vbo_exec.h', + 'vbo/vbo.h', + 'vbo/vbo_minmax_index.c', + 'vbo/vbo_noop.c', + 'vbo/vbo_noop.h', + 'vbo/vbo_primitive_restart.c', + 'vbo/vbo_rebase.c', + 'vbo/vbo_save_api.c', + 'vbo/vbo_save.c', + 'vbo/vbo_save_draw.c', + 'vbo/vbo_save.h', + 'vbo/vbo_save_loopback.c', + 'vbo/vbo_split.c', + 'vbo/vbo_split_copy.c', + 'vbo/vbo_split.h', + 'vbo/vbo_split_inplace.c', + 'x86/common_x86.c', +) + +# mesa files +files_libmesa_classic = files( + 'math/m_clip_tmp.h', + 'math/m_copy_tmp.h', + 'math/m_dotprod_tmp.h', + 'math/m_norm_tmp.h', + 'math/m_xform.c', + 'math/m_xform.h', + 'math/m_xform_tmp.h', + 'tnl/t_context.c', + 'tnl/t_context.h', + 'tnl/t_draw.c', + 'tnl/tnl.h', + 'tnl/t_pipeline.c', + 'tnl/t_pipeline.h', + 'tnl/t_vb_cliptmp.h', + 'tnl/t_vb_fog.c', + 'tnl/t_vb_light.c', + 'tnl/t_vb_lighttmp.h', + 'tnl/t_vb_normals.c', + 'tnl/t_vb_points.c', + 'tnl/t_vb_program.c', + 'tnl/t_vb_render.c', + 'tnl/t_vb_rendertmp.h', + 'tnl/t_vb_texgen.c', + 'tnl/t_vb_texmat.c', + 'tnl/t_vb_vertex.c', + 'tnl/t_vertex.c', + 'tnl/t_vertex_generic.c', + 'tnl/t_vertex.h', + 'tnl/t_vertex_sse.c', + 'tnl/t_vp_build.c', + 'tnl/t_vp_build.h', + 'swrast/s_aaline.c', + 'swrast/s_aaline.h', + 'swrast/s_aalinetemp.h', + 'swrast/s_aatriangle.c', + 'swrast/s_aatriangle.h', + 'swrast/s_aatritemp.h', + 'swrast/s_alpha.c', + 'swrast/s_alpha.h', + 'swrast/s_atifragshader.c', + 'swrast/s_atifragshader.h', + 'swrast/s_bitmap.c', + 'swrast/s_blend.c', + 'swrast/s_blend.h', + 'swrast/s_blit.c', + 'swrast/s_chan.h', + 'swrast/s_clear.c', + 'swrast/s_context.c', + 'swrast/s_context.h', + 'swrast/s_copypix.c', + 'swrast/s_depth.c', + 'swrast/s_depth.h', + 'swrast/s_drawpix.c', + 'swrast_setup/ss_tritmp.h', + 'swrast_setup/ss_vb.h', + 'swrast_setup/swrast_setup.h', + 'swrast/s_feedback.c', + 'swrast/s_feedback.h', + 'swrast/s_fog.c', + 'swrast/s_fog.h', + 'swrast/s_fragprog.c', + 'swrast/s_fragprog.h', + 'swrast/s_lines.c', + 'swrast/s_lines.h', + 'swrast/s_linetemp.h', + 'swrast/s_logic.c', + 'swrast/s_logic.h', + 'swrast/s_masking.c', + 'swrast/s_masking.h', + 'swrast/s_points.c', + 'swrast/s_points.h', + 'swrast/s_renderbuffer.c', + 'swrast/s_renderbuffer.h', + 'swrast/s_span.c', + 'swrast/s_span.h', + 'swrast/s_stencil.c', + 'swrast/s_stencil.h', + 'swrast/s_texcombine.c', + 'swrast/s_texcombine.h', + 'swrast/s_texfetch.c', + 'swrast/s_texfetch.h', + 'swrast/s_texfetch_tmp.h', + 'swrast/s_texfilter.c', + 'swrast/s_texfilter.h', + 'swrast/s_texrender.c', + 'swrast/s_texture.c', + 'swrast/s_triangle.c', + 'swrast/s_triangle.h', + 'swrast/s_tritemp.h', + 'swrast/swrast.h', + 'swrast/s_zoom.c', + 'swrast/s_zoom.h', + 'swrast_setup/ss_context.c', + 'swrast_setup/ss_context.h', + 'swrast_setup/ss_triangle.c', + 'swrast_setup/ss_triangle.h', + 'drivers/common/driverfuncs.c', + 'drivers/common/driverfuncs.h', + 'drivers/common/meta_blit.c', + 'drivers/common/meta_generate_mipmap.c', + 'drivers/common/meta.c', + 'drivers/common/meta.h', + 'x86/x86_xform.c', + 'x86/3dnow.c', + 'x86/sse.c', + 'x86/rtasm/x86sse.c', + 'x86/rtasm/x86sse.h', + 'sparc/sparc.c', + 'x86-64/x86-64.c', +) + +files_libmesa_gallium = files( + 'state_tracker/st_atifs_to_tgsi.c', + 'state_tracker/st_atifs_to_tgsi.h', + 'state_tracker/st_atom_array.c', + 'state_tracker/st_atom_atomicbuf.c', + 'state_tracker/st_atom_blend.c', + 'state_tracker/st_atom.c', + 'state_tracker/st_atom_clip.c', + 'state_tracker/st_atom_constbuf.c', + 'state_tracker/st_atom_constbuf.h', + 'state_tracker/st_atom_depth.c', + 'state_tracker/st_atom_framebuffer.c', + 'state_tracker/st_atom.h', + 'state_tracker/st_atom_list.h', + 'state_tracker/st_atom_image.c', + 'state_tracker/st_atom_msaa.c', + 'state_tracker/st_atom_pixeltransfer.c', + 'state_tracker/st_atom_rasterizer.c', + 'state_tracker/st_atom_sampler.c', + 'state_tracker/st_atom_scissor.c', + 'state_tracker/st_atom_shader.c', + 'state_tracker/st_atom_shader.h', + 'state_tracker/st_atom_stipple.c', + 'state_tracker/st_atom_storagebuf.c', + 'state_tracker/st_atom_tess.c', + 'state_tracker/st_atom_texture.c', + 'state_tracker/st_atom_viewport.c', + 'state_tracker/st_cb_bitmap.c', + 'state_tracker/st_cb_bitmap.h', + 'state_tracker/st_cb_bitmap_shader.c', + 'state_tracker/st_cb_blit.c', + 'state_tracker/st_cb_blit.h', + 'state_tracker/st_cb_bufferobjects.c', + 'state_tracker/st_cb_bufferobjects.h', + 'state_tracker/st_cb_clear.c', + 'state_tracker/st_cb_clear.h', + 'state_tracker/st_cb_compute.c', + 'state_tracker/st_cb_compute.h', + 'state_tracker/st_cb_condrender.c', + 'state_tracker/st_cb_condrender.h', + 'state_tracker/st_cb_copyimage.c', + 'state_tracker/st_cb_copyimage.h', + 'state_tracker/st_cb_drawpixels.c', + 'state_tracker/st_cb_drawpixels.h', + 'state_tracker/st_cb_drawpixels_shader.c', + 'state_tracker/st_cb_drawtex.c', + 'state_tracker/st_cb_drawtex.h', + 'state_tracker/st_cb_eglimage.c', + 'state_tracker/st_cb_eglimage.h', + 'state_tracker/st_cb_fbo.c', + 'state_tracker/st_cb_fbo.h', + 'state_tracker/st_cb_feedback.c', + 'state_tracker/st_cb_feedback.h', + 'state_tracker/st_cb_flush.c', + 'state_tracker/st_cb_flush.h', + 'state_tracker/st_cb_memoryobjects.c', + 'state_tracker/st_cb_memoryobjects.h', + 'state_tracker/st_cb_msaa.c', + 'state_tracker/st_cb_msaa.h', + 'state_tracker/st_cb_perfmon.c', + 'state_tracker/st_cb_perfmon.h', + 'state_tracker/st_cb_program.c', + 'state_tracker/st_cb_program.h', + 'state_tracker/st_cb_queryobj.c', + 'state_tracker/st_cb_queryobj.h', + 'state_tracker/st_cb_rasterpos.c', + 'state_tracker/st_cb_rasterpos.h', + 'state_tracker/st_cb_readpixels.c', + 'state_tracker/st_cb_readpixels.h', + 'state_tracker/st_cb_strings.c', + 'state_tracker/st_cb_strings.h', + 'state_tracker/st_cb_syncobj.c', + 'state_tracker/st_cb_syncobj.h', + 'state_tracker/st_cb_texturebarrier.c', + 'state_tracker/st_cb_texturebarrier.h', + 'state_tracker/st_cb_texture.c', + 'state_tracker/st_cb_texture.h', + 'state_tracker/st_cb_viewport.c', + 'state_tracker/st_cb_viewport.h', + 'state_tracker/st_cb_xformfb.c', + 'state_tracker/st_cb_xformfb.h', + 'state_tracker/st_context.c', + 'state_tracker/st_context.h', + 'state_tracker/st_copytex.c', + 'state_tracker/st_copytex.h', + 'state_tracker/st_debug.c', + 'state_tracker/st_debug.h', + 'state_tracker/st_draw.c', + 'state_tracker/st_draw_feedback.c', + 'state_tracker/st_draw.h', + 'state_tracker/st_extensions.c', + 'state_tracker/st_extensions.h', + 'state_tracker/st_format.c', + 'state_tracker/st_format.h', + 'state_tracker/st_gen_mipmap.c', + 'state_tracker/st_gen_mipmap.h', + 'state_tracker/st_gl_api.h', + 'state_tracker/st_glsl_to_nir.cpp', + 'state_tracker/st_glsl_to_tgsi.cpp', + 'state_tracker/st_glsl_to_tgsi.h', + 'state_tracker/st_glsl_to_tgsi_private.cpp', + 'state_tracker/st_glsl_to_tgsi_private.h', + 'state_tracker/st_glsl_to_tgsi_temprename.cpp', + 'state_tracker/st_glsl_to_tgsi_temprename.h', + 'state_tracker/st_glsl_types.cpp', + 'state_tracker/st_glsl_types.h', + 'state_tracker/st_manager.c', + 'state_tracker/st_manager.h', + 'state_tracker/st_mesa_to_tgsi.c', + 'state_tracker/st_mesa_to_tgsi.h', + 'state_tracker/st_nir.h', + 'state_tracker/st_nir_lower_builtin.c', + 'state_tracker/st_nir_lower_tex_src_plane.c', + 'state_tracker/st_pbo.c', + 'state_tracker/st_pbo.h', + 'state_tracker/st_program.c', + 'state_tracker/st_program.h', + 'state_tracker/st_sampler_view.c', + 'state_tracker/st_sampler_view.h', + 'state_tracker/st_scissor.c', + 'state_tracker/st_scissor.h', + 'state_tracker/st_shader_cache.c', + 'state_tracker/st_shader_cache.h', + 'state_tracker/st_texture.c', + 'state_tracker/st_texture.h', + 'state_tracker/st_tgsi_lower_yuv.c', + 'state_tracker/st_tgsi_lower_yuv.h', + 'state_tracker/st_vdpau.c', + 'state_tracker/st_vdpau.h', +) + +# TODO: sse41 +libmesa_sse41 = [] + +matypes_h = [] +if with_asm_arch == 'x86' or with_asm_arch == 'x86_64' + gen_matypes = executable( + 'gen_matypes', + 'x86/gen_matypes.c', + c_args : [c_vis_args, c_msvc_compat_args], + include_directories : inc_common, + ) + matypes_h = custom_target( + 'matypes.h', + output : 'matypes.h', + command : [gen_matypes], + capture : true, + ) +endif +if with_asm_arch == 'x86' + files_libmesa_common += files( + 'x86/assyntax.h', + 'x86/clip_args.h', + 'x86/norm_args.h', + 'x86/xform_args.h', + 'x86/common_x86_asm.S', + 'x86/common_x86_asm.h', + 'x86/common_x86_features.h', + 'x86/x86_xform.h', + 'x86/x86_xform2.S', + 'x86/x86_xform3.S', + 'x86/x86_xform4.S', + 'x86/x86_cliptest.S', + 'x86/mmx.h', + 'x86/mmx_blend.S', + 'x86/mmx_blendtmp.h', + 'x86/3dnow.h', + 'x86/3dnow_xform1.S', + 'x86/3dnow_xform2.S', + 'x86/3dnow_xform3.S', + 'x86/3dnow_xform4.S', + 'x86/sse.h', + 'x86/sse_xform1.S', + 'x86/sse_xform2.S', + 'x86/sse_xform3.S', + 'x86/sse_xform4.S', + 'x86/sse_normal.S', + 'x86/read_rgba_span_x86.S', + ) +elif with_asm_arch == 'x86_64' + files_libmesa_common += files('x86-64/x86-64.h', 'x86-64/xform4.S') +endif +# TODO: sparc + +format_fallback_c = custom_target( + 'format_fallback.c', + input : ['main/format_fallback.py', 'main/formats.csv'], + output : 'format_fallback.c', + command : [prog_python2, '@INPUT0@', '@INPUT1@', '@OUTPUT@'], + depend_files : files('main/format_parser.py'), +) + +get_hash_h = custom_target( + 'get_hash.h', + input : ['main/get_hash_generator.py', gl_and_es_api_files], + output : 'get_hash.h', + command : [prog_python2, '@INPUT0@', '-f', '@INPUT1@'], + depend_files : files('main/get_hash_params.py'), + capture : true, +) + +foreach x : [['format_info.h', 'format_info.py'], + ['format_pack.c', 'format_pack.py'], + ['format_unpack.c', 'format_unpack.py']] + files_libmesa_common += custom_target( + x[0], + input : ['main/@0@'.format(x[1]), 'main/formats.csv'], + output : x[0], + command : [prog_python2, '@INPUT0@', '@INPUT1@'], + depend_files : files('main/format_parser.py'), + capture : true, + ) +endforeach + +files_libmesa_common += [ + mesa_lex, + program_parse_tab, + main_api_exec_c, + main_enums_c, + format_fallback_c, + get_hash_h, + main_marshal_generated_c, + main_marshal_generated_h, + main_dispatch_h, + ir_expression_operation_h, + nir_opcodes_h, + main_remap_helper_h, + matypes_h, + sha1_h, +] + +libmesa_classic = static_library( + 'mesa_classic', + [files_libmesa_common, files_libmesa_classic], + c_args : [c_vis_args, c_msvc_compat_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + include_directories : [inc_common, include_directories('main')], + link_with : [libglsl, libmesa_sse41], + build_by_default : false, +) + +libmesa_gallium = static_library( + 'mesa_gallium', + [files_libmesa_common, files_libmesa_gallium], + c_args : [c_vis_args, c_msvc_compat_args], + cpp_args : [cpp_vis_args, cpp_msvc_compat_args], + include_directories : [inc_common, include_directories('main')], + link_with : [libglsl, libmesa_sse41], + build_by_default : false, +) + +subdir('drivers/dri') +if with_tests + subdir('main/tests') +endif --- mesa-17.3.3.orig/src/mesa/program/meson.build +++ mesa-17.3.3/src/mesa/program/meson.build @@ -0,0 +1,33 @@ +# 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. + +mesa_lex = custom_target( + 'mesa_lex', + input : 'program_lexer.l', + output : 'lex.yy.c', + command : [prog_flex, '-o', '@OUTPUT@', '@INPUT@'], +) + +program_parse_tab = custom_target( + 'program_parse_tab.[ch]', + input : 'program_parse.y', + output : ['program_parse.tab.c', 'program_parse.tab.h'], + command : [prog_bison, '-o', '@OUTPUT0@', '--defines=@OUTPUT1@', '@INPUT@'], +) --- mesa-17.3.3.orig/src/meson.build +++ mesa-17.3.3/src/meson.build @@ -0,0 +1,68 @@ +# 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. + +inc_common = include_directories( + '../include', '.', 'mapi', 'mesa', 'gallium/include', 'gallium/auxiliary') +inc_mesa = include_directories('mesa') +inc_mapi = include_directories('mapi') +inc_src = include_directories('.') + +libglsl_util = static_library( + 'glsl_util', + files('mesa/main/extensions_table.c', 'mesa/main/imports.c', + 'mesa/program/prog_parameter.c', 'mesa/program/symbol_table.c', + 'mesa/program/dummy_errors.c'), + include_directories : [inc_common], + c_args : [c_vis_args], + build_by_default : false, +) + +sha1_h = vcs_tag( + input : 'git_sha1.h.in', + output : 'git_sha1.h', +) + +subdir('gtest') +subdir('util') +subdir('mapi/glapi/gen') +subdir('mapi') +# TODO: opengl +# TODO: osmesa +subdir('compiler') +subdir('egl/wayland/wayland-drm') +subdir('vulkan') +subdir('amd') +if with_gallium_vc4 + subdir('broadcom') +endif +subdir('intel') +subdir('mesa') +subdir('loader') +subdir('glx') +if with_platform_wayland + subdir('egl/wayland/wayland-egl') +endif +if with_gbm + subdir('gbm') +endif +if with_egl + subdir('egl') +endif +subdir('gallium') --- mesa-17.3.3.orig/src/util/meson.build +++ mesa-17.3.3/src/util/meson.build @@ -0,0 +1,138 @@ +# 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. + +inc_util = include_directories('.') + +subdir('xmlpool') + +files_mesa_util = files( + 'bitscan.c', + 'bitscan.h', + 'bitset.h', + 'build_id.c', + 'build_id.h', + 'crc32.c', + 'crc32.h', + 'debug.c', + 'debug.h', + 'disk_cache.c', + 'disk_cache.h', + 'format_r11g11b10f.h', + 'format_rgb9e5.h', + 'format_srgb.h', + 'half_float.c', + 'half_float.h', + 'hash_table.c', + 'hash_table.h', + 'list.h', + 'macros.h', + 'mesa-sha1.c', + 'mesa-sha1.h', + 'sha1/sha1.c', + 'sha1/sha1.h', + 'ralloc.c', + 'ralloc.h', + 'rand_xor.c', + 'rand_xor.h', + 'register_allocate.c', + 'register_allocate.h', + 'rgtc.c', + 'rgtc.h', + 'rounding.h', + 'set.c', + 'set.h', + 'simple_list.h', + 'slab.c', + 'slab.h', + 'string_buffer.c', + 'string_buffer.h', + 'strndup.h', + 'strtod.c', + 'strtod.h', + 'texcompress_rgtc_tmp.h', + 'u_atomic.c', + 'u_atomic.h', + 'u_dynarray.h', + 'u_endian.h', + 'u_queue.c', + 'u_queue.h', + 'u_string.h', + 'u_thread.h', + 'u_vector.c', + 'u_vector.h', +) + +install_data('drirc', install_dir : get_option('sysconfdir')) + +files_xmlconfig = files( + 'xmlconfig.c', + 'xmlconfig.h', +) + +format_srgb = custom_target( + 'format_srgb', + input : ['format_srgb.py'], + output : 'format_srgb.c', + command : [prog_python2, '@INPUT0@'], + capture : true, +) + +libmesa_util = static_library( + 'mesa_util', + [files_mesa_util, format_srgb], + include_directories : inc_common, + dependencies : [dep_zlib, dep_clock], + c_args : [c_msvc_compat_args, c_vis_args], + build_by_default : false +) + +libxmlconfig = static_library( + 'xmlconfig', + files_xmlconfig, + include_directories : inc_common, + dependencies : [dep_expat, dep_m], + c_args : [c_msvc_compat_args, c_vis_args, + '-DSYSCONFDIR="@0@"'.format(get_option('sysconfdir'))], + build_by_default : false, +) + +if with_tests + u_atomic_test = executable( + 'u_atomic_test', + files('u_atomic_test.c'), + include_directories : inc_common, + link_with : libmesa_util, + c_args : [c_msvc_compat_args], + ) + + roundeven_test = executable( + 'roundeven_test', + files('roundeven_test.c'), + include_directories : inc_common, + c_args : [c_msvc_compat_args], + dependencies : [dep_m], + ) + + test('u_atomic', u_atomic_test) + test('roundeven', roundeven_test) + + subdir('tests/hash_table') + subdir('tests/string_buffer') +endif --- mesa-17.3.3.orig/src/util/tests/hash_table/meson.build +++ mesa-17.3.3/src/util/tests/hash_table/meson.build @@ -0,0 +1,32 @@ +# 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. + +foreach t : ['clear', 'collision', 'delete_and_lookup', 'delete_management', + 'destroy_callback', 'insert_and_lookup', 'insert_many', + 'null_destroy', 'random_entry', 'remove_null', 'replacement'] + _test = executable( + '@0@_test'.format(t), + files('@0@.c'.format(t)), + dependencies : [dep_thread, dep_dl], + include_directories : [inc_include, inc_util], + link_with : libmesa_util, + ) + test(t, _test) +endforeach --- mesa-17.3.3.orig/src/util/tests/string_buffer/meson.build +++ mesa-17.3.3/src/util/tests/string_buffer/meson.build @@ -0,0 +1,29 @@ +# 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. + +string_buffer_test = executable( + 'string_buffer_test', + 'string_buffer_test.cpp', + dependencies : [dep_thread, dep_dl, idep_gtest], + include_directories : inc_common, + link_with : [libmesa_util], +) + +test('string_buffer', string_buffer_test) --- mesa-17.3.3.orig/src/util/xmlpool/meson.build +++ mesa-17.3.3/src/util/xmlpool/meson.build @@ -0,0 +1,28 @@ +# 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. + +xmlpool_options_h = custom_target( + 'xmlpool_options.h', + input : ['gen_xmlpool.py', 't_options.h'], + output : 'options.h', + command : [prog_python2, '@INPUT@', meson.current_source_dir()], + capture : true, + depend_files : files('ca.po', 'es.po', 'de.po', 'nl.po', 'sv.po', 'fr.po'), +) --- mesa-17.3.3.orig/src/vulkan/meson.build +++ mesa-17.3.3/src/vulkan/meson.build @@ -0,0 +1,28 @@ +# 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. + +vk_api_xml = files('registry/vk.xml') +vk_android_native_buffer_xml = files('registry/vk_android_native_buffer.xml') + +inc_vulkan_util = include_directories('util') +inc_vulkan_wsi = include_directories('wsi') + +subdir('util') +subdir('wsi') --- mesa-17.3.3.orig/src/vulkan/util/meson.build +++ mesa-17.3.3/src/vulkan/util/meson.build @@ -0,0 +1,41 @@ +# 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. + +files_vulkan_util = files( + 'vk_alloc.h', + 'vk_util.c', + 'vk_util.h', +) + +vk_enum_to_str = custom_target( + 'vk_enum_to_str', + input : ['gen_enum_to_str.py', vk_api_xml[0]], + output : ['vk_enum_to_str.c', 'vk_enum_to_str.h'], + command : [prog_python2, '@INPUT0@', '--xml', '@INPUT1@', + '--outdir', meson.current_build_dir()], +) + +libvulkan_util = static_library( + 'vulkan_util', + [files_vulkan_util, vk_enum_to_str], + include_directories : [inc_common, inc_vulkan], + c_args : [c_vis_args], + build_by_default : false, +) --- mesa-17.3.3.orig/src/vulkan/wsi/meson.build +++ mesa-17.3.3/src/vulkan/wsi/meson.build @@ -0,0 +1,65 @@ +# 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. + +vulkan_wsi_args = [] +vulkan_wsi_deps = [] + +files_vulkan_wsi = files( + 'wsi_common.h', + 'wsi_common_queue.h', +) +if with_platform_x11 + vulkan_wsi_args += ['-DVK_USE_PLATFORM_XCB_KHR', '-DVK_USE_PLATFORM_XLIB_KHR'] + vulkan_wsi_deps += [ + dep_xcb, + dep_x11_xcb, + dep_xcb_dri2, + dep_xcb_dri3, + dep_xcb_present, + dep_xcb_sync, + dep_xshmfence, + ] + files_vulkan_wsi += files( + 'wsi_common_x11.c', + 'wsi_common_x11.h', + ) +endif + +if with_platform_wayland + vulkan_wsi_deps += dep_wayland_client + vulkan_wsi_args += ['-DVK_USE_PLATFORM_WAYLAND_KHR'] + files_vulkan_wsi += files( + 'wsi_common_wayland.c', + 'wsi_common_wayland.h', + ) + files_vulkan_wsi += [ + wayland_drm_client_protocol_h, + wayland_drm_protocol_c, + ] +endif + +libvulkan_wsi = static_library( + 'vulkan_wsi', + files_vulkan_wsi, + include_directories : [inc_common, inc_vulkan_util], + dependencies : [vulkan_wsi_deps, dep_libdrm], + c_args : [c_vis_args, vulkan_wsi_args], + build_by_default : false, +)