From 252ddaf51be72dc84ad1f26311d5403920ff119c Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 14 Oct 2024 17:04:23 -0700 Subject: [PATCH] panvk: fix VkDrmFormatModifierPropertiesListEXT query Do not advertise unsupported formats. Fix the array type and init drmFormatModifierTilingFeatures. Part-of: --- src/panfrost/vulkan/panvk_physical_device.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/panfrost/vulkan/panvk_physical_device.c b/src/panfrost/vulkan/panvk_physical_device.c index a2e6956d58b..3bba2527a85 100644 --- a/src/panfrost/vulkan/panvk_physical_device.c +++ b/src/panfrost/vulkan/panvk_physical_device.c @@ -1068,16 +1068,18 @@ panvk_GetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice, VkDrmFormatModifierPropertiesListEXT *list = vk_find_struct( pFormatProperties->pNext, DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT); - if (list) { + if (list && pFormatProperties->formatProperties.linearTilingFeatures) { VK_OUTARRAY_MAKE_TYPED(VkDrmFormatModifierPropertiesEXT, out, list->pDrmFormatModifierProperties, &list->drmFormatModifierCount); - vk_outarray_append_typed(VkDrmFormatModifierProperties2EXT, &out, + vk_outarray_append_typed(VkDrmFormatModifierPropertiesEXT, &out, mod_props) { mod_props->drmFormatModifier = DRM_FORMAT_MOD_LINEAR; mod_props->drmFormatModifierPlaneCount = 1; + mod_props->drmFormatModifierTilingFeatures = + pFormatProperties->formatProperties.linearTilingFeatures; } } }