i965: Make the miptree clear color setter take a gl_color_union
We want to hide the internal details of how the miptree's clear color is calculated. Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
3dbb49a978
commit
1d94aa1987
|
@ -1235,12 +1235,9 @@ 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, 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.
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
|
||||
#include "brw_blorp.h"
|
||||
#include "brw_context.h"
|
||||
#include "brw_meta_util.h"
|
||||
#include "brw_state.h"
|
||||
|
||||
#include "main/enums.h"
|
||||
|
@ -3808,8 +3809,11 @@ intel_miptree_get_aux_isl_usage(const struct brw_context *brw,
|
|||
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;
|
||||
|
|
|
@ -734,7 +734,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,
|
||||
union isl_color_value clear_color);
|
||||
const union gl_color_union *color);
|
||||
|
||||
bool
|
||||
intel_miptree_set_depth_clear_value(struct brw_context *brw,
|
||||
|
|
Loading…
Reference in New Issue