iris: Handle resource offsets in buffer copies

Fixes: c5b22441f1 ("iris: Fix buffer -> buffer copy_region")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15811>
This commit is contained in:
Jason Ekstrand
2022-04-07 17:51:04 -05:00
committed by Marge Bot
parent f4c05f319e
commit ea185aef03

View File

@@ -684,13 +684,13 @@ iris_copy_region(struct blorp_context *blorp,
if (dst->target == PIPE_BUFFER && src->target == PIPE_BUFFER) {
struct blorp_address src_addr = {
.buffer = src_res->bo, .offset = src_box->x,
.buffer = src_res->bo, .offset = src_res->offset + src_box->x,
.mocs = iris_mocs(src_res->bo, &screen->isl_dev,
ISL_SURF_USAGE_TEXTURE_BIT),
.local_hint = iris_bo_likely_local(src_res->bo),
};
struct blorp_address dst_addr = {
.buffer = dst_res->bo, .offset = dstx,
.buffer = dst_res->bo, .offset = dst_res->offset + dstx,
.reloc_flags = EXEC_OBJECT_WRITE,
.mocs = iris_mocs(dst_res->bo, &screen->isl_dev,
ISL_SURF_USAGE_RENDER_TARGET_BIT),