diff --git a/.pick_status.json b/.pick_status.json index 46c27f4b42e..322357200d6 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -3118,7 +3118,7 @@ "description": "vulkan/wsi/wayland: Fix add_wl_shm_format alpha/opaqueness.", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "d944136f3635aeacd97e167176c968c5078d92d7" }, diff --git a/src/vulkan/wsi/wsi_common_wayland.c b/src/vulkan/wsi/wsi_common_wayland.c index 09a4f67b226..eb17270539f 100644 --- a/src/vulkan/wsi/wsi_common_wayland.c +++ b/src/vulkan/wsi/wsi_common_wayland.c @@ -336,11 +336,17 @@ wsi_wl_display_add_wl_shm_format(struct wsi_wl_display *display, case WL_SHM_FORMAT_XBGR8888: wsi_wl_display_add_vk_format(display, formats, VK_FORMAT_R8G8B8_SRGB, - false, true); + true, true); wsi_wl_display_add_vk_format(display, formats, VK_FORMAT_R8G8B8_UNORM, + true, true); + wsi_wl_display_add_vk_format(display, formats, + VK_FORMAT_R8G8B8A8_SRGB, false, true); - FALLTHROUGH; + wsi_wl_display_add_vk_format(display, formats, + VK_FORMAT_R8G8B8A8_UNORM, + false, true); + break; case WL_SHM_FORMAT_ABGR8888: wsi_wl_display_add_vk_format(display, formats, VK_FORMAT_R8G8B8A8_SRGB, @@ -352,11 +358,17 @@ wsi_wl_display_add_wl_shm_format(struct wsi_wl_display *display, case WL_SHM_FORMAT_XRGB8888: wsi_wl_display_add_vk_format(display, formats, VK_FORMAT_B8G8R8_SRGB, - false, true); + true, true); wsi_wl_display_add_vk_format(display, formats, VK_FORMAT_B8G8R8_UNORM, + true, true); + wsi_wl_display_add_vk_format(display, formats, + VK_FORMAT_B8G8R8A8_SRGB, false, true); - FALLTHROUGH; + wsi_wl_display_add_vk_format(display, formats, + VK_FORMAT_B8G8R8A8_UNORM, + false, true); + break; case WL_SHM_FORMAT_ARGB8888: wsi_wl_display_add_vk_format(display, formats, VK_FORMAT_B8G8R8A8_SRGB,