mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 06:48:06 +02:00
i965/blorp: Also skip the fast clear if the clear color differs
If the aux state is CLEAR and clear color value has changed, only the surface state must be updated. The bit-pattern in the aux buffer is exactly the same. Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
43616404be
commit
f8ac11d69f
1 changed files with 3 additions and 4 deletions
|
|
@ -1229,13 +1229,12 @@ 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 =
|
||||
!intel_miptree_set_clear_color(brw, irb->mt, clear_color);
|
||||
intel_miptree_set_clear_color(brw, irb->mt, clear_color);
|
||||
|
||||
/* If the buffer is already in INTEL_FAST_CLEAR_STATE_CLEAR, the clear
|
||||
/* If the buffer is already in ISL_AUX_STATE_CLEAR, the clear
|
||||
* is redundant and can be skipped.
|
||||
*/
|
||||
if (aux_state == ISL_AUX_STATE_CLEAR && same_clear_color)
|
||||
if (aux_state == ISL_AUX_STATE_CLEAR)
|
||||
return;
|
||||
|
||||
DBG("%s (fast) to mt %p level %d layers %d+%d\n", __FUNCTION__,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue