radeonsi: correct maximum wave count per SIMD
authorMarek Olšák <marek.olsak@amd.com>
Wed, 23 Aug 2017 11:47:13 +0000 (13:47 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Mon, 28 Aug 2017 14:33:24 +0000 (16:33 +0200)
v2: don't special-case Tonga and Iceland.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
src/gallium/drivers/radeonsi/si_shader.c

index f02fc9e9ba245cca4974803a3553950f06dd3628..450676c597f777ffc3ae2c4c4b06a898115d6ba7 100644 (file)
@@ -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) {