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

Author: Bas Nieuwenhuizen <[email protected]>
Date:   Thu May  5 22:25:01 2016 +0200

radeonsi: Compute correct LDS size for fragment shaders.

No sure where the 36 came from, but we clearly need at least
48 bytes per attribute per primitive.

Signed-off-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>

---

 src/gallium/drivers/radeonsi/si_shader.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c 
b/src/gallium/drivers/radeonsi/si_shader.c
index 49c498d..211db9f 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -5640,15 +5640,18 @@ static void si_shader_dump_stats(struct si_screen 
*sscreen,
 
        /* Compute LDS usage for PS. */
        if (processor == PIPE_SHADER_FRAGMENT) {
-               /* The minimum usage per wave is (num_inputs * 36). The maximum
-                * usage is (num_inputs * 36 * 16).
+               /* The minimum usage per wave is (num_inputs * 48). The maximum
+                * usage is (num_inputs * 48 * 16).
                 * We can get anything in between and it varies between waves.
                 *
+                * The 48 bytes per input for a single primitive is equal to
+                * 4 bytes/component * 4 components/input * 3 points.
+                *
                 * Other stages don't know the size at compile time or don't
                 * allocate LDS per wave, but instead they do it per thread 
group.
                 */
                lds_per_wave = conf->lds_size * lds_increment +
-                              align(num_inputs * 36, lds_increment);
+                              align(num_inputs * 48, lds_increment);
        }
 
        /* Compute the per-SIMD wave counts. */

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

Reply via email to