From: Kenneth Graunke Date: Wed, 15 Aug 2018 06:37:53 +0000 (-0700) Subject: iris: call maybe_flush for each blorp operation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=84b30a29001e2fe02d816882083338f55db298d6;p=mesa.git iris: call maybe_flush for each blorp operation otherwise with high layer counts we may exceed two batches worth of commands... (!) --- 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,