diff --git a/src/virtio/vulkan/vn_android.c b/src/virtio/vulkan/vn_android.c index 2caa597f262..076b44d7dc3 100644 --- a/src/virtio/vulkan/vn_android.c +++ b/src/virtio/vulkan/vn_android.c @@ -344,8 +344,7 @@ vn_android_image_from_anb_internal(struct vn_device *dev, } /* Android WSI image owns the memory */ - img->wsi.memory = vn_device_memory_from_handle(mem_handle); - img->wsi.memory_owned = true; + img->wsi.anb_mem = vn_device_memory_from_handle(mem_handle); *out_img = img; return VK_SUCCESS; @@ -372,7 +371,7 @@ vn_android_image_from_anb(struct vn_device *dev, const VkBindImageMemoryInfo bind_info = { .sType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, .image = vn_image_to_handle(img), - .memory = vn_device_memory_to_handle(img->wsi.memory), + .memory = vn_device_memory_to_handle(img->wsi.anb_mem), }; result = vn_BindImageMemory2(vn_device_to_handle(dev), 1, &bind_info); if (result != VK_SUCCESS) { @@ -399,8 +398,7 @@ vn_android_get_wsi_memory_from_bind_info( if (result != VK_SUCCESS) return NULL; - assert(img->wsi.memory_owned); - return img->wsi.memory; + return img->wsi.anb_mem; } VkResult diff --git a/src/virtio/vulkan/vn_image.c b/src/virtio/vulkan/vn_image.c index c5ee03b41ca..b5743aad9e0 100644 --- a/src/virtio/vulkan/vn_image.c +++ b/src/virtio/vulkan/vn_image.c @@ -714,8 +714,9 @@ vn_DestroyImage(VkDevice device, if (!img) return; - if (img->wsi.memory && img->wsi.memory_owned) { - VkDeviceMemory mem_handle = vn_device_memory_to_handle(img->wsi.memory); + if (img->wsi.anb_mem) { + VkDeviceMemory mem_handle = + vn_device_memory_to_handle(img->wsi.anb_mem); vn_FreeMemory(device, mem_handle, pAllocator); } diff --git a/src/virtio/vulkan/vn_image.h b/src/virtio/vulkan/vn_image.h index d07219883dc..4e1863211cf 100644 --- a/src/virtio/vulkan/vn_image.h +++ b/src/virtio/vulkan/vn_image.h @@ -64,13 +64,11 @@ struct vn_image { struct { bool is_prime_blit_src; - struct vn_device_memory *memory; - /* memory backing the prime blit dst buffer */ struct vn_device_memory *blit_mem; /* For VK_ANDROID_native_buffer, the WSI image owns the memory. */ - bool memory_owned; + struct vn_device_memory *anb_mem; } wsi; }; VK_DEFINE_NONDISP_HANDLE_CASTS(vn_image,