Mesa (staging/20.1): radeonsi/gfx10: set the correct value for OFFCHIP_BUFFERING

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jul 22 21:49:27 UTC 2020


Module: Mesa
Branch: staging/20.1
Commit: 90569cd40475ac2e0173da57c2110fd9f8181afc
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=90569cd40475ac2e0173da57c2110fd9f8181afc

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Jul  6 23:51:25 2020 -0400

radeonsi/gfx10: set the correct value for OFFCHIP_BUFFERING

Copied from PAL. Higher values break tessellation, which I was only able
to reproduce with register shadowing enabled.

Fixes: 0bf3e6fae7f82b4f16fbcbb05a1ae47f7930e189 "radeonsi/gfx10: double the number of tessellation offchip buffers per SE"

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5798>
(cherry picked from commit 1c6eca23fdd8bc112c70914100601d0e382a8154)

---

 .pick_status.json                      | 2 +-
 src/gallium/drivers/radeonsi/si_pipe.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index ef2b313d496..ac59d7c7d1b 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -256,7 +256,7 @@
         "description": "radeonsi/gfx10: set the correct value for OFFCHIP_BUFFERING",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "0bf3e6fae7f82b4f16fbcbb05a1ae47f7930e189"
     },
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
index f75935b91b3..97989a275e3 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -1057,7 +1057,7 @@ static struct pipe_screen *radeonsi_screen_create_impl(struct radeon_winsys *ws,
    unsigned max_offchip_buffers_per_se;
 
    if (sscreen->info.chip_class >= GFX10)
-      max_offchip_buffers_per_se = 256;
+      max_offchip_buffers_per_se = 128;
    /* Only certain chips can use the maximum value. */
    else if (sscreen->info.family == CHIP_VEGA12 || sscreen->info.family == CHIP_VEGA20)
       max_offchip_buffers_per_se = double_offchip_buffers ? 128 : 64;



More information about the mesa-commit mailing list