diff --git a/src/freedreno/vulkan/tu_formats.c b/src/freedreno/vulkan/tu_formats.c index 9de84b6b42b..46b3c352bbf 100644 --- a/src/freedreno/vulkan/tu_formats.c +++ b/src/freedreno/vulkan/tu_formats.c @@ -45,6 +45,9 @@ enum pipe_format tu_vk_format_to_pipe_format(VkFormat vk_format) { switch (vk_format) { + case VK_FORMAT_R10X6_UNORM_PACK16: + case VK_FORMAT_R10X6G10X6_UNORM_2PACK16: + return PIPE_FORMAT_NONE; /* These fail some CTS tests */ case VK_FORMAT_G8B8G8R8_422_UNORM: /* YUYV */ return PIPE_FORMAT_R8G8_R8B8_UNORM; case VK_FORMAT_B8G8R8G8_422_UNORM: /* UYVY */ diff --git a/src/vulkan/util/vk_format.c b/src/vulkan/util/vk_format.c index 2b4049f32cf..36fb199bc42 100644 --- a/src/vulkan/util/vk_format.c +++ b/src/vulkan/util/vk_format.c @@ -261,6 +261,10 @@ vk_format_to_pipe_format(enum VkFormat vkformat) { if (vkformat >= ARRAY_SIZE(vk_format_map)) { switch (vkformat) { + case VK_FORMAT_R10X6_UNORM_PACK16: + return PIPE_FORMAT_R16_UNORM; + case VK_FORMAT_R10X6G10X6_UNORM_2PACK16: + return PIPE_FORMAT_R16G16_UNORM; case VK_FORMAT_G8B8G8R8_422_UNORM: return PIPE_FORMAT_YUYV; case VK_FORMAT_B8G8R8G8_422_UNORM: @@ -285,6 +289,8 @@ vk_format_to_pipe_format(enum VkFormat vkformat) return PIPE_FORMAT_Y16_U16V16_422_UNORM; case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM: return PIPE_FORMAT_Y16_U16_V16_444_UNORM; + case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: + return PIPE_FORMAT_P010; case VK_FORMAT_A4R4G4B4_UNORM_PACK16: return PIPE_FORMAT_B4G4R4A4_UNORM; case VK_FORMAT_A4B4G4R4_UNORM_PACK16: @@ -369,6 +375,8 @@ vk_format_get_plane_format(VkFormat format, unsigned plane_id) case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM: case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM: return VK_FORMAT_R16_UNORM; + case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: + return plane_id ? VK_FORMAT_R10X6G10X6_UNORM_2PACK16 : VK_FORMAT_R10X6_UNORM_PACK16; case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM: case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM: return plane_id ? VK_FORMAT_R16G16_UNORM : VK_FORMAT_R16_UNORM;