From 84b30a29001e2fe02d816882083338f55db298d6 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 14 Aug 2018 23:37:53 -0700 Subject: iris: call maybe_flush for each blorp operation otherwise with high layer counts we may exceed two batches worth of commands... (!) --- src/gallium/drivers/iris/iris_blit.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/gallium/drivers/iris/iris_blit.c') diff --git a/src/gallium/drivers/iris/iris_blit.c b/src/gallium/drivers/iris/iris_blit.c index 5e9a2bcb497..6064ca17ecf 100644 --- a/src/gallium/drivers/iris/iris_blit.c +++ b/src/gallium/drivers/iris/iris_blit.c @@ -149,12 +149,12 @@ iris_blit(struct pipe_context *ctx, const struct pipe_blit_info *info) struct iris_batch *batch = &ice->render_batch; - iris_batch_maybe_flush(batch, 1500); - struct blorp_batch blorp_batch; blorp_batch_init(&ice->blorp, &blorp_batch, batch, 0); for (int slice = 0; slice < info->dst.box.depth; slice++) { + iris_batch_maybe_flush(batch, 1500); + blorp_blit(&blorp_batch, &src_surf, info->src.level, info->src.box.z + slice, src_isl_format, src_isl_swizzle, @@ -176,6 +176,8 @@ iris_blit(struct pipe_context *ctx, const struct pipe_blit_info *info) ISL_AUX_USAGE_NONE, true); for (int slice = 0; slice < info->dst.box.depth; slice++) { + iris_batch_maybe_flush(batch, 1500); + blorp_blit(&blorp_batch, &src_surf, info->src.level, info->src.box.z + slice, ISL_FORMAT_R8_UINT, src_isl_swizzle, -- cgit v1.2.3