grate-driver: Update to more recent revision and build for ARMv7 (!241)

Changes:
- Accelerated screen rotation
- Optimizations to buffer copies
- Pull mesa cache buffer size patch from upstream AlpineLinux mesa aport
This commit is contained in:
ryang 2019-02-26 17:24:26 +00:00 committed by Martijn Braam
parent 3ed0baa39a
commit 2dc0718ddd
6 changed files with 87 additions and 21 deletions

View file

@ -1,10 +1,10 @@
# Maintainer: Robert Yang <decatf@gmail.com>
pkgname=libdrm-grate
pkgver=2.4.91
pkgrel=0
pkgrel=1
pkgdesc="Userspace interface to kernel DRM services"
url="https://github.com/grate-driver/libdrm"
arch="armhf"
arch="armhf armv7"
# Requires a computer with gfx, no X running, build user in 'video' group..
options="!check !tracedeps"
license="MIT"
@ -15,7 +15,7 @@ makedepends="$depends_dev libpthread-stubs eudev-dev libpciaccess-dev xmlto
checkdepends="cunit-dev bash"
subpackages="$pkgname-dev $pkgname-doc"
install="$pkgname.post-install $pkgname.pre-deinstall"
_commit="4dd67e4459f8b0977e79bba96912b42ff3c709b5"
_commit="004e90d68c72b020765184484cbef47ea47225a8"
source="https://github.com/grate-driver/libdrm/archive/$_commit.tar.gz
ioctl.patch
"
@ -91,5 +91,5 @@ doc() {
replaces="libdrm-doc"
}
sha512sums="95b6f89bdf6ea836f4ad2c61adb68998591c6d2098ed1d36063f633169966bb5edad9294165e4cd22fa8df27c7c00294a88597e32af34e335f30de7fdfda461a 4dd67e4459f8b0977e79bba96912b42ff3c709b5.tar.gz
sha512sums="43833572f015e0ec228f96b0727c0ac0a722c1fc629de30b3ed05ef51bb34dc7a8246e42257ac82ec511d9f2ff62a2b79e62293ee9fd6ab6a6fa8dd23f8b6be6 004e90d68c72b020765184484cbef47ea47225a8.tar.gz
af52fef51aaa05a4dd17919371cb9d92a77480402730bf53ba223e54df52f3825be05a7f28e6aef8c904db5ee59fe38a6c15bc6aafa7f8d31a719e80399dd51f ioctl.patch"

View file

@ -1,17 +1,33 @@
# Maintainer: Robert Yang <decatf@gmail.com>
pkgname=libvdpau-tegra
pkgver=1.0.0
pkgrel=0
pkgrel=1
pkgdesc="VDPAU backend driver for NVIDIA Tegra 20/30 SoC's"
url="https://github.com/grate-driver/libvdpau-tegra"
arch="armhf"
arch="armhf armv7"
license="GPL2"
subpackages=""
depends="libdrm-grate"
makedepends="util-macros libtool m4 automake autoconf bison flex
libx11-dev libxext-dev xextproto libxfixes-dev
dri2proto libvdpau-dev pixman-dev libdrm-grate-dev libxv-dev"
_commit="21ef1cc42b55e21246f1a4980f99bf149797fba5"
makedepends="
autoconf
automake
bison
flex
gettext-dev
libdrm-grate-dev
libtool
libvdpau-dev
libx11-dev
libxext-dev
libxfixes-dev
libxrandr-dev
libxv-dev
m4
pixman-dev
util-macros
xorgproto
"
_commit="46f30de86f29a0dbc8671a11240385343ae54f53"
source="https://github.com/grate-driver/libvdpau-tegra/archive/$_commit.tar.gz"
builddir="$srcdir"/$pkgname-$_commit
@ -40,4 +56,4 @@ package() {
make DESTDIR="$pkgdir" install
}
sha512sums="75b7b2253b477450c0ff8813163c09313fa930ecde37a2b83409d82986c71f7a1c17b77ca7f517cddde588cbd9aff148bd6c5208be4fe7414548a14ed9c54353 21ef1cc42b55e21246f1a4980f99bf149797fba5.tar.gz"
sha512sums="b49306d077cee811e94a8cb8c2c36588ae3e6b1df2e24fbed6ae7e5c2ac7b12c0d6e3a96b26e97ea8579e914f5fd2fc88009830563738913ab21c61144db0202 46f30de86f29a0dbc8671a11240385343ae54f53.tar.gz"

View file

@ -1,10 +1,10 @@
# Maintainer: Robert Yang <decatf@gmail.com>
pkgname=mesa-grate
pkgver=18.1.0
pkgrel=1
pkgrel=2
pkgdesc="Mesa DRI OpenGL library"
url="https://www.mesa3d.org"
arch="armhf"
arch="armhf armv7"
license="MIT SGI-B-2.0 BSL-1.0"
subpackages="
$pkgname-dev
@ -59,6 +59,7 @@ source="
0005-grate-driver.patch
0001-meson-Add-glx-tls-option.patch
0001-meson-correct-gallium-grate-variable.patch
adjust-cache-deflate-buffer.patch
"
replaces="mesa mesa-dricore"
@ -85,7 +86,7 @@ x86*)
_arch_opts="$_arch_opts -Dglx-rts=true -Dasm=false";;
esac
;;
armhf|aarch64)
armhf|armv7|aarch64)
_gallium_drivers="${_gallium_drivers},grate"
subpackages="$subpackages $pkgname-dri-tegra:_dri"
;;
@ -275,6 +276,8 @@ _dri() {
;;
tegra)
_mv_dri tegra_dri
ln -s "${_dri_driverdir}/tegra_dri.so" \
"${subpkgdir}${_prefix}/lib/xorg/modules/dri/tegra_dri.so"
;;
vc4)
_mv_dri vc4_dri
@ -335,4 +338,5 @@ ba0d498779302e01c36abfcf9eacf187e87063ca4ab4a2ac0fed63c331f765c254cd92a43fd4fde9
01feb831b3227ff06feebee2a5f5a408a7d3710031853644b72d0dc32dfa139396553972435d1b9f3448f7589de782586f227e2ae8b239a47ddfd1b56d9cd1e9 0004-Revert-tegra-Initial-support.patch
ecdd537af62ea8e9d4e6361eafbfc09d315b9084af5af48d761e1713500e08ff965fa62f4a52aea9bd6ab98a3179fa7e4c9a31a647cbe503e820f525e33fd4d2 0005-grate-driver.patch
05e7ce9f69b9fe2d1691b40a7ec93e05de9043a7953bdd7189c5f90b406f4b72e6aaa1aaba3fa7cb53de5c8943bffaaa49df0a354f7e8ba4be725bf6b8da143a 0001-meson-Add-glx-tls-option.patch
2e1d5fcf239b7f7a8fc5e8f64819079c4b7ad8d2f83c033faffa2226b53bd16fb8db39fa67f9f0e7b81650749306a796e6db75237ad597c56575df9feca12e06 0001-meson-correct-gallium-grate-variable.patch"
2e1d5fcf239b7f7a8fc5e8f64819079c4b7ad8d2f83c033faffa2226b53bd16fb8db39fa67f9f0e7b81650749306a796e6db75237ad597c56575df9feca12e06 0001-meson-correct-gallium-grate-variable.patch
cdf22d2da3328e116c379264886bd01fd3ad5cc45fe03dc6fd97bdc4794502598ee195c0b9d975fa264d6ac31c6fa108c0535c91800ecf4fcabfd308e53074cc adjust-cache-deflate-buffer.patch"

View file

@ -0,0 +1,16 @@
diff -ru mesa-18.1.7.orig/src/util/disk_cache.c mesa-18.1.7/src/util/disk_cache.c
--- mesa-18.1.7.orig/src/util/disk_cache.c 2018-08-24 19:25:19.000000000 +0300
+++ mesa-18.1.7/src/util/disk_cache.c 2018-12-14 13:59:15.433631846 +0200
@@ -721,8 +721,11 @@
/* From the zlib docs:
* "If the memory is available, buffers sizes on the order of 128K or 256K
* bytes should be used."
+ *
+ * But that is performance optimization for large files. To keep stack usage
+ * in sensible amount (wrt. musl default stack) we use smaller stack on Alpine.
*/
-#define BUFSIZE 256 * 1024
+#define BUFSIZE 4 * 1024
/**
* Compresses cache entry in memory and writes it to disk. Returns the size

View file

@ -1,21 +1,24 @@
# Maintainer: Robert Yang <decatf@gmail.com>
pkgname=xf86-video-opentegra
pkgver=0.6.0
pkgrel=0
pkgrel=1
pkgdesc="X.Org driver for NVIDIA tegra"
url="https://github.com/grate-driver/"
arch="armhf"
arch="armhf armv7"
license="MIT"
subpackages="$pkgname-doc"
depends="libdrm-grate"
makedepends="libdrm-grate-dev xorg-server-dev xproto fontsproto util-macros
libtool m4 automake autoconf bison flex"
_commit="d94fb4fcdd670e58c17054299f1a22a31c418c00"
source="https://github.com/grate-driver/xf86-video-opentegra/archive/$_commit.tar.gz"
_commit="feac05833e96ff9951603eb580fc134c0dae2bb8"
source="
https://github.com/grate-driver/xf86-video-opentegra/archive/$_commit.tar.gz
Guard-malloc_trim-with-__GLIBC__.patch
"
builddir="$srcdir"/$pkgname-$_commit
prepare() {
cd "$builddir"
default_prepare
export PKG_CONFIG_PATH="/usr/lib/pkgconfig/libdrm-grate:${PKG_CONFIG_PATH}"
export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
@ -42,4 +45,5 @@ package() {
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
sha512sums="a21ece35ffa39d744fc09ee5985cb22f5c58c256ce21fcce59345c5f54cba2482daaaff0a180db60024cac433cbbc0f1ca067257afd07ffc49e1d29fa6c746a3 d94fb4fcdd670e58c17054299f1a22a31c418c00.tar.gz"
sha512sums="ef29176fa00f374aaaa3e8661614daeb33c16c3baa0dee8503d81943780d5783603d009ffc790c2c5d8cd27e3c1b234715147b206e10b15054e7530f04a156a6 feac05833e96ff9951603eb580fc134c0dae2bb8.tar.gz
3e3cced887a73d865ee03cf030dbe2dd2035e29e3e771d79a95491c6e59a02570e273fc7fec67b87b0bf2008ab97212252bb9ed31bd6137b78d1bbbeda467fec Guard-malloc_trim-with-__GLIBC__.patch"

View file

@ -0,0 +1,26 @@
From 0f7bcd092f167202ff59c09f20eb258046745ae5 Mon Sep 17 00:00:00 2001
From: Robert Yang <decatf@gmail.com>
Date: Sat, 6 Oct 2018 10:48:24 -0400
Subject: [PATCH] Guard malloc_trim with __GLIBC__
---
src/exa.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/exa.c b/src/exa.c
index ea76dc3..3dd86e6 100644
--- a/src/exa.c
+++ b/src/exa.c
@@ -213,7 +213,9 @@ static void TegraEXATrimHeap(TegraEXAPtr exa)
*/
if (exa->release_count > TEGRA_MALLOC_TRIM_THRESHOLD) {
exa->release_count = 0;
+#ifdef __GLIBC__
malloc_trim(0);
+#endif
}
}
--
2.17.1