Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mesa: readd HoneyComb LX2K patch #37581

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
@@ -0,0 +1,39 @@
https://gist.github.com/jnettlet/4dd6e43bcd5a551df29b12d3212e6edd

From d72aa8ae74ffb7329003f9f23ffa05833af951ab Mon Sep 17 00:00:00 2001
From: Jon Nettleton <jon@solid-run.com>
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 <jon@solid-run.com>
---
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
4 changes: 2 additions & 2 deletions 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
Expand Down Expand Up @@ -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

Expand Down