radv/winsys: Fix offset in range merging.

If we change the virtual address we also have to change the offset in the buffer
to be mapped.

Fixes: 715df30a4e2 "radv/amdgpu: Add winsys implementation of virtual buffers."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7953>
(cherry picked from commit d3286bdd764741b2cb6d30b59450ce9473884430)
diff --git a/.pick_status.json b/.pick_status.json
index 41e324e..1b347bd 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -985,7 +985,7 @@
         "description": "radv/winsys: Fix offset in range merging.",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "715df30a4e27a76917d6172e68fd7f4c3ff1fb9d"
     },
diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
index 2f58f4f..7685c88 100644
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
@@ -250,6 +250,7 @@
 
 		if (!remove_last) {
 			new_last.size -= offset + size - new_last.offset;
+			new_last.bo_offset += (offset + size - new_last.offset);
 			new_last.offset = offset + size;
 			radv_amdgpu_winsys_virtual_map(parent, &new_last);
 		}