This reverts commit 1d94aa1987
.
The next patch will make depth miptrees use the clear color setter that
was originally being used for color miptrees. Go back to using the
isl_color_value parameter because it's the same type as the
fast_clear_color field used by color and depth miptrees.
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
tags/18.2-branchpoint
@@ -1225,9 +1225,12 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb, | |||
if (can_fast_clear) { | |||
const enum isl_aux_state aux_state = | |||
intel_miptree_get_aux_state(irb->mt, irb->mt_level, irb->mt_layer); | |||
union isl_color_value clear_color = | |||
brw_meta_convert_fast_clear_color(brw, irb->mt, | |||
&ctx->Color.ClearColor); | |||
bool same_clear_color = | |||
!intel_miptree_set_clear_color(brw, irb->mt, &ctx->Color.ClearColor); | |||
!intel_miptree_set_clear_color(brw, irb->mt, clear_color); | |||
/* If the buffer is already in INTEL_FAST_CLEAR_STATE_CLEAR, the clear | |||
* is redundant and can be skipped. |
@@ -36,7 +36,6 @@ | |||
#include "brw_blorp.h" | |||
#include "brw_context.h" | |||
#include "brw_meta_util.h" | |||
#include "brw_state.h" | |||
#include "main/enums.h" | |||
@@ -3725,11 +3724,8 @@ get_isl_dim_layout(const struct gen_device_info *devinfo, | |||
bool | |||
intel_miptree_set_clear_color(struct brw_context *brw, | |||
struct intel_mipmap_tree *mt, | |||
const union gl_color_union *color) | |||
union isl_color_value clear_color) | |||
{ | |||
const union isl_color_value clear_color = | |||
brw_meta_convert_fast_clear_color(brw, mt, color); | |||
if (memcmp(&mt->fast_clear_color, &clear_color, sizeof(clear_color)) != 0) { | |||
mt->fast_clear_color = clear_color; | |||
brw->ctx.NewDriverState |= BRW_NEW_AUX_STATE; |
@@ -706,7 +706,7 @@ intel_miptree_sample_with_hiz(struct brw_context *brw, | |||
bool | |||
intel_miptree_set_clear_color(struct brw_context *brw, | |||
struct intel_mipmap_tree *mt, | |||
const union gl_color_union *color); | |||
union isl_color_value clear_color); | |||
/* Get a clear color suitable for filling out an ISL surface state. */ | |||
union isl_color_value |