diff options
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_blorp.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_blorp.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c index d89b3ee4f08..835dbd2af36 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp.c +++ b/src/mesa/drivers/dri/i965/brw_blorp.c @@ -853,8 +853,8 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb, brw_meta_convert_fast_clear_color(brw, irb->mt, &ctx->Color.ClearColor); - bool same_clear_color = memcmp(&irb->mt->fast_clear_color, - &clear_color, sizeof(clear_color)) == 0; + bool same_clear_color = + !intel_miptree_set_clear_color(ctx, irb->mt, clear_color); /* If the buffer is already in INTEL_FAST_CLEAR_STATE_CLEAR, the clear * is redundant and can be skipped. @@ -862,14 +862,6 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb, if (aux_state == ISL_AUX_STATE_CLEAR && same_clear_color) return; - irb->mt->fast_clear_color = clear_color; - - /* If the clear color has changed, we need to emit a new SURFACE_STATE - * on the next draw call. - */ - if (!same_clear_color) - ctx->NewDriverState |= BRW_NEW_AUX_STATE; - DBG("%s (fast) to mt %p level %d layers %d+%d\n", __FUNCTION__, irb->mt, irb->mt_level, irb->mt_layer, num_layers); |