aboutsummaryrefslogtreecommitdiffstats
path: root/main/mesa/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/mesa/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch')
-rw-r--r--main/mesa/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/main/mesa/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch b/main/mesa/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch
new file mode 100644
index 00000000000..36c84c3f426
--- /dev/null
+++ b/main/mesa/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch
@@ -0,0 +1,37 @@
+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