Mesa (master): radeonsi: emit PA_SC_RASTER_CONFIG[_1] on cik
Alex Deucher
agd5f at kemper.freedesktop.org
Fri Jun 28 19:31:45 UTC 2013
Module: Mesa
Branch: master
Commit: 234d81e6b26457a94aae37633c1adc89498bdb4e
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=234d81e6b26457a94aae37633c1adc89498bdb4e
Author: Alex Deucher <alexander.deucher at amd.com>
Date: Fri Jun 7 14:07:10 2013 -0400
radeonsi: emit PA_SC_RASTER_CONFIG[_1] on cik
Use the golden values for each asic.
Todo: update Kabini and Kaveri.
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
src/gallium/drivers/radeonsi/si_state.c | 51 ++++++++++++++++++++----------
1 files changed, 34 insertions(+), 17 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index 4ef73ec..58e5a56 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2937,23 +2937,40 @@ void si_init_config(struct r600_context *rctx)
si_pm4_set_reg(pm4, R_02882C_PA_SU_PRIM_FILTER_CNTL, 0);
- switch (rctx->screen->family) {
- case CHIP_TAHITI:
- case CHIP_PITCAIRN:
- si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x2a00126a);
- break;
- case CHIP_VERDE:
- si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x0000124a);
- break;
- case CHIP_OLAND:
- si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000082);
- break;
- case CHIP_HAINAN:
- si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000000);
- break;
- default:
- si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000000);
- break;
+ if (rctx->chip_class >= CIK) {
+ switch (rctx->screen->family) {
+ case CHIP_BONAIRE:
+ si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x16000012);
+ si_pm4_set_reg(pm4, R_028354_PA_SC_RASTER_CONFIG_1, 0x00000000);
+ break;
+ case CHIP_KAVERI:
+ /* XXX todo */
+ case CHIP_KABINI:
+ /* XXX todo */
+ default:
+ 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 {
+ switch (rctx->screen->family) {
+ case CHIP_TAHITI:
+ case CHIP_PITCAIRN:
+ si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x2a00126a);
+ break;
+ case CHIP_VERDE:
+ si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x0000124a);
+ break;
+ case CHIP_OLAND:
+ si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000082);
+ break;
+ case CHIP_HAINAN:
+ si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000000);
+ break;
+ default:
+ si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG, 0x00000000);
+ break;
+ }
}
si_pm4_set_state(rctx, init, pm4);
More information about the mesa-commit
mailing list