|
|
@@ -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;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|