iris: Fix MOCS for buffer copies

We were passing a MOCS of 0, which is uncached.  Yikes.

Fixes: c5b22441f1 ("iris: Fix buffer -> buffer copy_region")

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13480>
(cherry picked from commit d8cb76211c)
This commit is contained in:
Kenneth Graunke 2021-10-19 23:13:47 -07:00 committed by Dylan Baker
parent e8fd3214dc
commit ace310e998
2 changed files with 5 additions and 1 deletions

View file

@ -616,7 +616,7 @@
"description": "iris: Fix MOCS for buffer copies",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "c5b22441f1c3a77027af4306f09ea6d1f20d00ab"
},

View file

@ -650,10 +650,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),