Module: Mesa
Branch: master
Commit: b3057f8097f88d9072df6d9c09bcc8c039b88a7c
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b3057f8097f88d9072df6d9c09bcc8c039b88a7c

Author: Michel Dänzer <[email protected]>
Date:   Tue Dec  9 17:00:32 2014 +0900

radeonsi: Don't modify PA_SC_RASTER_CONFIG register value if rb_mask == 0

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" <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Tom Stellard <[email protected]>

---

 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 097c31c..5a417b0 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -3032,8 +3032,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 {

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to