radv: Restrict YUVY formats to 1 layer.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Mon, 29 Apr 2019 20:35:34 +0000 (22:35 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Thu, 2 May 2019 00:29:51 +0000 (02:29 +0200)
Fixes: 8bb3cec7c9b "radv: Expose VK_EXT_ycbcr_image_arrays."
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/amd/vulkan/radv_formats.c

index 74c39dc66c4cc5dad891026280ff1371ac79e497..bee1c57e610fe4096b7db1b241e74325cf5dd30f 100644 (file)
@@ -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 |