From a740318e4258a0da4f08d019e19146966943cc03 Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Fri, 12 Feb 2021 15:08:32 +0100 Subject: [PATCH] radv: Properly handle modifier import failure. The layout code can fail now in the non-delayed case with modifiers. Fixes: 7f7da82dbb7 ("radv: Add image layout with drm format modifiers.") Reviewed-by: Simon Ser Part-of: --- src/amd/vulkan/radv_image.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_image.c b/src/amd/vulkan/radv_image.c index e1410d9143c..6a9e01187a6 100644 --- a/src/amd/vulkan/radv_image.c +++ b/src/amd/vulkan/radv_image.c @@ -1643,8 +1643,11 @@ radv_image_create(VkDevice _device, return VK_SUCCESS; } - ASSERTED VkResult result = radv_image_create_layout(device, *create_info, explicit_mod, image); - assert(result == VK_SUCCESS); + VkResult result = radv_image_create_layout(device, *create_info, explicit_mod, image); + if (result != VK_SUCCESS) { + radv_destroy_image(device, alloc, image); + return result; + } if (image->flags & VK_IMAGE_CREATE_SPARSE_BINDING_BIT) { image->alignment = MAX2(image->alignment, 4096);