- radv_init_surface(device, image, &image->planes[plane].surface, plane, pCreateInfo);
+ radv_init_surface(device, image, &image->planes[plane].surface, plane, pCreateInfo, format);
+ }
+
+ bool delay_layout = external_info &&
+ (external_info->handleTypes & VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID);
+
+ if (delay_layout) {
+ *pImage = radv_image_to_handle(image);
+ assert (!(image->flags & VK_IMAGE_CREATE_SPARSE_BINDING_BIT));
+ return VK_SUCCESS;