From b4d47e21d7004412a16c12b762239dbeee665752 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Fri, 8 Nov 2019 12:22:00 +0100 Subject: [PATCH] zink: correct depth-stencil format When using packed vulkan-formats on little-endian systems, we need to swap the components for the gallium formats. And since Zink isn't big-endian safe yet, little-endian is the only endianess we care about right now. This fixes a bunch of piglit tests, amongs others: - spec@arb_depth_texture@depth-level-clamp - spec@arb_depth_texture@depthstencil-render-miplevels * d=z24 - spec@arb_depth_texture@fbo-depth-gl_depth_component24-blit - spec@arb_depth_texture@fbo-depth-gl_depth_component24-copypixels - spec@arb_depth_texture@fbo-depth-gl_depth_component24-drawpixels - spec@arb_depth_texture@fbo-depth-gl_depth_component24-readpixels Signed-off-by: Erik Faye-Lund Fixes: 8d46e35d16e ("zink: introduce opengl over vulkan") --- src/gallium/drivers/zink/zink_screen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 049362b6519..1a8923e2175 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -553,7 +553,7 @@ static const VkFormat formats[PIPE_FORMAT_COUNT] = { [PIPE_FORMAT_Z32_FLOAT] = VK_FORMAT_D32_SFLOAT, [PIPE_FORMAT_Z32_FLOAT_S8X24_UINT] = VK_FORMAT_D32_SFLOAT_S8_UINT, [PIPE_FORMAT_Z16_UNORM] = VK_FORMAT_D16_UNORM, - [PIPE_FORMAT_X8Z24_UNORM] = VK_FORMAT_X8_D24_UNORM_PACK32, + [PIPE_FORMAT_Z24X8_UNORM] = VK_FORMAT_X8_D24_UNORM_PACK32, [PIPE_FORMAT_Z24_UNORM_S8_UINT] = VK_FORMAT_D24_UNORM_S8_UINT, // compressed formats -- 2.30.2