[Mesa-dev] [PATCH 10/12] intel/blorp: Add plumbing for setting color clear layer count
Topi Pohjolainen
topi.pohjolainen at gmail.com
Wed Aug 31 16:05:14 UTC 2016
Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
---
src/intel/blorp/blorp.h | 6 +++---
src/intel/blorp/blorp_clear.c | 16 +++++++++-------
src/mesa/drivers/dri/i965/brw_blorp.c | 6 +++---
3 files changed, 15 insertions(+), 13 deletions(-)
diff --git a/src/intel/blorp/blorp.h b/src/intel/blorp/blorp.h
index 12f1833..238e7c7 100644
--- a/src/intel/blorp/blorp.h
+++ b/src/intel/blorp/blorp.h
@@ -110,14 +110,14 @@ blorp_blit(struct blorp_batch *batch,
void
blorp_fast_clear(struct blorp_batch *batch,
- const struct blorp_surf *surf,
- uint32_t level, uint32_t layer, enum isl_format format,
+ const struct blorp_surf *surf, enum isl_format format,
+ uint32_t level, uint32_t start_layer, uint32_t num_layers,
uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1);
void
blorp_clear(struct blorp_batch *batch,
const struct blorp_surf *surf,
- uint32_t level, uint32_t layer,
+ uint32_t level, uint32_t start_layer, uint32_t num_layers,
uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1,
enum isl_format format, union isl_color_value clear_color,
bool color_write_disable[4]);
diff --git a/src/intel/blorp/blorp_clear.c b/src/intel/blorp/blorp_clear.c
index 831c8ed..cba4823 100644
--- a/src/intel/blorp/blorp_clear.c
+++ b/src/intel/blorp/blorp_clear.c
@@ -208,12 +208,13 @@ get_fast_clear_rect(const struct isl_device *dev,
void
blorp_fast_clear(struct blorp_batch *batch,
- const struct blorp_surf *surf,
- uint32_t level, uint32_t layer, enum isl_format format,
+ const struct blorp_surf *surf, enum isl_format format,
+ uint32_t level, uint32_t start_layer, uint32_t num_layers,
uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1)
{
struct blorp_params params;
blorp_params_init(¶ms);
+ params.num_layers = num_layers;
params.x0 = x0;
params.y0 = y0;
@@ -228,8 +229,8 @@ blorp_fast_clear(struct blorp_batch *batch,
blorp_params_get_clear_kernel(batch->blorp, ¶ms, true);
- brw_blorp_surface_info_init(batch->blorp, ¶ms.dst, surf, level, layer,
- format, true);
+ brw_blorp_surface_info_init(batch->blorp, ¶ms.dst, surf, level,
+ start_layer, format, true);
batch->blorp->exec(batch, ¶ms);
}
@@ -238,13 +239,14 @@ blorp_fast_clear(struct blorp_batch *batch,
void
blorp_clear(struct blorp_batch *batch,
const struct blorp_surf *surf,
- uint32_t level, uint32_t layer,
+ uint32_t level, uint32_t start_layer, uint32_t num_layers,
uint32_t x0, uint32_t y0, uint32_t x1, uint32_t y1,
enum isl_format format, union isl_color_value clear_color,
bool color_write_disable[4])
{
struct blorp_params params;
blorp_params_init(¶ms);
+ params.num_layers = num_layers;
params.x0 = x0;
params.y0 = y0;
@@ -276,8 +278,8 @@ blorp_clear(struct blorp_batch *batch,
blorp_params_get_clear_kernel(batch->blorp, ¶ms,
use_simd16_replicated_data);
- brw_blorp_surface_info_init(batch->blorp, ¶ms.dst, surf, level, layer,
- format, true);
+ brw_blorp_surface_info_init(batch->blorp, ¶ms.dst, surf, level,
+ start_layer, format, true);
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 8379eed..6339932 100644
--- a/src/mesa/drivers/dri/i965/brw_blorp.c
+++ b/src/mesa/drivers/dri/i965/brw_blorp.c
@@ -753,9 +753,9 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb,
struct blorp_batch batch;
blorp_batch_init(&brw->blorp, &batch, brw);
- blorp_fast_clear(&batch, &surf, level, layer,
+ blorp_fast_clear(&batch, &surf,
(enum isl_format)brw->render_target_format[format],
- x0, y0, x1, y1);
+ level, layer, 1, x0, y0, x1, y1);
blorp_batch_finish(&batch);
/* Now that the fast clear has occurred, put the buffer in
@@ -772,7 +772,7 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb,
struct blorp_batch batch;
blorp_batch_init(&brw->blorp, &batch, brw);
- blorp_clear(&batch, &surf, level, layer, x0, y0, x1, y1,
+ blorp_clear(&batch, &surf, level, layer, 1, x0, y0, x1, y1,
(enum isl_format)brw->render_target_format[format],
clear_color, color_write_disable);
blorp_batch_finish(&batch);
--
2.5.5
More information about the mesa-dev
mailing list