video: Select the closest mode for the target refresh rate accounting for small variations

Use the delta of the target refresh rate and the refresh rate of the mode to select the closest matching display mode, as the actual closest mode may have a slightly lower rate than the target by a small fraction of a hz (e.g 59.98 vs 60.0).
This commit is contained in:
Frank Praznik
2023-02-12 15:48:59 -05:00
parent 3f5ef7dd42
commit 4187c6c08c

View File

@@ -1055,8 +1055,8 @@ const SDL_DisplayMode *SDL_GetClosestFullscreenDisplayMode(SDL_DisplayID display
continue;
}
if (mode->refresh_rate < refresh_rate) {
/* We already found a mode and the new mode doesn't meet our
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;
}