intel/blorp: Take a range of layers in blorp_ccs_resolve
authorJason Ekstrand <jason.ekstrand@intel.com>
Sat, 11 Nov 2017 19:26:23 +0000 (11:26 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 28 Nov 2017 00:22:13 +0000 (16:22 -0800)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
src/intel/blorp/blorp.h
src/intel/blorp/blorp_clear.c
src/mesa/drivers/dri/i965/brw_blorp.c

index 6027076afd0bdfb7a62d19d91c681205320611ef..7caa5f6c2467e28afbd01430685ee63394451f21 100644 (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);
 
index 8d758df155f9ea705432e194727cbff05e4a2e83..56cc3ddc9a33d09a1581230938e1699274300889 100644 (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);
 }
index 5393c7236e370d67a054337dc437311af522d13b..680121b6ab143b4e09a743e8b185846d1687fc6f 100644 (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);