diff --git a/src/broadcom/vulkan/v3dv_wsi.c b/src/broadcom/vulkan/v3dv_wsi.c index a18e0eaf57b..cd89b2621f2 100644 --- a/src/broadcom/vulkan/v3dv_wsi.c +++ b/src/broadcom/vulkan/v3dv_wsi.c @@ -141,19 +141,8 @@ v3dv_CreateSwapchainKHR( struct v3dv_image * v3dv_wsi_get_image_from_swapchain(VkSwapchainKHR swapchain, uint32_t index) { - uint32_t n_images = index + 1; - VkImage *images = malloc(sizeof(*images) * n_images); - VkResult result = wsi_common_get_images(swapchain, &n_images, images); - - if (result != VK_SUCCESS && result != VK_INCOMPLETE) { - free(images); - return NULL; - } - - V3DV_FROM_HANDLE(v3dv_image, image, images[index]); - free(images); - - return image; + VkImage image = wsi_common_get_image(swapchain, index); + return v3dv_image_from_handle(image); } VKAPI_ATTR VkResult VKAPI_CALL diff --git a/src/gallium/frontends/lavapipe/lvp_image.c b/src/gallium/frontends/lavapipe/lvp_image.c index d0ac7a4932a..bf53dc66ea8 100644 --- a/src/gallium/frontends/lavapipe/lvp_image.c +++ b/src/gallium/frontends/lavapipe/lvp_image.c @@ -111,19 +111,8 @@ struct lvp_image * lvp_swapchain_get_image(VkSwapchainKHR swapchain, uint32_t index) { - uint32_t n_images = index + 1; - VkImage *images = malloc(sizeof(*images) * n_images); - VkResult result = wsi_common_get_images(swapchain, &n_images, images); - - if (result != VK_SUCCESS && result != VK_INCOMPLETE) { - free(images); - return NULL; - } - - LVP_FROM_HANDLE(lvp_image, image, images[index]); - free(images); - - return image; + VkImage image = wsi_common_get_image(swapchain, index); + return lvp_image_from_handle(image); } static VkResult diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index ae8a865d34f..8391c736a6a 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -1421,19 +1421,8 @@ static struct anv_image * anv_swapchain_get_image(VkSwapchainKHR swapchain, uint32_t index) { - uint32_t n_images = index + 1; - VkImage *images = malloc(sizeof(*images) * n_images); - VkResult result = wsi_common_get_images(swapchain, &n_images, images); - - if (result != VK_SUCCESS && result != VK_INCOMPLETE) { - free(images); - return NULL; - } - - ANV_FROM_HANDLE(anv_image, image, images[index]); - free(images); - - return image; + VkImage image = wsi_common_get_image(swapchain, index); + return anv_image_from_handle(image); } static VkResult