Improve YCbCr Multiplane Format Support in vk_format.c
Currently, the multi-planar vk_format_get_plane_...()
helpers in vk_format.c
work through converting the input VkFormat
into PIPE_FORMAT
, obtain the format data using util
functions, and then at last return said data. However, PIPE_FORMAT
does not support all the YCbCr multiplane formats, despite supporting the individual formats of these planes. At the same time, the ycbcr_infos
struct was missing support for the 10-bit/12-bit YCbCr formats. Finally, VK_EXT_ycbcr_2plane_444_formats
formats weren't advertised as supported despite the underlying formats already being wired up. This patch aims to fix all that by supporting the missing formats and rewiring the vk_format
helpers to go through ycbcr_info
rather than PIPE_FORMAT, improving our YCbCr multi-plane format support.