From 96acd0933eeb638ce2399a2dd8bf03906c765120 Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Wed, 26 Jan 2022 07:53:59 +0000 Subject: [PATCH] tu: VkExternalImageFormatProperties is optional ..even if external image info has valid external handles. Fixes: 26380b3a9f8 ("turnip: Add driver skeleton (v2)") Signed-off-by: Yiwei Zhang Part-of: --- src/freedreno/vulkan/tu_formats.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/freedreno/vulkan/tu_formats.c b/src/freedreno/vulkan/tu_formats.c index 934c46ed423..91b5023fe0f 100644 --- a/src/freedreno/vulkan/tu_formats.c +++ b/src/freedreno/vulkan/tu_formats.c @@ -486,7 +486,7 @@ tu_get_external_image_format_properties( const struct tu_physical_device *physical_device, const VkPhysicalDeviceImageFormatInfo2 *pImageFormatInfo, VkExternalMemoryHandleTypeFlagBits handleType, - VkExternalMemoryProperties *external_properties) + VkExternalImageFormatProperties *external_properties) { VkExternalMemoryFeatureFlagBits flags = 0; VkExternalMemoryHandleTypeFlags export_flags = 0; @@ -528,11 +528,14 @@ tu_get_external_image_format_properties( handleType); } - *external_properties = (VkExternalMemoryProperties) { - .externalMemoryFeatures = flags, - .exportFromImportedHandleTypes = export_flags, - .compatibleHandleTypes = compat_flags, - }; + if (external_properties) { + external_properties->externalMemoryProperties = + (VkExternalMemoryProperties) { + .externalMemoryFeatures = flags, + .exportFromImportedHandleTypes = export_flags, + .compatibleHandleTypes = compat_flags, + }; + } return VK_SUCCESS; } @@ -599,7 +602,7 @@ tu_GetPhysicalDeviceImageFormatProperties2( if (external_info && external_info->handleType != 0) { result = tu_get_external_image_format_properties( physical_device, base_info, external_info->handleType, - &external_props->externalMemoryProperties); + external_props); if (result != VK_SUCCESS) goto fail; }