summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChia-I Wu <olvaffe@gmail.com>2022-01-13 12:34:41 -0800
committerMarge Bot <emma+marge@anholt.net>2022-01-14 17:41:42 +0000
commit37fa59fa6c1567bf2c745ee8f8709cd3cc275f44 (patch)
tree938a4dd0ee47545776d24f9e76a0027b696a936f
parente6d7e1ec634b80506240b4b3804aa5a2e7a4289e (diff)
anv,lavapipe,v3dv: use wsi_common_get_image
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> (anv) Reviewed-by: Emma Anholt <emma@anholt.net> Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com> (v3dv) Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> (lavapipe) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14544>
-rw-r--r--src/broadcom/vulkan/v3dv_wsi.c15
-rw-r--r--src/gallium/frontends/lavapipe/lvp_image.c15
-rw-r--r--src/intel/vulkan/anv_image.c15
3 files changed, 6 insertions, 39 deletions
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