[Mesa-dev] [PATCH v2 24/27] i965/blorp: Factor the guts of blorp_hiz_exec into a helper

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


On Tue, Jul 26, 2016 at 03:11:28PM -0700, Jason Ekstrand wrote:
> ---
>  src/mesa/drivers/dri/i965/brw_blorp.c | 43 ++++++++++++++++++++---------------
>  1 file changed, 25 insertions(+), 18 deletions(-)

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

> 
> diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c
> index 64bbf4c..c862dfd 100644
> --- a/src/mesa/drivers/dri/i965/brw_blorp.c
> +++ b/src/mesa/drivers/dri/i965/brw_blorp.c
> @@ -548,24 +548,17 @@ retry:
>     brw_emit_mi_flush(brw);
>  }
>  
> -void
> -gen6_blorp_hiz_exec(struct brw_context *brw, struct intel_mipmap_tree *mt,
> -                    unsigned int level, unsigned int layer, enum gen6_hiz_op op)
> +static void
> +blorp_gen6_hiz_op(struct brw_context *brw, struct brw_blorp_surf *surf,
> +                  unsigned level, unsigned layer, enum gen6_hiz_op op)
>  {
>     struct brw_blorp_params params;
>     brw_blorp_params_init(&params);
>  
>     params.hiz_op = op;
>  
> -   intel_miptree_check_level_layer(mt, level, layer);
> -   intel_miptree_used_for_rendering(mt);
> -
> -   struct isl_surf isl_tmp[2];
> -   struct brw_blorp_surf surf;
> -   brw_blorp_surf_for_miptree(brw, &surf, mt, &level, isl_tmp);
> -   brw_blorp_surface_info_init(brw, &params.depth, &surf, level, layer,
> -                               brw_blorp_to_isl_format(brw, mt->format, true),
> -                               true);
> +   brw_blorp_surface_info_init(brw, &params.depth, surf, level, layer,
> +                               surf->surf->format, true);
>  
>     /* Align the rectangle primitive to 8x4 pixels.
>      *
> @@ -608,16 +601,14 @@ gen6_blorp_hiz_exec(struct brw_context *brw, struct intel_mipmap_tree *mt,
>     params.dst.surf.samples = params.depth.surf.samples;
>     params.dst.surf.logical_level0_px = params.depth.surf.logical_level0_px;
>  
> -   assert(intel_miptree_level_has_hiz(mt, level));
> -
> -   switch (mt->format) {
> -   case MESA_FORMAT_Z_UNORM16:
> +   switch (surf->surf->format) {
> +   case ISL_FORMAT_R16_UNORM:
>        params.depth_format = BRW_DEPTHFORMAT_D16_UNORM;
>        break;
> -   case MESA_FORMAT_Z_FLOAT32:
> +   case ISL_FORMAT_R32_FLOAT:
>        params.depth_format = BRW_DEPTHFORMAT_D32_FLOAT;
>        break;
> -   case MESA_FORMAT_Z24_UNORM_X8_UINT:
> +   case ISL_FORMAT_R24_UNORM_X8_TYPELESS:
>        params.depth_format = BRW_DEPTHFORMAT_D24_UNORM_X8_UINT;
>        break;
>     default:
> @@ -626,3 +617,19 @@ gen6_blorp_hiz_exec(struct brw_context *brw, struct intel_mipmap_tree *mt,
>  
>     brw_blorp_exec(brw, &params);
>  }
> +
> +void
> +gen6_blorp_hiz_exec(struct brw_context *brw, struct intel_mipmap_tree *mt,
> +                    unsigned int level, unsigned int layer, enum gen6_hiz_op op)
> +{
> +   intel_miptree_check_level_layer(mt, level, layer);
> +   intel_miptree_used_for_rendering(mt);
> +
> +   assert(intel_miptree_level_has_hiz(mt, level));
> +
> +   struct isl_surf isl_tmp[2];
> +   struct brw_blorp_surf surf;
> +   brw_blorp_surf_for_miptree(brw, &surf, mt, &level, isl_tmp);
> +
> +   blorp_gen6_hiz_op(brw, &surf, level, layer, op);
> +}
> -- 
> 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