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, clear_color);
+ !intel_miptree_set_clear_color(brw, irb->mt, &ctx->Color.ClearColor);
/* If the buffer is already in INTEL_FAST_CLEAR_STATE_CLEAR, the clear
* is redundant and can be skipped.
#include "brw_blorp.h"
#include "brw_context.h"
+#include "brw_meta_util.h"
#include "brw_state.h"
#include "main/enums.h"
bool
intel_miptree_set_clear_color(struct brw_context *brw,
struct intel_mipmap_tree *mt,
- union isl_color_value clear_color)
+ const union gl_color_union *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;
bool
intel_miptree_set_clear_color(struct brw_context *brw,
struct intel_mipmap_tree *mt,
- union isl_color_value clear_color);
+ const union gl_color_union *color);
bool
intel_miptree_set_depth_clear_value(struct brw_context *brw,