render/vulkan: track and use _UNORM variants of _SRGB formats

Later commits will start using _SRGB image views again,
where appropriate.
This commit is contained in:
Manuel Stoeckl 2023-10-21 21:04:04 -04:00 committed by Simon Ser
parent 6287b61025
commit eab89d6c76
4 changed files with 16 additions and 15 deletions

View file

@ -14,33 +14,33 @@ static const struct wlr_vk_format formats[] = {
// order.
{
.drm = DRM_FORMAT_R8,
.vk = VK_FORMAT_R8_SRGB,
.is_srgb = true,
.vk = VK_FORMAT_R8_UNORM,
.vk_srgb = VK_FORMAT_R8_SRGB,
},
{
.drm = DRM_FORMAT_GR88,
.vk = VK_FORMAT_R8G8_SRGB,
.is_srgb = true,
.vk = VK_FORMAT_R8G8_UNORM,
.vk_srgb = VK_FORMAT_R8G8_SRGB,
},
{
.drm = DRM_FORMAT_RGB888,
.vk = VK_FORMAT_B8G8R8_SRGB,
.is_srgb = true,
.vk = VK_FORMAT_B8G8R8_UNORM,
.vk_srgb = VK_FORMAT_B8G8R8_SRGB,
},
{
.drm = DRM_FORMAT_BGR888,
.vk = VK_FORMAT_R8G8B8_SRGB,
.is_srgb = true,
.vk = VK_FORMAT_R8G8B8_UNORM,
.vk_srgb = VK_FORMAT_R8G8B8_SRGB,
},
{
.drm = DRM_FORMAT_XRGB8888,
.vk = VK_FORMAT_B8G8R8A8_SRGB,
.is_srgb = true,
.vk = VK_FORMAT_B8G8R8A8_UNORM,
.vk_srgb = VK_FORMAT_B8G8R8A8_SRGB,
},
{
.drm = DRM_FORMAT_XBGR8888,
.vk = VK_FORMAT_R8G8B8A8_SRGB,
.is_srgb = true,
.vk = VK_FORMAT_R8G8B8A8_UNORM,
.vk_srgb = VK_FORMAT_R8G8B8A8_SRGB,
},
// The Vulkan _SRGB formats correspond to unpremultiplied alpha, but
// the Wayland protocol specifies premultiplied alpha on electrical values