[Mesa-dev] [PATCH v2 18/27] i965/meta_util: Only modify the input parameters in get_fast_clear_rect

Pohjolainen, Topi topi.pohjolainen at intel.com
Sun Jul 31 08:11:54 UTC 2016


Subject says: "Only modify the input parameters in get_fast_clear_rect".
This is about stopping to re-apply gl_framebuffer.

Other than that patches 16-18 are:

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

On Tue, Jul 26, 2016 at 03:11:22PM -0700, Jason Ekstrand wrote:
> We had another inline copy of brw_meta_get_buffer_rect embedded in
> get_fast_clear_rect for no good reason.  This lets us get rid of the
> gl_frameuffer parameter to get_fast_clear_rect.
> ---
>  src/mesa/drivers/dri/i965/brw_blorp_clear.cpp |  2 +-
>  src/mesa/drivers/dri/i965/brw_meta_util.c     | 14 +++-----------
>  src/mesa/drivers/dri/i965/brw_meta_util.h     |  1 -
>  3 files changed, 4 insertions(+), 13 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> index f67a1a4..daab5db 100644
> --- a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> @@ -172,7 +172,7 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb,
>        memset(&params.wm_inputs, 0xff, 4*sizeof(float));
>        params.fast_clear_op = GEN7_PS_RENDER_TARGET_FAST_CLEAR_ENABLE;
>  
> -      brw_get_fast_clear_rect(brw, fb, irb->mt, &params.x0, &params.y0,
> +      brw_get_fast_clear_rect(brw, irb->mt, &params.x0, &params.y0,
>                                &params.x1, &params.y1);
>     }
>  
> diff --git a/src/mesa/drivers/dri/i965/brw_meta_util.c b/src/mesa/drivers/dri/i965/brw_meta_util.c
> index 59c9af8..d280375 100644
> --- a/src/mesa/drivers/dri/i965/brw_meta_util.c
> +++ b/src/mesa/drivers/dri/i965/brw_meta_util.c
> @@ -441,9 +441,11 @@ brw_meta_set_fast_clear_color(struct brw_context *brw,
>     return updated;
>  }
>  
> +/* The x0, y0, x1, and y1 parameters must already be populated with the render
> + * area of the framebuffer to be cleared.
> + */
>  void
>  brw_get_fast_clear_rect(const struct brw_context *brw,
> -                        const struct gl_framebuffer *fb,
>                          const struct intel_mipmap_tree* mt,
>                          unsigned *x0, unsigned *y0,
>                          unsigned *x1, unsigned *y1)
> @@ -552,16 +554,6 @@ brw_get_fast_clear_rect(const struct brw_context *brw,
>        y_align = y_scaledown * 2;
>     }
>  
> -   *x0 = fb->_Xmin;
> -   *x1 = fb->_Xmax;
> -   if (fb->Name != 0) {
> -      *y0 = fb->_Ymin;
> -      *y1 = fb->_Ymax;
> -   } else {
> -      *y0 = fb->Height - fb->_Ymax;
> -      *y1 = fb->Height - fb->_Ymin;
> -   }
> -
>     *x0 = ROUND_DOWN_TO(*x0,  x_align) / x_scaledown;
>     *y0 = ROUND_DOWN_TO(*y0, y_align) / y_scaledown;
>     *x1 = ALIGN(*x1, x_align) / x_scaledown;
> diff --git a/src/mesa/drivers/dri/i965/brw_meta_util.h b/src/mesa/drivers/dri/i965/brw_meta_util.h
> index 198ffe5..35c06a8 100644
> --- a/src/mesa/drivers/dri/i965/brw_meta_util.h
> +++ b/src/mesa/drivers/dri/i965/brw_meta_util.h
> @@ -44,7 +44,6 @@ brw_meta_mirror_clip_and_scissor(const struct gl_context *ctx,
>  
>  void
>  brw_get_fast_clear_rect(const struct brw_context *brw,
> -                        const struct gl_framebuffer *fb,
>                          const struct intel_mipmap_tree* mt,
>                          unsigned *x0, unsigned *y0,
>                          unsigned *x1, unsigned *y1);
> -- 
> 2.5.0.400.gff86faf
> 
> _______________________________________________
> 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