|
|
@@ -1476,11 +1476,13 @@ static SDL_PixelFormat GetClosestSupportedFormat(SDL_Renderer *renderer, SDL_Pix
|
|
|
}
|
|
|
} else {
|
|
|
bool hasAlpha = SDL_ISPIXELFORMAT_ALPHA(format);
|
|
|
+ bool isIndexed = SDL_ISPIXELFORMAT_INDEXED(format);
|
|
|
|
|
|
// We just want to match the first format that has the same channels
|
|
|
for (i = 0; i < renderer->num_texture_formats; ++i) {
|
|
|
if (!SDL_ISPIXELFORMAT_FOURCC(renderer->texture_formats[i]) &&
|
|
|
- SDL_ISPIXELFORMAT_ALPHA(renderer->texture_formats[i]) == hasAlpha) {
|
|
|
+ SDL_ISPIXELFORMAT_ALPHA(renderer->texture_formats[i]) == hasAlpha &&
|
|
|
+ SDL_ISPIXELFORMAT_INDEXED(renderer->texture_formats[i]) == isIndexed) {
|
|
|
return renderer->texture_formats[i];
|
|
|
}
|
|
|
}
|