intel/blorp: Take a range of layers in blorp_ccs_resolve

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
This commit is contained in:
Jason Ekstrand 2017-11-11 11:26:23 -08:00
parent 67b676f0c5
commit 8915621882
3 changed files with 8 additions and 4 deletions

View file

@ -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);

View file

@ -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, &params, surf, level, layer, format, resolve_op);
prepare_ccs_resolve(batch, &params, surf, level, start_layer,
format, resolve_op);
params.num_layers = num_layers;
batch->blorp->exec(batch, &params);
}

View file

@ -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);