diff --git a/src/render/metal/SDL_render_metal.m b/src/render/metal/SDL_render_metal.m index cd3d6551b2..37dd66b71c 100644 --- a/src/render/metal/SDL_render_metal.m +++ b/src/render/metal/SDL_render_metal.m @@ -644,6 +644,7 @@ static int METAL_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL switch (texture->format) { case SDL_PIXELFORMAT_ABGR8888: + case SDL_PIXELFORMAT_XBGR8888: if (renderer->output_colorspace == SDL_COLORSPACE_SRGB_LINEAR) { pixfmt = MTLPixelFormatRGBA8Unorm_sRGB; } else { @@ -651,6 +652,7 @@ static int METAL_CreateTexture(SDL_Renderer *renderer, SDL_Texture *texture, SDL } break; case SDL_PIXELFORMAT_ARGB8888: + case SDL_PIXELFORMAT_XRGB8888: if (renderer->output_colorspace == SDL_COLORSPACE_SRGB_LINEAR) { pixfmt = MTLPixelFormatBGRA8Unorm_sRGB; } else { @@ -2150,6 +2152,8 @@ static int METAL_CreateRenderer(SDL_Renderer *renderer, SDL_Window *window, SDL_ renderer->name = METAL_RenderDriver.name; SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_ARGB8888); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_ABGR8888); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_XRGB8888); + SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_XBGR8888); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_XBGR2101010); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBA64_FLOAT); SDL_AddSupportedTextureFormat(renderer, SDL_PIXELFORMAT_RGBA128_FLOAT);