temp/mesa: update to latest git master to include Lima (!359)
temp/mesa: enable mesa-dri-lima subpackage temp/mesa: add a fix for Wayland on Lima temp/mesa-purism-gc7000: update to latest Git and try to resolve conflicts with mesa temp/mesa: switch version to 19.1.0-rc1 device/device-pine-a64lts: add mesa and mesa-dri-lima to depends device/device-pine-dontbeevil: add mesa to depends device/device-purism-librem5dev: remove now defunct mesa-purism-gc7000-dri-imx from depends temp/mesa*: re-add X11 support temp/mesa-purism-gc7000: fix build error which for some reason didn't cause problems earlier temp/mesa*: fix X11 DRI symlinks
This commit is contained in:
parent
5f3d999689
commit
85dfee5b75
6 changed files with 106 additions and 35 deletions
|
@ -2,13 +2,13 @@
|
|||
pkgname="device-pine-a64lts"
|
||||
pkgdesc="PINE A64-LTS"
|
||||
pkgver=0.2
|
||||
pkgrel=0
|
||||
pkgrel=1
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
arch="aarch64"
|
||||
options="!check !archcheck"
|
||||
subpackages="$pkgname-nonfree-firmware:nonfree_firmware"
|
||||
depends="postmarketos-base linux-postmarketos-allwinner mesa-dri-swrast u-boot-pine64 uboot-tools"
|
||||
depends="postmarketos-base linux-postmarketos-allwinner u-boot-pine64 uboot-tools mesa mesa-dri-lima"
|
||||
makedepends="devicepkg-dev"
|
||||
source="
|
||||
deviceinfo
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
pkgname="device-pine-dontbeevil"
|
||||
pkgdesc="PINE64 PinePhone Don't be evil devkit"
|
||||
pkgver=0.1
|
||||
pkgrel=3
|
||||
pkgrel=4
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
arch="aarch64"
|
||||
options="!check !archcheck"
|
||||
subpackages="$pkgname-weston $pkgname-x11 $pkgname-nonfree-firmware:nonfree_firmware"
|
||||
depends="postmarketos-base linux-postmarketos-allwinner mesa-dri-swrast u-boot-pine64 uboot-tools"
|
||||
depends="postmarketos-base linux-postmarketos-allwinner u-boot-pine64 uboot-tools mesa mesa-dri-lima"
|
||||
makedepends="devicepkg-dev"
|
||||
source="
|
||||
deviceinfo
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
pkgname="device-purism-librem5dev"
|
||||
pkgdesc="Purism Librem 5 Devkit"
|
||||
pkgver=0.7
|
||||
pkgrel=0
|
||||
pkgrel=1
|
||||
url="https://postmarketos.org"
|
||||
license="MIT"
|
||||
arch="aarch64"
|
||||
|
@ -13,7 +13,6 @@ depends="postmarketos-base
|
|||
u-boot-librem5dev
|
||||
gpsd
|
||||
mesa-purism-gc7000
|
||||
mesa-purism-gc7000-dri-imx
|
||||
mesa-purism-gc7000-dri-etnaviv
|
||||
"
|
||||
makedepends="devicepkg-dev"
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
# Forked from Alpine to build Purism's source tree with vivante GPU related patches
|
||||
pkgname=mesa-purism-gc7000
|
||||
provides=mesa
|
||||
pkgver=19.0.0_git20190129
|
||||
pkgrel=1
|
||||
_sha="5d0e960787295fbd188692bdae8fe14cebfc4ef6"
|
||||
pkgver=19.0.0_git20190403
|
||||
pkgrel=0
|
||||
_sha="d6d5b5401ea604dc2e5e5c3ef50d7df2ff4a6f38"
|
||||
pkgdesc="Mesa DRI OpenGL library"
|
||||
url="https://www.mesa3d.org"
|
||||
arch="aarch64"
|
||||
|
@ -11,7 +11,6 @@ license="MIT SGI-B-2.0 BSL-1.0"
|
|||
subpackages="
|
||||
$pkgname-dev
|
||||
$pkgname-dri-etnaviv:_dri
|
||||
$pkgname-dri-imx:_dri
|
||||
$pkgname-dri-swrast:_dri
|
||||
$pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
|
||||
$pkgname-osmesa $pkgname-gbm
|
||||
|
@ -61,8 +60,10 @@ source="
|
|||
replaces="mesa-dricore"
|
||||
|
||||
_dri_driverdir=/usr/lib/dri
|
||||
_dri_drivers="swrast"
|
||||
_gallium_drivers="swrast,imx,etnaviv"
|
||||
_dri_driverdir_x11=/usr/lib/xorg/modules/dri
|
||||
_dri_drivers=""
|
||||
_gallium_drivers="swrast,kmsro,etnaviv"
|
||||
_vulkan_drivers=""
|
||||
_arch_opts=
|
||||
|
||||
builddir="$srcdir/mesa-${_sha}"
|
||||
|
@ -75,8 +76,8 @@ build() {
|
|||
mkdir "$builddir"/build
|
||||
meson -Ddri-search-path="$_dri_driverdir" \
|
||||
-Dgallium-drivers="$_gallium_drivers" \
|
||||
-Ddri-drivers= \
|
||||
-Dvulkan-drivers= \
|
||||
-Ddri-drivers="$_dri_drivers" \
|
||||
-Dvulkan-drivers="$_vulkan_drivers" \
|
||||
-Dplatforms=x11,wayland,drm \
|
||||
-Ddri3=true \
|
||||
-Degl=true \
|
||||
|
@ -98,7 +99,7 @@ package() {
|
|||
|
||||
egl() {
|
||||
pkgdesc="Mesa libEGL runtime libraries"
|
||||
replaces="mesa"
|
||||
replaces="$pkgname"
|
||||
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/usr/lib/libEGL.so* "$subpkgdir"/usr/lib/
|
||||
|
@ -106,7 +107,7 @@ egl() {
|
|||
|
||||
gl() {
|
||||
pkgdesc="Mesa libGL runtime libraries"
|
||||
replaces="mesa"
|
||||
replaces="$pkgname"
|
||||
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/usr/lib/libGL.so* "$subpkgdir"/usr/lib/
|
||||
|
@ -122,7 +123,7 @@ glapi() {
|
|||
|
||||
gles() {
|
||||
pkgdesc="Mesa libGLESv2 runtime libraries"
|
||||
replaces="mesa"
|
||||
replaces="$pkgname"
|
||||
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/usr/lib/libGLES*.so* "$subpkgdir"/usr/lib/
|
||||
|
@ -138,7 +139,7 @@ osmesa() {
|
|||
|
||||
gbm() {
|
||||
pkgdesc="Mesa gbm library"
|
||||
replaces="mesa"
|
||||
replaces="$pkgname"
|
||||
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/usr/lib/libgbm.so.* "$subpkgdir"/usr/lib/
|
||||
|
@ -146,11 +147,15 @@ gbm() {
|
|||
|
||||
_mv_dri() {
|
||||
install -d "$subpkgdir"/$_dri_driverdir
|
||||
install -d "$subpkgdir"/$_dri_driverdir_x11
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
mv "$pkgdir"/$_dri_driverdir/${1}.so \
|
||||
"$subpkgdir"/$_dri_driverdir/
|
||||
shift
|
||||
|
||||
ln -s $_dri_driverdir/${1}.so \
|
||||
"$subpkgdir"/$_dri_driverdir_x11/${1}.so
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -195,15 +200,12 @@ _dri() {
|
|||
_mv_dri swrast_dri kms_swrast_dri && _mv_gpipe swrast
|
||||
;;
|
||||
etnaviv)
|
||||
_mv_dri etnaviv_dri
|
||||
;;
|
||||
imx)
|
||||
_mv_dri imx-drm_dri
|
||||
_mv_dri etnaviv_dri imx-drm_dri
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
sha512sums="2aa17f26a4dc31370a07d95dec72f8730ec1671e2d97e5fd151aa6d9e80e2453fdff5a94dbfd11defb9fadc1d6bc2bf333048f46d6b834f9995222c38369d208 mesa-5d0e960787295fbd188692bdae8fe14cebfc4ef6.tar.gz
|
||||
sha512sums="3ea07b0364538eac64f10ed9a10f3eb82b7aca1083b096401e114a73371f930535d05d290befeca79c5b9027c34efab0e314a16429837dff4f678ef59f2ffb1c mesa-d6d5b5401ea604dc2e5e5c3ef50d7df2ff4a6f38.tar.gz
|
||||
cdf22d2da3328e116c379264886bd01fd3ad5cc45fe03dc6fd97bdc4794502598ee195c0b9d975fa264d6ac31c6fa108c0535c91800ecf4fcabfd308e53074cc 10-adjust-cache-deflate-buffer.patch
|
||||
02db65893d55b5667d9c3bc193fc089e5408596431e06363fe2adea00c9e3c4e80612f3d03dc61f931d1a6ae04340bccf55e1376cf00bbf2433990713649d286 20-musl.patch
|
||||
a7bbc0d8836fe5eb7220c7b41d8af439878a3876302de32739243232f979ea9c63d2069fcd78bef370eafef0a21f491ef99219ae686e965326475764244bbe5d meson-add-toggle-for-TLS-support-in-GLX.patch"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Forked from Alpine, so we can upgrade the version and build etnaviv and tegra
|
||||
pkgname=mesa
|
||||
pkgver=9999
|
||||
_pkgver=19.0.0-rc7
|
||||
_pkgver=19.1.0-rc1
|
||||
pkgrel=2
|
||||
pkgdesc="[${_pkgver}] Mesa DRI OpenGL library"
|
||||
url="https://www.mesa3d.org"
|
||||
|
@ -54,34 +54,40 @@ makedepends="
|
|||
ninja
|
||||
"
|
||||
source="
|
||||
https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-${_pkgver}/mesa-mesa-${_pkgver}.tar.gz
|
||||
https://gitlab.freedesktop.org/mesa/mesa/-/archive/$pkgname-$_pkgver/mesa-$pkgname-$_pkgver.tar.gz
|
||||
10-adjust-cache-deflate-buffer.patch
|
||||
20-musl.patch
|
||||
meson-add-toggle-for-TLS-support-in-GLX.patch
|
||||
"
|
||||
fix-lima-on-wayland.patch"
|
||||
replaces="mesa-dricore"
|
||||
|
||||
_dri_driverdir=/usr/lib/dri
|
||||
_dri_driverdir_x11=/usr/lib/xorg/modules/dri
|
||||
_dri_drivers="nouveau"
|
||||
_gallium_drivers="swrast,freedreno,virgl,nouveau"
|
||||
_vulkan_drivers=""
|
||||
|
||||
case "$CARCH" in
|
||||
x86*)
|
||||
_dri_drivers="${_dri_drivers},i915,i965"
|
||||
_gallium_drivers="${_gallium_drivers},svga"
|
||||
_vulkan_drivers="${_vulkan_drivers},amd,intel"
|
||||
subpackages="$subpackages \
|
||||
$pkgname-dri-intel:_dri \
|
||||
$pkgname-dri-vmwgfx:_dri"
|
||||
;;
|
||||
armhf|aarch64)
|
||||
_gallium_drivers="${_gallium_drivers},vc4,kmsro,etnaviv,tegra"
|
||||
_gallium_drivers="${_gallium_drivers},vc4,kmsro,etnaviv,tegra,panfrost,lima"
|
||||
_vulkan_drivers="${_vulkan_drivers}"
|
||||
subpackages="$subpackages $pkgname-dri-vc4:_dri
|
||||
$pkgname-dri-etnaviv:_dri
|
||||
$pkgname-dri-imx:_dri
|
||||
$pkgname-dri-tegra:_dri"
|
||||
$pkgname-dri-tegra:_dri
|
||||
$pkgname-dri-lima:_dri
|
||||
$pkgname-dri-panfrost:_dri"
|
||||
;;
|
||||
esac
|
||||
builddir="$srcdir/mesa-mesa-${_pkgver}"
|
||||
builddir="$srcdir/mesa-$pkgname-$_pkgver"
|
||||
|
||||
|
||||
build() {
|
||||
|
@ -92,7 +98,7 @@ build() {
|
|||
meson -Ddri-search-path="$_dri_driverdir" \
|
||||
-Dgallium-drivers="$_gallium_drivers" \
|
||||
-Ddri-drivers="$_dri_drivers" \
|
||||
-Dvulkan-drivers= \
|
||||
-Dvulkan-drivers="$_vulkan_drivers" \
|
||||
-Dplatforms=x11,wayland,drm \
|
||||
-Ddri3=true \
|
||||
-Degl=true \
|
||||
|
@ -169,11 +175,15 @@ gbm() {
|
|||
|
||||
_mv_dri() {
|
||||
install -d "$subpkgdir"/$_dri_driverdir
|
||||
install -d "$subpkgdir"/$_dri_driverdir_x11
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
mv "$pkgdir"/$_dri_driverdir/${1}.so \
|
||||
"$subpkgdir"/$_dri_driverdir/
|
||||
shift
|
||||
|
||||
ln -s $_dri_driverdir/${1}.so \
|
||||
"$subpkgdir"/$_dri_driverdir_x11/${1}.so
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -232,9 +242,6 @@ _dri() {
|
|||
virtio)
|
||||
_mv_dri virtio_gpu_dri
|
||||
;;
|
||||
swrast)
|
||||
_mv_dri swrast_dri kms_swrast_dri && _mv_gpipe swrast
|
||||
;;
|
||||
etnaviv)
|
||||
_mv_dri etnaviv_dri
|
||||
;;
|
||||
|
@ -250,10 +257,17 @@ _dri() {
|
|||
&& _mv_gpipe nouveau \
|
||||
&& _mv_va nouveau
|
||||
;;
|
||||
lima)
|
||||
_mv_dri lima_dri sun4i-drm_dri
|
||||
;;
|
||||
panfrost)
|
||||
_mv_dri panfrost_dri
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
sha512sums="27b2d15e03ac0444f576b478501b15654d6400d2769db87491eb3b2224bafcabff5d1d1c1f0165ae31272c2b4d965c6d9230703c29ef81314283a9f59ed6e3c6 mesa-mesa-19.0.0-rc7.tar.gz
|
||||
sha512sums="24502a417d5a3c9c3687123882a64abcaea482ada5efaf69f610a623d2d4b05b0701bd4c1d2993ae40a2a2fd7b954ba0be7a2e54b9e751ec70ebb3e75c153f21 mesa-mesa-19.1.0-rc1.tar.gz
|
||||
cdf22d2da3328e116c379264886bd01fd3ad5cc45fe03dc6fd97bdc4794502598ee195c0b9d975fa264d6ac31c6fa108c0535c91800ecf4fcabfd308e53074cc 10-adjust-cache-deflate-buffer.patch
|
||||
02db65893d55b5667d9c3bc193fc089e5408596431e06363fe2adea00c9e3c4e80612f3d03dc61f931d1a6ae04340bccf55e1376cf00bbf2433990713649d286 20-musl.patch
|
||||
a7bbc0d8836fe5eb7220c7b41d8af439878a3876302de32739243232f979ea9c63d2069fcd78bef370eafef0a21f491ef99219ae686e965326475764244bbe5d meson-add-toggle-for-TLS-support-in-GLX.patch"
|
||||
a7bbc0d8836fe5eb7220c7b41d8af439878a3876302de32739243232f979ea9c63d2069fcd78bef370eafef0a21f491ef99219ae686e965326475764244bbe5d meson-add-toggle-for-TLS-support-in-GLX.patch
|
||||
095bbcef3bc73d4e51125819a1f8b18b3ec02dab4219dce50ce6cef60a755eac3526ea99f0f72c6a3f02567a27654ef5a41a4075b210a7182d0d17317855725b fix-lima-on-wayland.patch"
|
||||
|
|
56
temp/mesa/fix-lima-on-wayland.patch
Normal file
56
temp/mesa/fix-lima-on-wayland.patch
Normal file
|
@ -0,0 +1,56 @@
|
|||
diff --git a/src/gallium/drivers/lima/lima_draw.c b/src/gallium/drivers/lima/lima_draw.c
|
||||
index e0a1e181937..9cb0c6c360f 100644
|
||||
--- a/src/gallium/drivers/lima/lima_draw.c
|
||||
+++ b/src/gallium/drivers/lima/lima_draw.c
|
||||
@@ -1549,7 +1549,7 @@ lima_pack_pp_frame_reg(struct lima_context *ctx, uint32_t *frame_reg,
|
||||
}
|
||||
|
||||
static void
|
||||
-_lima_flush(struct lima_context *ctx, bool end_of_frame)
|
||||
+_lima_flush(struct lima_context *ctx)
|
||||
{
|
||||
lima_finish_plbu_cmd(ctx);
|
||||
|
||||
@@ -1675,9 +1675,9 @@ _lima_flush(struct lima_context *ctx, bool end_of_frame)
|
||||
ctx->plb_index = (ctx->plb_index + 1) % lima_ctx_num_plb;
|
||||
|
||||
if (ctx->framebuffer.base.nr_cbufs) {
|
||||
- /* this surface may need reload when next draw if not end of frame */
|
||||
+ /* Set reload flag for next draw. It'll be unset if buffer is cleared */
|
||||
struct lima_surface *surf = lima_surface(ctx->framebuffer.base.cbufs[0]);
|
||||
- surf->reload = !end_of_frame;
|
||||
+ surf->reload = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1687,7 +1687,7 @@ lima_flush(struct lima_context *ctx)
|
||||
if (!lima_ctx_dirty(ctx))
|
||||
return;
|
||||
|
||||
- _lima_flush(ctx, false);
|
||||
+ _lima_flush(ctx);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1698,7 +1698,7 @@ lima_pipe_flush(struct pipe_context *pctx, struct pipe_fence_handle **fence,
|
||||
if (!lima_ctx_dirty(ctx))
|
||||
return;
|
||||
|
||||
- _lima_flush(ctx, flags & PIPE_FLUSH_END_OF_FRAME);
|
||||
+ _lima_flush(ctx);
|
||||
|
||||
if (fence) {
|
||||
int fd;
|
||||
diff --git a/src/gallium/drivers/lima/lima_resource.c b/src/gallium/drivers/lima/lima_resource.c
|
||||
index 4e215e9e08f..0aefb2c7900 100644
|
||||
--- a/src/gallium/drivers/lima/lima_resource.c
|
||||
+++ b/src/gallium/drivers/lima/lima_resource.c
|
||||
@@ -382,6 +382,8 @@ lima_surface_create(struct pipe_context *pctx,
|
||||
surf->tiled_w = align(psurf->width, 16) >> 4;
|
||||
surf->tiled_h = align(psurf->height, 16) >> 4;
|
||||
|
||||
+ surf->reload = true;
|
||||
+
|
||||
struct lima_context *ctx = lima_context(pctx);
|
||||
if (ctx->plb_pp_stream) {
|
||||
struct lima_ctx_plb_pp_stream_key key = {
|
Loading…
Reference in a new issue