From 442a60c7a09cd9f7c62e85e3d8d6bd53a1ac40dc Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Thu, 16 Jun 2022 13:07:47 -0500 Subject: [PATCH 1/2] mesa: Re-add HoneyComb LX2K patch for aarch64* --- ...ch64-force-persistent-buffers-to-GTT.patch | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 srcpkgs/mesa/patches/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch diff --git a/srcpkgs/mesa/patches/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch b/srcpkgs/mesa/patches/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch new file mode 100644 index 000000000000..725a306ec30b --- /dev/null +++ b/srcpkgs/mesa/patches/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch @@ -0,0 +1,39 @@ +https://gist.github.com/jnettlet/4dd6e43bcd5a551df29b12d3212e6edd + +From d72aa8ae74ffb7329003f9f23ffa05833af951ab Mon Sep 17 00:00:00 2001 +From: Jon Nettleton +Date: Fri, 14 Aug 2020 13:36:08 +0200 +Subject: [PATCH] radeonsi: On Aarch64 force persistent buffers to GTT + +This fixes a glamore corruption issue on the HoneyComb and by +internet reports should also fix problems seen on Huaweii +Kunpeng hardware. + +The root cause of the corruption needs to be worked out, but +this patch also adds a noticable performance improvement. The +aquarium webgl demo under chromium increases from 39-49 FPS +when 5000 fish being rendered is selected. Glmark scores also +improve by ~200 with no specific tests showing any regression. + +Signed-off-by: Jon Nettleton +--- + src/gallium/drivers/radeonsi/si_buffer.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/gallium/drivers/radeonsi/si_buffer.c b/src/gallium/drivers/radeonsi/si_buffer.c +index 6b58aebee2d..c9e983367a0 100644 +--- a/src/gallium/drivers/radeonsi/si_buffer.c ++++ b/src/gallium/drivers/radeonsi/si_buffer.c +@@ -151,6 +151,10 @@ void si_init_resource_fields(struct si_screen *sscreen, struct si_resource *res, + */ + if (!sscreen->info.kernel_flushes_hdp_before_ib || !sscreen->info.is_amdgpu) + res->domains = RADEON_DOMAIN_GTT; ++ ++#if defined(PIPE_ARCH_AARCH64) ++ res->domains = RADEON_DOMAIN_GTT; ++#endif + } + + /* Tiled textures are unmappable. Always put them in VRAM. */ +-- +2.26.2 From 27802f81ee3a7a2ec51712de0d7b7bd56b637fda Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Thu, 16 Jun 2022 13:08:07 -0500 Subject: [PATCH 2/2] mesa: Enable llvmpipe for i686* --- srcpkgs/mesa/template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/srcpkgs/mesa/template b/srcpkgs/mesa/template index e57a4b116683..339770b934b4 100644 --- a/srcpkgs/mesa/template +++ b/srcpkgs/mesa/template @@ -1,7 +1,7 @@ # Template file for 'mesa' pkgname=mesa version=22.1.1 -revision=1 +revision=2 build_style=meson configure_args="-Dglvnd=true -Dshared-glapi=enabled -Dgbm=enabled -Degl=enabled -Dosmesa=true -Dgles1=enabled -Dgles2=enabled -Dglx=dri -Ddri3=enabled @@ -32,7 +32,7 @@ fi # especially on big endian it's all kinds of broken, and e.g. on # 32-bit powerpc it does not work at all, so fall back to softpipe case "$XBPS_TARGET_MACHINE" in - x86_64*|aarch64*|ppc64le*|arm*) ;; + i686*|x86_64*|aarch64*|ppc64le*|arm*) ;; *) configure_args+=" -Ddraw-use-llvm=false" ;; esac