From 79685199f43faac04544112751399d718cf588ec Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 3 Jun 2022 13:59:11 -0400 Subject: [PATCH] zink: invalidate blit dsts if fully covered tiling perf++ since there's no need to load Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_blit.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/zink/zink_blit.c b/src/gallium/drivers/zink/zink_blit.c index 5df459f838c..49b298f391c 100644 --- a/src/gallium/drivers/zink/zink_blit.c +++ b/src/gallium/drivers/zink/zink_blit.c @@ -347,6 +347,9 @@ zink_blit(struct pipe_context *pctx, if (info->dst.resource->target == PIPE_BUFFER) util_range_add(info->dst.resource, &dst->valid_buffer_range, info->dst.box.x, info->dst.box.x + info->dst.box.width); + /* this will draw a full-resource quad, so ignore existing data */ + if (util_blit_covers_whole_resource(info)) + pctx->invalidate_resource(pctx, info->dst.resource); zink_blit_begin(ctx, ZINK_BLIT_SAVE_FB | ZINK_BLIT_SAVE_FS | ZINK_BLIT_SAVE_TEXTURES); if (stencil_blit) {