util/format: translate 422_UNORM and 420_UNORM vulkan formats

Signed-off-by: Jonathan Marek <jonathan@marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4590>
This commit is contained in:
Jonathan Marek
2020-04-07 23:40:37 -04:00
committed by Marge Bot
parent d0e11231a4
commit 75d7ee8029

View File

@@ -244,8 +244,20 @@ static const enum pipe_format vk_format_map[] = {
enum pipe_format
vk_format_to_pipe_format(enum VkFormat vkformat)
{
if (vkformat >= ARRAY_SIZE(vk_format_map))
if (vkformat >= ARRAY_SIZE(vk_format_map)) {
switch (vkformat) {
case VK_FORMAT_G8B8G8R8_422_UNORM:
return PIPE_FORMAT_YUYV;
case VK_FORMAT_B8G8R8G8_422_UNORM:
return PIPE_FORMAT_UYVY;
case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:
return PIPE_FORMAT_YV12;
case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:
return PIPE_FORMAT_NV12;
default:
return PIPE_FORMAT_NONE;
}
}
/* Unpopulated entries in the table must be PIPE_FORMAT_NONE */
STATIC_ASSERT(PIPE_FORMAT_NONE == 0);