From 9fa9edeadb846722429994a797ce293a30ec684d Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Thu, 23 Apr 2026 23:25:40 +0200 Subject: [PATCH] Prefer higher color depths in SDL_GetClosestFullscreenDisplayMode() --- src/video/SDL_video.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index 764eee219d..9026e47fad 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -1421,11 +1421,16 @@ bool SDL_GetClosestFullscreenDisplayMode(SDL_DisplayID displayID, int w, int h, continue; } - if (mode->w == closest->w && mode->h == closest->h && - SDL_fabsf(closest->refresh_rate - refresh_rate) < SDL_fabsf(mode->refresh_rate - refresh_rate)) { - /* We already found a mode and the new mode is further from our - * refresh rate target */ - continue; + if (mode->w == closest->w && mode->h == closest->h) { + if (SDL_fabsf(closest->refresh_rate - refresh_rate) < SDL_fabsf(mode->refresh_rate - refresh_rate)) { + /* We already found a mode and the new mode is further from our + * refresh rate target */ + continue; + } + if (SDL_BYTESPERPIXEL(closest->format) >= SDL_BYTESPERPIXEL(mode->format)) { + // Prefer the highest color depth + continue; + } } }