panvk: fix VkDrmFormatModifierPropertiesListEXT query

Do not advertise unsupported formats.  Fix the array type and init
drmFormatModifierTilingFeatures.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31719>
This commit is contained in:
Chia-I Wu 2024-10-14 17:04:23 -07:00 committed by Marge Bot
parent b3266db918
commit 252ddaf51b

View file

@ -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;
}
}
}