---
 src/gallium/drivers/r600/r600_state_common.c |   10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_state_common.c 
b/src/gallium/drivers/r600/r600_state_common.c
index 23adf3b..f1d5d57 100644
--- a/src/gallium/drivers/r600/r600_state_common.c
+++ b/src/gallium/drivers/r600/r600_state_common.c
@@ -757,10 +757,12 @@ static void r600_update_alpha_ref(struct r600_context 
*rctx)
 
 void r600_constant_buffers_dirty(struct r600_context *rctx, struct 
r600_constbuf_state *state)
 {
-       r600_inval_shader_cache(rctx);
-       state->atom.num_dw = rctx->chip_class >= EVERGREEN ? 
util_bitcount(state->dirty_mask)*20
-                                                          : 
util_bitcount(state->dirty_mask)*19;
-       r600_atom_dirty(rctx, &state->atom);
+       if (state->dirty_mask) {
+               r600_inval_shader_cache(rctx);
+               state->atom.num_dw = rctx->chip_class >= EVERGREEN ? 
util_bitcount(state->dirty_mask)*20
+                                                                  : 
util_bitcount(state->dirty_mask)*19;
+               r600_atom_dirty(rctx, &state->atom);
+       }
 }
 
 void r600_set_constant_buffer(struct pipe_context *ctx, uint shader, uint 
index,
-- 
1.7.9.5

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to