From 9fe525e37b9a88e7f520f02c8c377d899145cf4e Mon Sep 17 00:00:00 2001 From: Nanley Chery Date: Wed, 24 Aug 2022 11:30:14 -0700 Subject: [PATCH] mesa/st: Set PIPE_MAP_DISCARD_RANGE in fallback_copy_image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Enables some drivers to avoid reading from the destination when mapping it. Acked-by: Marek Olšák Reviewed-by: Tapani Pälli Part-of: --- src/mesa/state_tracker/st_cb_copyimage.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_copyimage.c b/src/mesa/state_tracker/st_cb_copyimage.c index 633182dffd4..fefbff78999 100644 --- a/src/mesa/state_tracker/st_cb_copyimage.c +++ b/src/mesa/state_tracker/st_cb_copyimage.c @@ -615,10 +615,11 @@ fallback_copy_image(struct st_context *st, st_MapTextureImage( st->ctx, dst_image, dst_z, dst_x, dst_y, dst_w, dst_h, - GL_MAP_WRITE_BIT, &dst, &dst_stride); + GL_MAP_WRITE_BIT | GL_MAP_INVALIDATE_RANGE_BIT, + &dst, &dst_stride); } else { dst = pipe_texture_map(st->pipe, dst_res, 0, dst_z, - PIPE_MAP_WRITE, + PIPE_MAP_WRITE | PIPE_MAP_DISCARD_RANGE, dst_x, dst_y, dst_w, dst_h, &dst_transfer); dst_stride = dst_transfer->stride;