[Mesa-dev] [PATCH] radeonsi: Don't modify PA_SC_RASTER_CONFIG register value if rb_mask == 0
Michel Dänzer
michel at daenzer.net
Tue Dec 9 00:03:50 PST 2014
From: Michel Dänzer <michel.daenzer at amd.com>
E.g. this could happen on older kernels which don't support the
RADEON_INFO_SI_BACKEND_ENABLED_MASK query yet. The code in
si_write_harvested_raster_configs() doesn't deal with this correctly and
would probably mangle the value badly.
Cc: "10.4 10.3" <mesa-stable at lists.freedesktop.org>
Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
src/gallium/drivers/radeonsi/si_state.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index f24c28e..2b29d41 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -3281,8 +3281,10 @@ void si_init_config(struct si_context *sctx)
break;
}
- /* Always use the default config when all backends are enabled. */
- if (rb_mask && util_bitcount(rb_mask) >= num_rb) {
+ /* Always use the default config when all backends are enabled
+ * (or when we failed to determine the enabled backends).
+ */
+ if (!rb_mask || util_bitcount(rb_mask) >= num_rb) {
si_pm4_set_reg(pm4, R_028350_PA_SC_RASTER_CONFIG,
raster_config);
} else {
--
2.1.3
More information about the mesa-dev
mailing list