Mesa (master): radeonsi: use copy_buffer in buffer_do_flush_region directly

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Oct 16 22:58:08 UTC 2018


Module: Mesa
Branch: master
Commit: 5030adcbe05f2ae97826f645f43c612f774411e8
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5030adcbe05f2ae97826f645f43c612f774411e8

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Oct  6 20:56:32 2018 -0400

radeonsi: use copy_buffer in buffer_do_flush_region directly

---

 src/gallium/drivers/radeonsi/si_buffer.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_buffer.c b/src/gallium/drivers/radeonsi/si_buffer.c
index a03a94453a..c7260e06cc 100644
--- a/src/gallium/drivers/radeonsi/si_buffer.c
+++ b/src/gallium/drivers/radeonsi/si_buffer.c
@@ -521,18 +521,11 @@ static void si_buffer_do_flush_region(struct pipe_context *ctx,
 	struct r600_resource *rbuffer = r600_resource(transfer->resource);
 
 	if (stransfer->staging) {
-		struct pipe_resource *dst, *src;
-		unsigned soffset;
-		struct pipe_box dma_box;
-
-		dst = transfer->resource;
-		src = &stransfer->staging->b.b;
-		soffset = stransfer->offset + box->x % SI_MAP_BUFFER_ALIGNMENT;
-
-		u_box_1d(soffset, box->width, &dma_box);
-
 		/* Copy the staging buffer into the original one. */
-		ctx->resource_copy_region(ctx, dst, 0, box->x, 0, 0, src, 0, &dma_box);
+		si_copy_buffer((struct si_context*)ctx, transfer->resource,
+			       &stransfer->staging->b.b, box->x,
+			       stransfer->offset + box->x % SI_MAP_BUFFER_ALIGNMENT,
+			       box->width);
 	}
 
 	util_range_add(&rbuffer->valid_buffer_range, box->x,




More information about the mesa-commit mailing list