From d8cb76211c5d264d705dbd3c02b5fc61637d5a56 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 19 Oct 2021 23:13:47 -0700 Subject: [PATCH] iris: Fix MOCS for buffer copies We were passing a MOCS of 0, which is uncached. Yikes. Fixes: c5b22441f1c ("iris: Fix buffer -> buffer copy_region") Reviewed-by: Jason Ekstrand Part-of: --- src/gallium/drivers/iris/iris_blit.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/drivers/iris/iris_blit.c b/src/gallium/drivers/iris/iris_blit.c index 6f789ad..a755f94 100644 --- a/src/gallium/drivers/iris/iris_blit.c +++ b/src/gallium/drivers/iris/iris_blit.c @@ -642,10 +642,14 @@ iris_copy_region(struct blorp_context *blorp, if (dst->target == PIPE_BUFFER && src->target == PIPE_BUFFER) { struct blorp_address src_addr = { .buffer = iris_resource_bo(src), .offset = src_box->x, + .mocs = iris_mocs(src_res->bo, &screen->isl_dev, + ISL_SURF_USAGE_RENDER_TARGET_BIT), }; struct blorp_address dst_addr = { .buffer = iris_resource_bo(dst), .offset = dstx, .reloc_flags = EXEC_OBJECT_WRITE, + .mocs = iris_mocs(dst_res->bo, &screen->isl_dev, + ISL_SURF_USAGE_TEXTURE_BIT), }; iris_emit_buffer_barrier_for(batch, iris_resource_bo(src), -- 2.7.4