aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_blorp.c
diff options
context:
space:
mode:
authorIago Toral Quiroga <[email protected]>2017-09-15 09:06:11 +0200
committerIago Toral Quiroga <[email protected]>2017-09-18 10:47:51 +0200
commit9a8bf42308f437c3895a5bc82024de33713d3cb6 (patch)
tree259c20c71388aa92e4c492ef00cc8f3fc8983c6f /src/mesa/drivers/dri/i965/brw_blorp.c
parentca65b9e62d2928c2b96502a8762b84e4e8ecd699 (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.c12
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);