Mesa (master): radeonsi: don't allocate LDS for TCS inputs if it's not used

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Nov 23 03:15:54 UTC 2020


Module: Mesa
Branch: master
Commit: f7364c9fe0ad2e8bae94045b4ffef13a12f49faa
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f7364c9fe0ad2e8bae94045b4ffef13a12f49faa

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Nov 14 17:45:31 2020 -0500

radeonsi: don't allocate LDS for TCS inputs if it's not used

Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7623>

---

 src/gallium/drivers/radeonsi/si_state_draw.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index 8a72921b87a..74cfd6ac4d6 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -131,7 +131,12 @@ static void si_emit_derived_tess_state(struct si_context *sctx, const struct pip
    input_vertex_size = ls->lshs_vertex_stride;
    output_vertex_size = num_tcs_outputs * 16;
 
-   input_patch_size = num_tcs_input_cp * input_vertex_size;
+   /* Allocate LDS for TCS inputs only if it's used. */
+   if (!ls_current->key.opt.same_patch_vertices ||
+       tcs->info.base.inputs_read & ~tcs->tcs_vgpr_only_inputs)
+      input_patch_size = num_tcs_input_cp * input_vertex_size;
+   else
+      input_patch_size = 0;
 
    pervertex_output_patch_size = num_tcs_output_cp * output_vertex_size;
    output_patch_size = pervertex_output_patch_size + num_tcs_patch_outputs * 16;



More information about the mesa-commit mailing list