From b717a438261ad53bcc8c27e8a36cfd7e7a7b579f Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Mon, 12 Jun 2023 10:35:42 -0700 Subject: [PATCH] dzn: Don't support VK R4G4B4A4_UNORM_PACK16 unless we have B4G4R4A4 Fixes: a4ce095bad9 ("dzn: Use A4B4G4R4 instead of B4G4R4A4 when available") Part-of: --- src/microsoft/vulkan/dzn_image.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/microsoft/vulkan/dzn_image.c b/src/microsoft/vulkan/dzn_image.c index 18622360e06..41784eebe37 100644 --- a/src/microsoft/vulkan/dzn_image.c +++ b/src/microsoft/vulkan/dzn_image.c @@ -276,8 +276,12 @@ dzn_image_get_dxgi_format(const struct dzn_physical_device *pdev, { enum pipe_format pfmt = vk_format_to_pipe_format(format); - if (pfmt == PIPE_FORMAT_A4R4G4B4_UNORM && !pdev->support_a4b4g4r4) - return DXGI_FORMAT_B4G4R4A4_UNORM; + if (pdev && !pdev->support_a4b4g4r4) { + if (pfmt == PIPE_FORMAT_A4R4G4B4_UNORM) + return DXGI_FORMAT_B4G4R4A4_UNORM; + if (pfmt == PIPE_FORMAT_A4B4G4R4_UNORM) + return DXGI_FORMAT_UNKNOWN; + } if (!vk_format_is_depth_or_stencil(format)) return dzn_pipe_to_dxgi_format(pfmt);