Prefer display modes that exactly match the desired format or refresh rate

This commit is contained in:
Cameron Cawley
2024-04-12 22:01:04 +01:00
committed by Sam Lantinga
parent 596096a86a
commit 6c6b497f89

View File

@@ -994,7 +994,7 @@ static SDL_DisplayMode *SDL_GetClosestDisplayModeForDisplay(SDL_VideoDisplay *di
match = current;
continue;
}
if (current->format != match->format) {
if (current->format != match->format && match->format != target_format) {
/* Sorted highest depth to lowest */
if (current->format == target_format ||
(SDL_BITSPERPIXEL(current->format) >=
@@ -1005,7 +1005,7 @@ static SDL_DisplayMode *SDL_GetClosestDisplayModeForDisplay(SDL_VideoDisplay *di
}
continue;
}
if (current->refresh_rate != match->refresh_rate) {
if (current->refresh_rate != match->refresh_rate && match->refresh_rate != target_refresh_rate) {
/* Sorted highest refresh to lowest */
if (current->refresh_rate >= target_refresh_rate) {
match = current;