From: Marek Olšák <marek.ol...@amd.com> --- src/amd/common/ac_gpu_info.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index da54e5f8b4a..273ccb6cb1d 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -587,28 +587,22 @@ ac_get_raster_config(struct radeon_info *info, break; case CHIP_BONAIRE: raster_config = 0x16000012; raster_config_1 = 0x00000000; break; case CHIP_HAWAII: raster_config = 0x3a00161a; raster_config_1 = 0x0000002e; break; case CHIP_FIJI: - if (info->cik_macrotile_mode_array[0] == 0x000000e8) { - /* old kernels with old tiling config */ - raster_config = 0x16000012; - raster_config_1 = 0x0000002a; - } else { - raster_config = 0x3a00161a; - raster_config_1 = 0x0000002e; - } + raster_config = 0x3a00161a; + raster_config_1 = 0x0000002e; break; case CHIP_POLARIS10: raster_config = 0x16000012; raster_config_1 = 0x0000002a; break; case CHIP_POLARIS11: case CHIP_POLARIS12: raster_config = 0x16000012; raster_config_1 = 0x00000000; break; @@ -641,20 +635,30 @@ ac_get_raster_config(struct radeon_info *info, raster_config = 0x00000000; raster_config_1 = 0x00000000; break; default: fprintf(stderr, "ac: Unknown GPU, using 0 for raster_config\n"); raster_config = 0x00000000; raster_config_1 = 0x00000000; break; } + + /* Fiji: Old kernels have incorrect tiling config. This decreases + * RB performance by 25%. (it disables 1 RB in the second packer) + */ + if (info->family == CHIP_FIJI && + info->cik_macrotile_mode_array[0] == 0x000000e8) { + raster_config = 0x16000012; + raster_config_1 = 0x0000002a; + } + *raster_config_p = raster_config; *raster_config_1_p = raster_config_1; } void ac_get_harvested_configs(struct radeon_info *info, unsigned raster_config, unsigned *cik_raster_config_1_p, unsigned *raster_config_se) { -- 2.17.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev