summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-08-23 13:47:13 +0200
committerMarek Olšák <[email protected]>2017-08-28 16:33:24 +0200
commitf173efe91618e0532e4e8a7d204bba325dce187e (patch)
treea2521cdeb49bc8bfec987d7987666f826b427b35
parentff430ec4fd70cc2ad905ffb1d945df6e06428d96 (diff)
radeonsi: correct maximum wave count per SIMD
v2: don't special-case Tonga and Iceland. Reviewed-by: Nicolai Hähnle <[email protected]>
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index f02fc9e9ba2..450676c597f 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -5036,7 +5036,18 @@ static void si_shader_dump_stats(struct si_screen *sscreen,
unsigned code_size = si_get_shader_binary_size(shader);
unsigned lds_increment = sscreen->b.chip_class >= CIK ? 512 : 256;
unsigned lds_per_wave = 0;
- unsigned max_simd_waves = 10;
+ unsigned max_simd_waves;
+
+ switch (sscreen->b.family) {
+ /* These always have 8 waves: */
+ case CHIP_POLARIS10:
+ case CHIP_POLARIS11:
+ case CHIP_POLARIS12:
+ max_simd_waves = 8;
+ break;
+ default:
+ max_simd_waves = 10;
+ }
/* Compute LDS usage for PS. */
switch (processor) {