From: Jason Ekstrand Date: Sat, 11 Nov 2017 19:26:23 +0000 (-0800) Subject: intel/blorp: Take a range of layers in blorp_ccs_resolve X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=89156218828633b2fa1b8364011cd05b6d35930e;p=mesa.git intel/blorp: Take a range of layers in blorp_ccs_resolve Reviewed-by: Lionel Landwerlin Reviewed-by: Nanley Chery --- diff --git a/src/intel/blorp/blorp.h b/src/intel/blorp/blorp.h index 6027076afd0..7caa5f6c246 100644 --- a/src/intel/blorp/blorp.h +++ b/src/intel/blorp/blorp.h @@ -198,7 +198,8 @@ enum blorp_fast_clear_op { void blorp_ccs_resolve(struct blorp_batch *batch, - struct blorp_surf *surf, uint32_t level, uint32_t layer, + struct blorp_surf *surf, uint32_t level, + uint32_t start_layer, uint32_t num_layers, enum isl_format format, enum blorp_fast_clear_op resolve_op); diff --git a/src/intel/blorp/blorp_clear.c b/src/intel/blorp/blorp_clear.c index 8d758df155f..56cc3ddc9a3 100644 --- a/src/intel/blorp/blorp_clear.c +++ b/src/intel/blorp/blorp_clear.c @@ -778,13 +778,16 @@ prepare_ccs_resolve(struct blorp_batch * const batch, void blorp_ccs_resolve(struct blorp_batch *batch, - struct blorp_surf *surf, uint32_t level, uint32_t layer, + struct blorp_surf *surf, uint32_t level, + uint32_t start_layer, uint32_t num_layers, enum isl_format format, enum blorp_fast_clear_op resolve_op) { struct blorp_params params; - prepare_ccs_resolve(batch, ¶ms, surf, level, layer, format, resolve_op); + prepare_ccs_resolve(batch, ¶ms, surf, level, start_layer, + format, resolve_op); + params.num_layers = num_layers; batch->blorp->exec(batch, ¶ms); } diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c index 5393c7236e3..680121b6ab1 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp.c +++ b/src/mesa/drivers/dri/i965/brw_blorp.c @@ -1473,7 +1473,7 @@ brw_blorp_resolve_color(struct brw_context *brw, struct intel_mipmap_tree *mt, struct blorp_batch batch; blorp_batch_init(&brw->blorp, &batch, brw, 0); - blorp_ccs_resolve(&batch, &surf, level, layer, + blorp_ccs_resolve(&batch, &surf, level, layer, 1, brw_blorp_to_isl_format(brw, format, true), resolve_op); blorp_batch_finish(&batch);