mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-10-15 22:35:59 +00:00
The Vulkan renderer doesn't actually support RGB texture formats
Fixes https://github.com/libsdl-org/SDL/issues/10400
This commit is contained in:
@@ -399,7 +399,7 @@ static SDL_PixelFormat VULKAN_VkFormatToSDLPixelFormat(VkFormat vkFormat)
|
|||||||
case VK_FORMAT_B8G8R8A8_UNORM:
|
case VK_FORMAT_B8G8R8A8_UNORM:
|
||||||
return SDL_PIXELFORMAT_ARGB8888;
|
return SDL_PIXELFORMAT_ARGB8888;
|
||||||
case VK_FORMAT_A2R10G10B10_UNORM_PACK32:
|
case VK_FORMAT_A2R10G10B10_UNORM_PACK32:
|
||||||
return SDL_PIXELFORMAT_XBGR2101010;
|
return SDL_PIXELFORMAT_ABGR2101010;
|
||||||
case VK_FORMAT_R16G16B16A16_SFLOAT:
|
case VK_FORMAT_R16G16B16A16_SFLOAT:
|
||||||
return SDL_PIXELFORMAT_RGBA64_FLOAT;
|
return SDL_PIXELFORMAT_RGBA64_FLOAT;
|
||||||
default:
|
default:
|
||||||
@@ -445,10 +445,9 @@ static VkFormat SDLPixelFormatToVkTextureFormat(Uint32 format, Uint32 output_col
|
|||||||
switch (format) {
|
switch (format) {
|
||||||
case SDL_PIXELFORMAT_RGBA64_FLOAT:
|
case SDL_PIXELFORMAT_RGBA64_FLOAT:
|
||||||
return VK_FORMAT_R16G16B16A16_SFLOAT;
|
return VK_FORMAT_R16G16B16A16_SFLOAT;
|
||||||
case SDL_PIXELFORMAT_XBGR2101010:
|
case SDL_PIXELFORMAT_ABGR2101010:
|
||||||
return VK_FORMAT_A2B10G10R10_UNORM_PACK32;
|
return VK_FORMAT_A2B10G10R10_UNORM_PACK32;
|
||||||
case SDL_PIXELFORMAT_ARGB8888:
|
case SDL_PIXELFORMAT_ARGB8888:
|
||||||
case SDL_PIXELFORMAT_XRGB8888:
|
|
||||||
if (output_colorspace == SDL_COLORSPACE_SRGB_LINEAR) {
|
if (output_colorspace == SDL_COLORSPACE_SRGB_LINEAR) {
|
||||||
return VK_FORMAT_B8G8R8A8_SRGB;
|
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;
|
renderer->name = VULKAN_RenderDriver.name;
|
||||||
SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_ARGB8888);
|
SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_ARGB8888);
|
||||||
SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_XRGB8888);
|
SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_ABGR2101010);
|
||||||
SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_XBGR2101010);
|
|
||||||
SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBA64_FLOAT);
|
SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBA64_FLOAT);
|
||||||
SDL_SetNumberProperty(SDL_GetRendererProperties(renderer), SDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER, 16384);
|
SDL_SetNumberProperty(SDL_GetRendererProperties(renderer), SDL_PROP_RENDERER_MAX_TEXTURE_SIZE_NUMBER, 16384);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user