diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2015-06-10 11:39:30 -0400 |
---|---|---|
committer | Marek Olšák <marek.olsak@amd.com> | 2015-08-14 15:02:29 +0200 |
commit | 649975e7162cc4ee0586ee76d24321cd7250581f (patch) | |
tree | b5511551484af90523a517189763a149a4127fd8 | |
parent | bf2c3422d7c12bdead944c3de8b37b809f4cbcbb (diff) |
radeonsi: properly set the raster_config for KV
This enables the second RB on asics that support it which
should boost performance.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: mesa-stable@lists.freedesktop.org
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 6a8d786282c..c95fbf84047 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -3143,6 +3143,7 @@ si_write_harvested_raster_configs(struct si_context *sctx, static void si_init_config(struct si_context *sctx) { + unsigned num_rb = sctx->screen->b.info.r600_num_backends; struct si_pm4_state *pm4 = CALLOC_STRUCT(si_pm4_state); if (pm4 == NULL) @@ -3194,14 +3195,17 @@ static void si_init_config(struct si_context *sctx) si_pm4_set_reg(pm4, R_028354_PA_SC_RASTER_CONFIG_1, 0x00000000); break; case CHIP_KAVERI: - /* XXX todo */ + if (num_rb > 1) + si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000002); + else + si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000000); + si_pm4_set_reg(pm4, R_028354_PA_SC_RASTER_CONFIG_1, 0x00000000); + break; case CHIP_KABINI: - /* XXX todo */ case CHIP_MULLINS: - /* XXX todo */ default: - si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0); - si_pm4_set_reg(pm4, R_028354_PA_SC_RASTER_CONFIG_1, 0); + si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000000); + si_pm4_set_reg(pm4, R_028354_PA_SC_RASTER_CONFIG_1, 0x00000000); break; } } else { |