We don't actually need the memory object for anything, it's entirely private to the driver. We're about to have stuff that's even more private to the driver so we will want a driver_private anyway. --- src/amd/vulkan/radv_wsi.c | 4 ++-- src/intel/vulkan/anv_wsi.c | 5 +++-- src/vulkan/wsi/wsi_common.h | 4 +++- 3 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/amd/vulkan/radv_wsi.c b/src/amd/vulkan/radv_wsi.c index 248c1ee..f729ffb 100644 --- a/src/amd/vulkan/radv_wsi.c +++ b/src/amd/vulkan/radv_wsi.c @@ -233,7 +233,7 @@ radv_wsi_image_create(VkDevice device_h, surface = &image->surface; wsi_image->image = image_h; - wsi_image->memory = memory_h; + wsi_image->driver_private = memory_h; wsi_image->size = image->size; wsi_image->offset = image->offset; if (device->physical_device->rad_info.chip_class >= GFX9) @@ -260,7 +260,7 @@ radv_wsi_image_free(VkDevice device, { radv_DestroyImage(device, wsi_image->image, pAllocator); - radv_FreeMemory(device, wsi_image->memory, pAllocator); + radv_FreeMemory(device, wsi_image->driver_private, pAllocator); } static const struct wsi_image_fns radv_wsi_image_fns = { diff --git a/src/intel/vulkan/anv_wsi.c b/src/intel/vulkan/anv_wsi.c index b7aacd8..154263f 100644 --- a/src/intel/vulkan/anv_wsi.c +++ b/src/intel/vulkan/anv_wsi.c @@ -259,8 +259,8 @@ anv_wsi_image_create(VkDevice device_h, goto fail_alloc_memory; } + wsi_image->driver_private = memory; wsi_image->image = image_h; - wsi_image->memory = memory_h; wsi_image->fd = fd; wsi_image->size = image->size; wsi_image->offset = 0; @@ -281,7 +281,8 @@ anv_wsi_image_free(VkDevice device, { anv_DestroyImage(device, wsi_image->image, pAllocator); - anv_FreeMemory(device, wsi_image->memory, pAllocator); + /* We use the driver_private to keep track of the memory object */ + anv_FreeMemory(device, wsi_image->driver_private, pAllocator); } static const struct wsi_image_fns anv_wsi_image_fns = { diff --git a/src/vulkan/wsi/wsi_common.h b/src/vulkan/wsi/wsi_common.h index 483878f..a6414ef 100644 --- a/src/vulkan/wsi/wsi_common.h +++ b/src/vulkan/wsi/wsi_common.h @@ -31,8 +31,10 @@ #include <vulkan/vk_icd.h> struct wsi_image { + /* Private storage for the driver */ + void *driver_private; + VkImage image; - VkDeviceMemory memory; uint32_t size; uint32_t offset; uint32_t row_pitch; -- 2.5.0.400.gff86faf _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev