From: Bas Nieuwenhuizen Date: Mon, 29 Apr 2019 20:35:34 +0000 (+0200) Subject: radv: Restrict YUVY formats to 1 layer. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0c99b5ace888d1bb81d8f334e4ea019547fe69c4;p=mesa.git radv: Restrict YUVY formats to 1 layer. Fixes: 8bb3cec7c9b "radv: Expose VK_EXT_ycbcr_image_arrays." Reviewed-by: Samuel Pitoiset --- diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c index 74c39dc66c4..bee1c57e610 100644 --- a/src/amd/vulkan/radv_formats.c +++ b/src/amd/vulkan/radv_formats.c @@ -1094,6 +1094,7 @@ static VkResult radv_get_image_format_properties(struct radv_physical_device *ph uint32_t maxMipLevels; uint32_t maxArraySize; VkSampleCountFlags sampleCounts = VK_SAMPLE_COUNT_1_BIT; + const struct vk_format_description *desc = vk_format_description(info->format); radv_physical_device_get_format_properties(physical_device, info->format, &format_props); @@ -1137,6 +1138,12 @@ static VkResult radv_get_image_format_properties(struct radv_physical_device *ph break; } + if (desc->layout == VK_FORMAT_LAYOUT_SUBSAMPLED) { + /* Might be able to support but the entire format support is + * messy, so taking the lazy way out. */ + maxArraySize = 1; + } + if (info->tiling == VK_IMAGE_TILING_OPTIMAL && info->type == VK_IMAGE_TYPE_2D && (format_feature_flags & (VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT |