mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
extra/mesa to 19.2.0-2
This commit is contained in:
parent
1597f9241f
commit
4cfbe486de
4 changed files with 200 additions and 19 deletions
|
@ -9,8 +9,8 @@
|
|||
pkgbase=mesa
|
||||
pkgname=('libva-mesa-driver' 'mesa-vdpau' 'mesa')
|
||||
pkgdesc="An open-source implementation of the OpenGL specification"
|
||||
pkgver=19.1.7
|
||||
pkgrel=1
|
||||
pkgver=19.2.0
|
||||
pkgrel=2
|
||||
arch=('x86_64')
|
||||
makedepends=('python-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto'
|
||||
'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'wayland-protocols'
|
||||
|
@ -21,12 +21,14 @@ license=('custom')
|
|||
source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig}
|
||||
0001-Rip-out-VC4-forced-NEON.patch
|
||||
LICENSE
|
||||
glesv2.pc)
|
||||
sha512sums=('0865b5f91e5daa00e1da2b3d8b65fe5d2ff6332372bf8fec7d671d05d8d64ec5a7abea1858cdfc506c76b7226d2bea0af3426565f156b796d8e0f949ea33dc15'
|
||||
glvnd.patch
|
||||
intel-topology-query-fix-old-gens.patch)
|
||||
sha512sums=('7278bbfba9c29fe91d1959ff1a48422e917db85287460523d12ae8c6d7f49f76e9636bf4c0d8d7d89e5569b3c67135f1b23b8f6c9d52d39413d8ec22e3bb40f0'
|
||||
'SKIP'
|
||||
'df13eaff1f3a95821221637c56d482945c42faca789e8bc71c36d0526750863aac891afab9d51ce0a912d7eede5b2af7c14a1c36ebd17c1bde945c3e057b773b'
|
||||
'f9f0d0ccf166fe6cb684478b6f1e1ab1f2850431c06aa041738563eb1808a004e52cdec823c103c9e180f03ffc083e95974d291353f0220fe52ae6d4897fecc7'
|
||||
'd3adb2081c945df701d2e0ad0ecd19f96ebffaba9878da31bf670b1b591a7d9d5895f4b10cda1f9dbf51e551baa8dda5d061e61256225b464eeec34f29141dff')
|
||||
'3e5746dcd493bff3f04b26de6168b15d0f161de62c1c6657106b61cbb1ad4925cbf3a691d5055491e759f88dbe0362dc909e7d726f87528980662f26ceb6dcbc'
|
||||
'a5e2ccef20edc81859255c66cb838c5244774d9d6c56dcfce2e462b6ddaa66ef7847242b050402305621c9c9e706629af30dd27c8466b6bd32d1be40cb3e53a0')
|
||||
validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l.velikov@gmail.com>
|
||||
'946D09B5E4C9845E63075FF1D961C596A7203456' # Andres Gomez <tanty@igalia.com>
|
||||
'E3E8F480C52ADD73B278EE78E1ECBE07D7D70895' # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez@igalia.com>
|
||||
|
@ -34,7 +36,12 @@ validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D' # Emil Velikov <emil.l
|
|||
'71C4B75620BC75708B4BDB254C95FAAB3EB073EC') # Dylan Baker <dylan@pnwbakers.com>
|
||||
|
||||
prepare() {
|
||||
cd mesa-${pkgver}
|
||||
cd mesa-$pkgver
|
||||
|
||||
# libglvnd-1.2.0 support
|
||||
patch -Np1 -i ${srcdir}/glvnd.patch
|
||||
# Fix FS#63945
|
||||
patch -Np1 -i ${srcdir}/intel-topology-query-fix-old-gens.patch
|
||||
|
||||
[[ $CARCH == "armv6h" || $CARCH == "armv7h" ]] && patch -p1 -i ../0001-Rip-out-VC4-forced-NEON.patch || true
|
||||
}
|
||||
|
@ -150,8 +157,5 @@ package_mesa() {
|
|||
# make sure there are no files left to install
|
||||
find fakeinstall -depth -print0 | xargs -0 rmdir
|
||||
|
||||
# bring back missing glesv2.pc
|
||||
install -m644 -Dt ${pkgdir}/usr/lib/pkgconfig ${srcdir}/glesv2.pc
|
||||
|
||||
install -m644 -Dt "${pkgdir}/usr/share/licenses/${pkgname}" LICENSE
|
||||
}
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
prefix=/usr
|
||||
libdir=${prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: glesv2
|
||||
Description: Mesa OpenGL ES 2.0 library
|
||||
Version: 19.1.0
|
||||
Libs: -L${libdir} -lGLESv2
|
||||
Libs.private: -lpthread -pthread -lm -ldl
|
||||
Cflags: -I${includedir}
|
148
extra/mesa/glvnd.patch
Normal file
148
extra/mesa/glvnd.patch
Normal file
|
@ -0,0 +1,148 @@
|
|||
From fafd20f67dec9f5891838435ecde1dedb77ab742 Mon Sep 17 00:00:00 2001
|
||||
From: Dylan Baker <dylan@pnwbakers.com>
|
||||
Date: Wed, 25 Sep 2019 23:25:27 +0000
|
||||
Subject: [PATCH] meson: fix logic for generating .pc files with old glvnd
|
||||
|
||||
We want to generate PC files for non-glvnd builds and for builds with
|
||||
old glvnd, but the current logic doesn't do that, it builds them
|
||||
unconditionally, and for GLES it builds the shared libraries, which is
|
||||
also not what we want. This does not generate .pc files for gles1 or
|
||||
gles2. Which it we weren't doing before either, making this not a
|
||||
regression but a return to status-quo.o
|
||||
|
||||
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1838
|
||||
Fixes: 93df862b6affb6b8507e40601212a58012bfa873
|
||||
("meson: re-add incorrect pkg-config files with GLVND for backward compatibility")
|
||||
Reviewed-by: Matt Turner <mattst88@gmail.com>
|
||||
---
|
||||
meson.build | 9 +++++----
|
||||
src/egl/meson.build | 30 ++++++++++++++++--------------
|
||||
src/mapi/meson.build | 2 +-
|
||||
src/meson.build | 4 ++--
|
||||
4 files changed, 24 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 0e46fde5edc..da4a07538df 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -100,7 +100,7 @@ endif
|
||||
|
||||
# shared-glapi is required if at least two OpenGL APIs are being built
|
||||
if not with_shared_glapi
|
||||
- if ((with_gles1 == 'true' and with_gles2 == 'true') or
|
||||
+ if ((with_gles1 == 'true' and with_gles2 == 'true') or
|
||||
(with_gles1 == 'true' and with_opengl) or
|
||||
(with_gles2 == 'true' and with_opengl))
|
||||
error('shared-glapi required for building two or more of OpenGL, OpenGL ES 1.x, OpenGL ES 2.x')
|
||||
@@ -397,7 +397,7 @@ endif
|
||||
if with_glx != 'disabled'
|
||||
if not (with_platform_x11 and with_any_opengl)
|
||||
error('Cannot build GLX support without X11 platform support and at least one OpenGL API')
|
||||
- elif with_glx == 'gallium-xlib'
|
||||
+ elif with_glx == 'gallium-xlib'
|
||||
if not with_gallium
|
||||
error('Gallium-xlib based GLX requires at least one gallium driver')
|
||||
elif not with_gallium_softpipe
|
||||
@@ -405,7 +405,7 @@ if with_glx != 'disabled'
|
||||
elif with_dri
|
||||
error('gallium-xlib conflicts with any dri driver')
|
||||
endif
|
||||
- elif with_glx == 'xlib'
|
||||
+ elif with_glx == 'xlib'
|
||||
if with_dri
|
||||
error('xlib conflicts with any dri driver')
|
||||
endif
|
||||
@@ -1326,6 +1326,7 @@ else
|
||||
endif
|
||||
|
||||
dep_glvnd = null_dep
|
||||
+glvnd_missing_pc_files = false
|
||||
if with_glvnd
|
||||
dep_glvnd = dependency('libglvnd', version : '>= 0.2.0')
|
||||
# GLVND until commit 0dfaea2bcb7cdcc785f9 ("Add pkg-config files for EGL, GL,
|
||||
@@ -1462,7 +1463,7 @@ if with_platform_x11
|
||||
if with_glx == 'dri' or with_glx == 'gallium-xlib'
|
||||
dep_glproto = dependency('glproto', version : '>= 1.4.14')
|
||||
endif
|
||||
- if with_glx == 'dri'
|
||||
+ if with_glx == 'dri'
|
||||
if with_dri_platform == 'drm'
|
||||
dep_dri2proto = dependency('dri2proto', version : '>= 2.8')
|
||||
dep_xxf86vm = dependency('xxf86vm')
|
||||
diff --git a/src/egl/meson.build b/src/egl/meson.build
|
||||
index 7038a68e955..7d738e2ebd1 100644
|
||||
--- a/src/egl/meson.build
|
||||
+++ b/src/egl/meson.build
|
||||
@@ -176,21 +176,23 @@ libegl = shared_library(
|
||||
# If using glvnd the pkg-config header should not point to EGL_mesa, it should
|
||||
# point to EGL. glvnd is only available on unix like platforms so adding -l
|
||||
# should be safe here
|
||||
-if with_glvnd and glvnd_missing_pc_files
|
||||
- _egl = '-L${libdir} -lEGL'
|
||||
-else
|
||||
- _egl = libegl
|
||||
-endif
|
||||
+if not with_glvnd or glvnd_missing_pc_files
|
||||
+ if glvnd_missing_pc_files
|
||||
+ _egl = '-L${libdir} -lEGL'
|
||||
+ else
|
||||
+ _egl = libegl
|
||||
+ endif
|
||||
|
||||
-pkg.generate(
|
||||
- name : 'egl',
|
||||
- description : 'Mesa EGL Library',
|
||||
- version : meson.project_version(),
|
||||
- libraries : _egl,
|
||||
- libraries_private: gl_priv_libs,
|
||||
- requires_private : gl_priv_reqs,
|
||||
- extra_cflags : gl_pkgconfig_c_flags,
|
||||
-)
|
||||
+ pkg.generate(
|
||||
+ name : 'egl',
|
||||
+ description : 'Mesa EGL Library',
|
||||
+ version : meson.project_version(),
|
||||
+ libraries : _egl,
|
||||
+ libraries_private: gl_priv_libs,
|
||||
+ requires_private : gl_priv_reqs,
|
||||
+ extra_cflags : gl_pkgconfig_c_flags,
|
||||
+ )
|
||||
+endif
|
||||
|
||||
if with_tests and prog_nm.found()
|
||||
if with_glvnd
|
||||
diff --git a/src/mapi/meson.build b/src/mapi/meson.build
|
||||
index 39c1dba7ce0..2c79a04f1df 100644
|
||||
--- a/src/mapi/meson.build
|
||||
+++ b/src/mapi/meson.build
|
||||
@@ -35,7 +35,7 @@ if with_shared_glapi
|
||||
else
|
||||
libglapi = []
|
||||
endif
|
||||
-if not with_glvnd or glvnd_missing_pc_files
|
||||
+if not with_glvnd
|
||||
if with_gles1
|
||||
subdir('es1api')
|
||||
endif
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index ddbcd7f3ae4..d01f84c0d46 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -111,12 +111,12 @@ endif
|
||||
|
||||
# This must be after at least mesa, glx, and gallium, since libgl will be
|
||||
# defined in one of those subdirs depending on the glx provider.
|
||||
-if with_glx != 'disabled'
|
||||
+if with_glx != 'disabled' and (not with_glvnd or glvnd_missing_pc_files)
|
||||
# If using glvnd the pkg-config header should not point to GL_mesa, it should
|
||||
# point to GL. glvnd is only available on unix like platforms so adding -l
|
||||
# should be safe here
|
||||
# TODO: in the glvnd case glvnd itself should really be providing this.
|
||||
- if with_glvnd and glvnd_missing_pc_files
|
||||
+ if glvnd_missing_pc_files
|
||||
_gl = '-L${libdir} -lGL'
|
||||
else
|
||||
_gl = libgl
|
||||
--
|
||||
2.22.0
|
||||
|
39
extra/mesa/intel-topology-query-fix-old-gens.patch
Normal file
39
extra/mesa/intel-topology-query-fix-old-gens.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
From 712268730ec05897a6add995444123ac2af54382 Mon Sep 17 00:00:00 2001
|
||||
From: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
|
||||
Date: Wed, 2 Oct 2019 17:13:06 +0300
|
||||
Subject: [PATCH] intel: fix topology query
|
||||
|
||||
i915 will report ENODEV on generations prior to Haswell because there
|
||||
is no point in reporting values on those. This is prior any fusing
|
||||
could happen on parts with identical PCI ids.
|
||||
|
||||
This query call was previously only triggered on generation that
|
||||
support performance queries, which happens to match generation for
|
||||
which i915 reports topology, but the commit pointed below started
|
||||
using it on all generations.
|
||||
|
||||
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
|
||||
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/1860
|
||||
Cc: <mesa-stable@lists.freedesktop.org>
|
||||
Fixes: 96e1c945f2 ("i965: Move device info initialization to common code")
|
||||
---
|
||||
src/intel/dev/gen_device_info.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/intel/dev/gen_device_info.c b/src/intel/dev/gen_device_info.c
|
||||
index 3953a1f4af3..85fa978f9c1 100644
|
||||
--- a/src/intel/dev/gen_device_info.c
|
||||
+++ b/src/intel/dev/gen_device_info.c
|
||||
@@ -1320,6 +1320,9 @@ query_topology(struct gen_device_info *devinfo, int fd)
|
||||
if (gen_ioctl(fd, DRM_IOCTL_I915_QUERY, &query))
|
||||
return false;
|
||||
|
||||
+ if (item.length < 0)
|
||||
+ return false;
|
||||
+
|
||||
struct drm_i915_query_topology_info *topo_info =
|
||||
(struct drm_i915_query_topology_info *) calloc(1, item.length);
|
||||
item.data_ptr = (uintptr_t) topo_info;
|
||||
--
|
||||
2.22.0
|
||||
|
Loading…
Reference in a new issue