diff options
author | Iago Toral Quiroga <[email protected]> | 2017-09-15 09:06:11 +0200 |
---|---|---|
committer | Iago Toral Quiroga <[email protected]> | 2017-09-18 10:47:51 +0200 |
commit | 9a8bf42308f437c3895a5bc82024de33713d3cb6 (patch) | |
tree | 259c20c71388aa92e4c492ef00cc8f3fc8983c6f /src/mesa/drivers/dri/i965/brw_blorp.c | |
parent | ca65b9e62d2928c2b96502a8762b84e4e8ecd699 (diff) |
i965: emit BRW_NEW_AUX_STATE when we change the fast clear value
v2: rename intel_miptree_set_clear_value to intel_miptree_set_clear_color
(Jason)
Reviewed-by: Jason Ekstrand <[email protected]>
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); |