mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
extra/libdrm to 2.4.90-3
This commit is contained in:
parent
07efa0859a
commit
19f53a4144
5 changed files with 77 additions and 87 deletions
|
@ -1,34 +0,0 @@
|
|||
From 677cd97dc4a930af508388713f5016baf664ed18 Mon Sep 17 00:00:00 2001
|
||||
From: Rob Herring <robh@kernel.org>
|
||||
Date: Fri, 21 Oct 2016 10:07:59 -0700
|
||||
Subject: [PATCH 1/2] Return an -ENODEV from drmGetDevice() when no device was
|
||||
found.
|
||||
|
||||
Fixes crashes in Mesa on platform devices, which expected *device to
|
||||
have a device when 0 was returned.
|
||||
|
||||
(code from a paste by Rob, commit message by anholt)
|
||||
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
||||
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
|
||||
---
|
||||
xf86drm.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/xf86drm.c b/xf86drm.c
|
||||
index 9cfca49..9b52889 100644
|
||||
--- a/xf86drm.c
|
||||
+++ b/xf86drm.c
|
||||
@@ -3181,6 +3181,8 @@ int drmGetDevice(int fd, drmDevicePtr *device)
|
||||
|
||||
closedir(sysdir);
|
||||
free(local_devices);
|
||||
+ if (*device == NULL)
|
||||
+ return -ENODEV;
|
||||
return 0;
|
||||
|
||||
free_devices:
|
||||
--
|
||||
2.10.2
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
From 2d8c01f256011c013edf3a76672d6ce9e2b05d8f Mon Sep 17 00:00:00 2001
|
||||
From: Eric Anholt <eric@anholt.net>
|
||||
Date: Fri, 21 Oct 2016 10:09:47 -0700
|
||||
Subject: [PATCH 2/2] Silence runtime complaints on platform devices
|
||||
|
||||
glxgears was spamming this 12 times at startup because of Mesa's
|
||||
probing of the DRM device code, which doesn't support platform
|
||||
devices.
|
||||
|
||||
Signed-off-by: Eric Anholt <eric@anholt.net>
|
||||
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
|
||||
---
|
||||
xf86drm.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/xf86drm.c b/xf86drm.c
|
||||
index 9b52889..52add5e 100644
|
||||
--- a/xf86drm.c
|
||||
+++ b/xf86drm.c
|
||||
@@ -3149,7 +3149,6 @@ int drmGetDevice(int fd, drmDevicePtr *device)
|
||||
|
||||
break;
|
||||
default:
|
||||
- fprintf(stderr, "The subsystem type is not supported yet\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -3259,7 +3258,6 @@ int drmGetDevices(drmDevicePtr devices[], int max_devices)
|
||||
|
||||
break;
|
||||
default:
|
||||
- fprintf(stderr, "The subsystem type is not supported yet\n");
|
||||
continue;
|
||||
}
|
||||
|
||||
--
|
||||
2.10.2
|
||||
|
|
@ -6,22 +6,27 @@
|
|||
# - drop valgrind makdepend for v5 and v6
|
||||
|
||||
pkgname=libdrm
|
||||
pkgver=2.4.89
|
||||
pkgrel=1
|
||||
pkgver=2.4.90
|
||||
pkgrel=3
|
||||
pkgdesc="Userspace interface to kernel DRM services"
|
||||
url="https://dri.freedesktop.org/"
|
||||
arch=(x86_64)
|
||||
license=('custom')
|
||||
depends=('libpciaccess')
|
||||
makedepends=('xorg-util-macros' 'libxslt' 'docbook-xsl')
|
||||
makedepends=('valgrind' 'libxslt' 'docbook-xsl' 'meson')
|
||||
makedepends=('libxslt' 'docbook-xsl' 'meson')
|
||||
makedepends_armv7h=('valgrind')
|
||||
makedepends_aarch64=('valgrind')
|
||||
checkdepends=('cairo')
|
||||
replaces=('libdrm-new' 'libdrm-nouveau')
|
||||
url="http://dri.freedesktop.org/"
|
||||
source=(https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig}
|
||||
no-drmdevice-test.diff
|
||||
fix_mistake_in_initial_hole_size_calculation.diff
|
||||
COPYING)
|
||||
sha512sums=('380e4e46cd3971a73264bd1b482791fab0503268adb65ac81b674df009662cfb8ef5741e362f19670b2a43b1c46f022d857706c9a4bebed2b1cddaa317b7706d'
|
||||
sha512sums=('3d32d60c44ffdcb58667d0926e6af8d375332add1f243d8b2d37567aeef4e4b26d786294aeecf46c3dea94fc002fb73756567c457300703acfc21e32ffbd458c'
|
||||
'SKIP'
|
||||
'f1dd5d8c2270c092ccb8e4f92a0da9ab27706dfa22dcedd3fb2414b968ced9333c8bf62baf0219b822e43dce0d804d1dd5cc27d09b0afe8c01967c1784d4a4bb'
|
||||
'679ba7ef4f29cc4d511d5fbb7b505d8eade4cd3fc16eceaed2d1aa47947ebf31bac113ead5f2a1db8f5626ba290e9e1ffeab28c2abb924d0c85efe816c1201f8'
|
||||
'b0ca349b882a4326b19f81f22804fabdb6fb7aef31cdc7b16b0a7ae191bfbb50c7daddb2fc4e6c33f1136af06d060a273de36f6f3412ea326f16fa4309fda660')
|
||||
validpgpkeys=('B97BD6A80CAC4981091AE547FE558C72A67013C3') # Maarten Lankhorst <maarten.lankhorst@canonical.com>
|
||||
validpgpkeys+=('215DEE688925CCB965BE5DA97C03D7797B6E1AE2') # Damien Lespiau <damien.lespiau@intel.com>
|
||||
|
@ -36,21 +41,30 @@ validpgpkeys+=('CD47C5341A375F33BEF7BAFAFDD15D5ACEF0F2B1') # Marek Olšák <mara
|
|||
validpgpkeys+=('A66D805F7C9329B4C5D82767CCC4F07FAC641EFF') # Daniel Stone <daniels@collabora.com>
|
||||
validpgpkeys+=('CFD0E654BCBE5DD2D030D222CFCC297C6D0A120B') # Lucas Stach <l.stach@pengutronix.de>
|
||||
|
||||
build() {
|
||||
prepare() {
|
||||
cd $pkgname-$pkgver
|
||||
[[ "$CARCH" == "armv7h" ]] && CONFIG="--enable-omap-experimental-api --enable-exynos-experimental-api --enable-tegra-experimental-api --enable-etnaviv-experimental-api"
|
||||
./configure --prefix=/usr --enable-udev $CONFIG
|
||||
make
|
||||
|
||||
# Fix version
|
||||
sed -i 's/2\.4\.89/2.4.90/' meson.build
|
||||
|
||||
# Fails in a container; autotools skipped this one already
|
||||
patch -Np1 -i ../no-drmdevice-test.diff
|
||||
# FS#57576; fix amdgpu cards
|
||||
patch -Np1 -i ../fix_mistake_in_initial_hole_size_calculation.diff
|
||||
}
|
||||
|
||||
build() {
|
||||
[[ "$CARCH" == "armv7h" ]] && CONFIG="-Domap=true -Dexynos=true -Dtegra=true -Detnaviv=true"
|
||||
arch-meson $pkgname-$pkgver build -Dudev=true $CONFIG
|
||||
ninja -C build
|
||||
}
|
||||
|
||||
check() {
|
||||
cd $pkgname-$pkgver
|
||||
make -k check
|
||||
cd build
|
||||
meson test
|
||||
}
|
||||
|
||||
package() {
|
||||
cd $pkgname-$pkgver
|
||||
make DESTDIR="$pkgdir" install
|
||||
install -m755 -d "$pkgdir/usr/share/licenses/$pkgname"
|
||||
install -m644 ../COPYING "$pkgdir/usr/share/licenses/$pkgname/"
|
||||
DESTDIR="$pkgdir" ninja -C build install
|
||||
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING
|
||||
}
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
From 33a2851ab9bc3cd8a68bedf4cf0fdc549b0f3596 Mon Sep 17 00:00:00 2001
|
||||
From: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
|
||||
Date: Mon, 19 Feb 2018 02:18:36 -0500
|
||||
Subject: amdgpu: Fix mistake in initial hole size calculation.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
|
||||
Acked-by: Christian König <christian.koenig@amd.com>
|
||||
---
|
||||
amdgpu/amdgpu_vamgr.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/amdgpu/amdgpu_vamgr.c b/amdgpu/amdgpu_vamgr.c
|
||||
index 722067f..5840042 100644
|
||||
--- a/amdgpu/amdgpu_vamgr.c
|
||||
+++ b/amdgpu/amdgpu_vamgr.c
|
||||
@@ -57,7 +57,7 @@ drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start,
|
||||
pthread_mutex_init(&mgr->bo_va_mutex, NULL);
|
||||
pthread_mutex_lock(&mgr->bo_va_mutex);
|
||||
n = calloc(1, sizeof(struct amdgpu_bo_va_hole));
|
||||
- n->size = mgr->va_max;
|
||||
+ n->size = mgr->va_max - start;
|
||||
n->offset = start;
|
||||
list_add(&n->list, &mgr->va_holes);
|
||||
pthread_mutex_unlock(&mgr->bo_va_mutex);
|
||||
@@ -80,6 +80,7 @@ amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
|
||||
struct amdgpu_bo_va_hole *hole, *n;
|
||||
uint64_t offset = 0, waste = 0;
|
||||
|
||||
+
|
||||
alignment = MAX2(alignment, mgr->va_alignment);
|
||||
size = ALIGN(size, mgr->va_alignment);
|
||||
|
||||
--
|
||||
cgit v1.1
|
||||
|
||||
|
9
extra/libdrm/no-drmdevice-test.diff
Normal file
9
extra/libdrm/no-drmdevice-test.diff
Normal file
|
@ -0,0 +1,9 @@
|
|||
diff --git i/tests/meson.build w/tests/meson.build
|
||||
index fdf950b7..a6a2f1f1 100644
|
||||
--- i/tests/meson.build
|
||||
+++ w/tests/meson.build
|
||||
@@ -83,4 +83,3 @@ drmdevice = executable(
|
||||
test('random', random, timeout : 240)
|
||||
test('hash', hash)
|
||||
test('drmsl', drmsl)
|
||||
-test('drmdevice', drmdevice)
|
Loading…
Reference in a new issue