diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index b66ad4e934d..69e8b62844e 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -4835,6 +4835,9 @@ zink_copy_image_buffer(struct zink_context *ctx, struct zink_resource *dst, stru } if (needs_present_readback) zink_kopper_present_readback(ctx, img); + + if (ctx->oom_flush && !ctx->batch.in_rp) + flush_batch(ctx, false); } static void @@ -4945,6 +4948,8 @@ zink_resource_copy_region(struct pipe_context *pctx, zink_copy_buffer(ctx, dst, src, dstx, src_box->x, src_box->width); } else zink_copy_image_buffer(ctx, dst, src, dst_level, dstx, dsty, dstz, src_level, src_box, 0); + if (ctx->oom_flush && !ctx->batch.in_rp) + flush_batch(ctx, false); } static bool