From 477ed722beca0b0bd560306ca8a904cc5414fca4 Mon Sep 17 00:00:00 2001 From: Cameron Cawley Date: Wed, 13 May 2026 18:37:07 +0100 Subject: [PATCH] Add fast paths for BGR555 and BGR565 normal blits --- src/video/SDL_blit_N.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/video/SDL_blit_N.c b/src/video/SDL_blit_N.c index b014d4233a..1766edc9d7 100644 --- a/src/video/SDL_blit_N.c +++ b/src/video/SDL_blit_N.c @@ -2998,6 +2998,14 @@ static const struct blit_table normal_blit_2[] = { 0, Blit_RGB565_RGBA8888, NO_ALPHA | COPY_ALPHA | SET_ALPHA }, { 0x0000F800, 0x000007E0, 0x0000001F, 4, 0x0000FF00, 0x00FF0000, 0xFF000000, 0, Blit_RGB565_BGRA8888, NO_ALPHA | COPY_ALPHA | SET_ALPHA }, + { 0x0000001F, 0x000007E0, 0x0000F800, 4, 0x000000FF, 0x0000FF00, 0x00FF0000, + 0, Blit_RGB565_ARGB8888, NO_ALPHA | COPY_ALPHA | SET_ALPHA }, + { 0x0000001F, 0x000007E0, 0x0000F800, 4, 0x00FF0000, 0x0000FF00, 0x000000FF, + 0, Blit_RGB565_ABGR8888, NO_ALPHA | COPY_ALPHA | SET_ALPHA }, + { 0x0000001F, 0x000007E0, 0x0000F800, 4, 0x0000FF00, 0x00FF0000, 0xFF000000, + 0, Blit_RGB565_RGBA8888, NO_ALPHA | COPY_ALPHA | SET_ALPHA }, + { 0x0000001F, 0x000007E0, 0x0000F800, 4, 0xFF000000, 0x00FF0000, 0x0000FF00, + 0, Blit_RGB565_BGRA8888, NO_ALPHA | COPY_ALPHA | SET_ALPHA }, #endif // Default for 16-bit RGB source, used if no other blitter matches { 0, 0, 0, 0, 0, 0, 0, 0, BlitNtoN, 0 } @@ -3077,8 +3085,12 @@ static const struct blit_table normal_blit_4[] = { // RGB 888 and RGB 565 { 0x00FF0000, 0x0000FF00, 0x000000FF, 2, 0x0000F800, 0x000007E0, 0x0000001F, 0, Blit_XRGB8888_RGB565, NO_ALPHA }, + { 0x000000FF, 0x0000FF00, 0x00FF0000, 2, 0x0000001F, 0x000007E0, 0x0000F800, + 0, Blit_XRGB8888_RGB565, NO_ALPHA }, { 0x00FF0000, 0x0000FF00, 0x000000FF, 2, 0x00007C00, 0x000003E0, 0x0000001F, 0, Blit_XRGB8888_RGB555, NO_ALPHA }, + { 0x000000FF, 0x0000FF00, 0x00FF0000, 2, 0x0000001F, 0x000003E0, 0x00007C00, + 0, Blit_XRGB8888_RGB555, NO_ALPHA }, // Default for 32-bit RGB source, used if no other blitter matches { 0, 0, 0, 0, 0, 0, 0, 0, BlitNtoN, 0 } };