[Mesa-dev] [PATCH 03/14] i965: Make the miptree clear color setter take a gl_color_union

Pohjolainen, Topi topi.pohjolainen at gmail.com
Tue Apr 3 16:21:50 UTC 2018


On Fri, Mar 30, 2018 at 11:12:16AM -0700, Nanley Chery wrote:
> We want to hide the internal details of how the miptree's clear color
> is calculated.

Patches 1-3:

Reviewed-by: Topi Pohjolainen <topi.pohjolainen at intel.com>

> ---
>  src/mesa/drivers/dri/i965/brw_blorp.c         | 5 +----
>  src/mesa/drivers/dri/i965/intel_mipmap_tree.c | 6 +++++-
>  src/mesa/drivers/dri/i965/intel_mipmap_tree.h | 2 +-
>  3 files changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c
> index f5a653fff97..6ab5267ddea 100644
> --- a/src/mesa/drivers/dri/i965/brw_blorp.c
> +++ b/src/mesa/drivers/dri/i965/brw_blorp.c
> @@ -1236,12 +1236,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.
> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> index 163accf023b..7aa0e7920d3 100644
> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.c
> @@ -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"
> @@ -3774,8 +3775,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;
> diff --git a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
> index 600296904ba..961f8fe812e 100644
> --- a/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
> +++ b/src/mesa/drivers/dri/i965/intel_mipmap_tree.h
> @@ -718,7 +718,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,
> -- 
> 2.16.2
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list