diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 285783e29b9..8fddb39debf 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -2537,16 +2537,13 @@ v3dv_BindImageMemory2(VkDevice _device, BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR); if (swapchain_info && swapchain_info->swapchain) { #if !DETECT_OS_ANDROID - struct v3dv_image *swapchain_image = - v3dv_wsi_get_image_from_swapchain(swapchain_info->swapchain, - swapchain_info->imageIndex); - /* Making the assumption that swapchain images are a single plane */ - assert(swapchain_image->plane_count == 1); + VkDeviceMemory wsi_mem_handle = wsi_common_get_memory( + swapchain_info->swapchain, swapchain_info->imageIndex); VkBindImageMemoryInfo swapchain_bind = { .sType = VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO, .image = pBindInfos[i].image, - .memory = v3dv_device_memory_to_handle(swapchain_image->planes[0].mem), - .memoryOffset = swapchain_image->planes[0].mem_offset, + .memory = wsi_mem_handle, + .memoryOffset = 0, }; bind_image_memory(&swapchain_bind); #endif diff --git a/src/broadcom/vulkan/v3dv_private.h b/src/broadcom/vulkan/v3dv_private.h index 5b7af8f3133..293db9c56aa 100644 --- a/src/broadcom/vulkan/v3dv_private.h +++ b/src/broadcom/vulkan/v3dv_private.h @@ -115,7 +115,7 @@ } while (0) struct v3dv_instance; - +struct v3dv_image; struct v3d_simulator_file; /* Minimum required by the Vulkan 1.1 spec */ @@ -205,8 +205,6 @@ v3dv_device_lookup_bo(struct v3dv_physical_device *device, uint32_t handle) VkResult v3dv_wsi_init(struct v3dv_physical_device *physical_device); void v3dv_wsi_finish(struct v3dv_physical_device *physical_device); -struct v3dv_image *v3dv_wsi_get_image_from_swapchain(VkSwapchainKHR swapchain, - uint32_t index); void v3dv_meta_clear_init(struct v3dv_device *device); void v3dv_meta_clear_finish(struct v3dv_device *device); diff --git a/src/broadcom/vulkan/v3dv_wsi.c b/src/broadcom/vulkan/v3dv_wsi.c index 5e09eebd189..a9d212c5769 100644 --- a/src/broadcom/vulkan/v3dv_wsi.c +++ b/src/broadcom/vulkan/v3dv_wsi.c @@ -128,10 +128,3 @@ v3dv_wsi_finish(struct v3dv_physical_device *physical_device) wsi_device_finish(&physical_device->wsi_device, &physical_device->vk.instance->alloc); } - -struct v3dv_image * -v3dv_wsi_get_image_from_swapchain(VkSwapchainKHR swapchain, uint32_t index) -{ - VkImage image = wsi_common_get_image(swapchain, index); - return v3dv_image_from_handle(image); -}