Mesa (main): zink: apply zink_resource_object::offset for memory flush/invalidates

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 22 21:08:01 UTC 2021


Module: Mesa
Branch: main
Commit: d574b0a51e8af26037a3df21981d4535b4d6117c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d574b0a51e8af26037a3df21981d4535b4d6117c

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Thu May 13 08:54:51 2021 -0400

zink: apply zink_resource_object::offset for memory flush/invalidates

Acked-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11437>

---

 src/gallium/drivers/zink/zink_resource.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c
index 7e20a79c1f0..9a5b7fad404 100644
--- a/src/gallium/drivers/zink/zink_resource.c
+++ b/src/gallium/drivers/zink/zink_resource.c
@@ -935,7 +935,7 @@ buffer_transfer_map(struct zink_context *ctx, struct zink_resource *res, unsigne
 #endif
       ) {
       VkDeviceSize size = box->width;
-      VkDeviceSize offset = trans->offset + box->x;
+      VkDeviceSize offset = res->obj->offset + trans->offset + box->x;
       VkMappedMemoryRange range = init_mem_range(screen, res, offset, size);
       if (vkInvalidateMappedMemoryRanges(screen->dev, 1, &range) != VK_SUCCESS) {
          vkUnmapMemory(screen->dev, res->obj->mem);
@@ -1059,7 +1059,7 @@ zink_transfer_map(struct pipe_context *pctx,
                            (box->x / desc->block.width) * (desc->block.bits / 8);
          if (!res->obj->coherent) {
             VkDeviceSize size = box->width * box->height * desc->block.bits / 8;
-            VkMappedMemoryRange range = init_mem_range(screen, res, offset, size);
+            VkMappedMemoryRange range = init_mem_range(screen, res, res->obj->offset + offset, size);
             vkFlushMappedMemoryRanges(screen->dev, 1, &range);
          }
          ptr = ((uint8_t *)base) + offset;



More information about the mesa-commit mailing list