radv: Fix sparse BO mapping merging.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Fri, 25 Aug 2017 20:18:24 +0000 (22:18 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Fri, 25 Aug 2017 20:47:49 +0000 (22:47 +0200)
If we merge a mapping with the mapping before it, we also need
to not only change the offset, but also the bo offset.

Fixes: 715df30a4e2 "radv/amdgpu: Add winsys implementation of virtual buffers."
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c

index 5c374a238d67a8eee3b5d86cbc639d73f9f31f14..75444d57dac2a5ceba5c7638a940600311c20ca9 100644 (file)
@@ -149,6 +149,7 @@ radv_amdgpu_winsys_bo_virtual_bind(struct radeon_winsys_bo *_parent,
        if (parent->ranges[first].bo == bo && (!bo || offset - bo_offset == parent->ranges[first].offset - parent->ranges[first].bo_offset)) {
                size += offset - parent->ranges[first].offset;
                offset = parent->ranges[first].offset;
+               bo_offset = parent->ranges[first].bo_offset;
                remove_first = true;
        }