Reviewed-by: Marek Olšák <marek.ol...@amd.com> Marek
On Thu, May 5, 2016 at 10:33 PM, Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> wrote: > No sure where the 36 came from, but we clearly need at least > 48 bytes per attribute per primitive. > > Signed-off-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> > --- > 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. */ > -- > 2.8.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev