mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-13 05:11:01 +00:00
sdl2: use ABGR8888 texture on little endian system
This is a massive performance boost on slow processors, because before, the intermediary buffer had to be swizzled to ABGR8888 before being uploaded -- for large resolutions this was an enormous performance penalty.
This commit is contained in:
parent
345b59f6f5
commit
fc075e4c81
1 changed files with 7 additions and 1 deletions
|
@ -174,6 +174,7 @@ static void SDLSetMode(INT32 width, INT32 height, SDL_bool fullscreen)
|
||||||
int gmask;
|
int gmask;
|
||||||
int bmask;
|
int bmask;
|
||||||
int amask;
|
int amask;
|
||||||
|
int sw_texture_format = SDL_PIXELFORMAT_ABGR8888;
|
||||||
|
|
||||||
realwidth = vid.width;
|
realwidth = vid.width;
|
||||||
realheight = vid.height;
|
realheight = vid.height;
|
||||||
|
@ -229,7 +230,12 @@ static void SDLSetMode(INT32 width, INT32 height, SDL_bool fullscreen)
|
||||||
{
|
{
|
||||||
SDL_DestroyTexture(texture);
|
SDL_DestroyTexture(texture);
|
||||||
}
|
}
|
||||||
texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_STREAMING, width, height);
|
#ifdef SDL_BIG_ENDIAN
|
||||||
|
sw_texture_format = SDL_PIXELFORMAT_RGBA8888;
|
||||||
|
#else
|
||||||
|
sw_texture_format = SDL_PIXELFORMAT_ABGR8888;
|
||||||
|
#endif
|
||||||
|
texture = SDL_CreateTexture(renderer, sw_texture_format, SDL_TEXTUREACCESS_STREAMING, width, height);
|
||||||
|
|
||||||
// Set up SW surface
|
// Set up SW surface
|
||||||
if (vidSurface != NULL)
|
if (vidSurface != NULL)
|
||||||
|
|
Loading…
Reference in a new issue