diff options
author | GranMinigun <11149380+GranMinigun@users.noreply.github.com> | 2022-08-08 08:44:26 +0300 |
---|---|---|
committer | GranMinigun <11149380+GranMinigun@users.noreply.github.com> | 2022-08-08 11:43:01 +0300 |
commit | 73f52887c74f287f1e2b37e88cb466f988b72542 (patch) | |
tree | a17b550b32c6133f5534507efdff3047861ddba5 | |
parent | f0670763fe34f536ea2b06eea4d4eb0c58b02ab1 (diff) |
Move texture renderer override hintgm/fix-renderer-override-1
Fixes a regression caused by moving renderer creation.
It was not possible to set SDL renderer backend, due to hint
being set long after the renderer was created.
-rw-r--r-- | src/gui/sdlmain.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gui/sdlmain.cpp b/src/gui/sdlmain.cpp index b1cc4dba4..4f1cbf69d 100644 --- a/src/gui/sdlmain.cpp +++ b/src/gui/sdlmain.cpp @@ -1692,9 +1692,6 @@ dosurface: break; // SCREEN_SURFACE case SCREEN_TEXTURE: { - if (sdl.render_driver != "auto") - SDL_SetHint(SDL_HINT_RENDER_DRIVER, - sdl.render_driver.c_str()); SDL_SetHint(SDL_HINT_RENDER_VSYNC, wants_vsync ? "1" : "0"); if (!SetupWindowScaled(SCREEN_TEXTURE, false)) { @@ -3211,6 +3208,13 @@ static void set_output(Section *sec, bool should_stretch_pixels) sdl.render_driver = section->Get_string("texture_renderer"); lowcase(sdl.render_driver); + if (sdl.render_driver != "auto") { + if (SDL_SetHint(SDL_HINT_RENDER_DRIVER, + sdl.render_driver.c_str()) == SDL_FALSE) { + LOG_WARNING("SDL: Failed to set '%s' texture renderer driver; falling back to automatic selection", + sdl.render_driver.c_str()); + } + } sdl.desktop.window.show_decorations = section->Get_bool("window_decorations"); |