zink: stop screwing up buffer offsets during for maps
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Mon, 17 May 2021 21:46:01 +0000 (17:46 -0400)
committerMarge Bot <eric+marge@anholt.net>
Fri, 2 Jul 2021 03:29:04 +0000 (03:29 +0000)
stop using the memory bind offset

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11687>

src/gallium/drivers/zink/zink_resource.c

index 455954e..0691277 100644 (file)
@@ -933,7 +933,6 @@ buffer_transfer_map(struct zink_context *ctx, struct zink_resource *res, unsigne
          if (!trans->staging_res)
             return NULL;
          struct zink_resource *staging_res = zink_resource(trans->staging_res);
-         trans->offset = staging_res->obj->offset;
          zink_copy_buffer(ctx, NULL, staging_res, res, box->x, box->x, box->width);
          res = staging_res;
          zink_fence_wait(&ctx->base);
@@ -1142,7 +1141,7 @@ zink_transfer_flush_region(struct pipe_context *pctx,
          struct zink_resource *staging_res = zink_resource(trans->staging_res);
 
          if (ptrans->resource->target == PIPE_BUFFER)
-            zink_copy_buffer(ctx, NULL, res, staging_res, box->x, box->x + trans->offset + m->obj->offset, box->width);
+            zink_copy_buffer(ctx, NULL, res, staging_res, box->x, offset, box->width);
          else
             zink_transfer_copy_bufimage(ctx, res, staging_res, trans);
       }