diff options
author | Kenneth Graunke <[email protected]> | 2018-08-14 23:37:53 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-21 10:26:08 -0800 |
commit | 84b30a29001e2fe02d816882083338f55db298d6 (patch) | |
tree | 235af6cefc446bbe9796b8d171477ffcccb0420b /src/gallium | |
parent | 0e059e48299569ee128990969b1f66636a8dcfb2 (diff) |
iris: call maybe_flush for each blorp operation
otherwise with high layer counts we may exceed two batches worth of
commands... (!)
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/iris/iris_blit.c | 6 |
1 files changed, 4 insertions, 2 deletions
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, |