mesa/src/vulkan/wsi
Daniel Stone b8eb0f88d3 vulkan/wsi/wayland: Correctly map 24bpp format types
VK_FORMAT_{R8G8B8,B8G8R8}_{UNORM,SRGB} describe a 3-component, 8bpc,
24bpp, format. This is mapped to that type for Android, and implemented
as such by panvk. radv maps these to 4-component/32bpp formats, but only
support these formats for buffers rather than images. The outlier is
ANV, which relies on the 24->32bpp mapping to happen.

The Wayland WSI was mapping this to the 32bpp R8G8B8A8/B8G8R8A8 formats
instead. This would cause a failure to import the dmabuf into the
compositor on panvk, as it would send a buffer which was too small. (Or,
if it did import: garbage.)

Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39552>
2026-02-17 19:25:19 +00:00
..
meson.build x11: Add an x11_xlib_display_is_thread_safe() helper 2025-07-16 01:32:56 +00:00
wsi_common.c vulkan/wsi/wayland: Correctly map 24bpp format types 2026-02-17 19:25:19 +00:00
wsi_common.h vulkan/wsi/wayland: Correctly map 24bpp format types 2026-02-17 19:25:19 +00:00
wsi_common_display.c vulkan/wsi: Fix realloc error handling in wsi_get_modifiers_for_format 2026-01-29 23:15:37 +00:00
wsi_common_display.h
wsi_common_drm.c wsi: Fix the flagging of dma_buf_sync_file for the amdgpu workaround. 2025-10-20 03:58:47 +00:00
wsi_common_drm.h vk/wsi: C++-proof wsi_common_drm.h 2023-03-24 15:49:25 +00:00
wsi_common_headless.c vulkan/wsi: Add no-op present timing support to most backends. 2026-01-27 11:09:50 +00:00
wsi_common_metal.c wsi/metal: Expose additional color spaces if instance extension enabled 2026-02-12 19:24:45 +00:00
wsi_common_metal_layer.h wsi/metal: Disable reference counting 2025-10-13 20:17:16 +00:00
wsi_common_metal_layer.m docs: update/fix vk spec urls 2025-10-22 09:23:34 +02:00
wsi_common_private.h wsi/common: Allow timestampValidBits < 64 for present timing. 2026-01-27 11:09:53 +00:00
wsi_common_queue.h vulkan/wsi/x11: Make sure error is returned if create_swapchain fails 2026-02-05 19:15:19 +00:00
wsi_common_wayland.c vulkan/wsi/wayland: Correctly map 24bpp format types 2026-02-17 19:25:19 +00:00
wsi_common_win32.cpp vulkan/wsi: Add no-op present timing support to most backends. 2026-01-27 11:09:50 +00:00
wsi_common_x11.c vulkan/wsi/x11: Make sure error is returned if create_swapchain fails 2026-02-05 19:15:19 +00:00