Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes #37579.
- Loading branch information
Showing
2 changed files
with
40 additions
and
1 deletion.
There are no files selected for viewing
39 changes: 39 additions & 0 deletions
39
srcpkgs/mesa/patches/0001-radeonsi-On-Aarch64-force-persistent-buffers-to-GTT.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters