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

Author: Marek Olšák <[email protected]>
Date:   Wed Oct 21 12:34:51 2020 -0400

radeonsi: tweak triangle list culling performance for GS fast launch

Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7542>

---

 src/gallium/drivers/radeonsi/gfx10_shader_ngg.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/gfx10_shader_ngg.c 
b/src/gallium/drivers/radeonsi/gfx10_shader_ngg.c
index 9ccde8fe80b..1cad17195dd 100644
--- a/src/gallium/drivers/radeonsi/gfx10_shader_ngg.c
+++ b/src/gallium/drivers/radeonsi/gfx10_shader_ngg.c
@@ -1941,7 +1941,10 @@ bool gfx10_ngg_calculate_subgroup_info(struct si_shader 
*shader)
    unsigned max_esverts_base = 128;
 
    if (shader->key.opt.ngg_culling & SI_NGG_CULL_GS_FAST_LAUNCH_TRI_LIST) {
-      max_gsprims_base = 128 / 3;
+      /* Exactly 1 wave32 executes culling in primitive threads (there is no
+       * divergence), other waves are idle.
+       */
+      max_gsprims_base = 32;
       max_esverts_base = max_gsprims_base * 3;
    } else if (shader->key.opt.ngg_culling & 
SI_NGG_CULL_GS_FAST_LAUNCH_TRI_STRIP) {
       max_gsprims_base = 126;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to