From a036aeda3b27ce7e115ebf25e717adf0bdabe91e Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 20 Jan 2025 13:09:49 -0800 Subject: [PATCH] The Vulkan renderer doesn't actually support RGB texture formats Fixes https://github.com/libsdl-org/SDL/issues/10400 --- src/render/vulkan/SDL_render_vulkan.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/render/vulkan/SDL_render_vulkan.c b/src/render/vulkan/SDL_render_vulkan.c index c8fa594792..e61a88f58b 100644 --- a/src/render/vulkan/SDL_render_vulkan.c +++ b/src/render/vulkan/SDL_render_vulkan.c @@ -399,7 +399,7 @@ static SDL_PixelFormat VULKAN_VkFormatToSDLPixelFormat(VkFormat vkFormat) case VK_FORMAT_B8G8R8A8_UNORM: return SDL_PIXELFORMAT_ARGB8888; case VK_FORMAT_A2R10G10B10_UNORM_PACK32: - return SDL_PIXELFORMAT_XBGR2101010; + return SDL_PIXELFORMAT_ABGR2101010; case VK_FORMAT_R16G16B16A16_SFLOAT: return SDL_PIXELFORMAT_RGBA64_FLOAT; default: @@ -445,10 +445,9 @@ static VkFormat SDLPixelFormatToVkTextureFormat(Uint32 format, Uint32 output_col switch (format) { case SDL_PIXELFORMAT_RGBA64_FLOAT: return VK_FORMAT_R16G16B16A16_SFLOAT; - case SDL_PIXELFORMAT_XBGR2101010: + case SDL_PIXELFORMAT_ABGR2101010: return VK_FORMAT_A2B10G10R10_UNORM_PACK32; case SDL_PIXELFORMAT_ARGB8888: - case SDL_PIXELFORMAT_XRGB8888: if (output_colorspace == SDL_COLORSPACE_SRGB_LINEAR) { return VK_FORMAT_B8G8R8A8_SRGB; } @@ -4304,8 +4303,7 @@ static bool VULKAN_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SD renderer->name = VULKAN_RenderDriver.name; SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_ARGB8888); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_XRGB8888); - SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_XBGR2101010); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_ABGR2101010); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBA64_FLOAT); SDL_SetNumberProperty(SDL_GetRendererProperties(renderer), SDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER, 16384);