foxygit / doom Log in
commit e55356d93a1408ca9db9a8cc57ec243f9fc8f99a
Author:     Fabian Greffrath <fabian@greffrath.com>
AuthorDate: Tue Apr 6 12:38:12 2021 +0200
Commit:     GitHub <noreply@github.com>
CommitDate: Tue Apr 6 12:38:12 2021 +0200

    textscreen: try to create a VSync enabled renderer first (#1365)

    Fall back to creating a software renderer only if that fails.

    @vanfanel
---
 textscreen/txt_sdl.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/textscreen/txt_sdl.c b/textscreen/txt_sdl.c
index ab6cd4dc..51aaf9bb 100644
--- a/textscreen/txt_sdl.c
+++ b/textscreen/txt_sdl.c
@@ -253,7 +253,13 @@ int TXT_Init(void)
     if (TXT_SDLWindow == NULL)
         return 0;

-    renderer = SDL_CreateRenderer(TXT_SDLWindow, -1, SDL_RENDERER_SOFTWARE);
+    renderer = SDL_CreateRenderer(TXT_SDLWindow, -1, SDL_RENDERER_PRESENTVSYNC);
+
+    if (renderer == NULL)
+        renderer = SDL_CreateRenderer(TXT_SDLWindow, -1, SDL_RENDERER_SOFTWARE);
+
+    if (renderer == NULL)
+        return 0;

     // Special handling for OS X retina display. If we successfully set the
     // highdpi flag, check the output size for the screen renderer. If we get