X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsdl.c;fp=src%2Flibgame%2Fsdl.c;h=c7a87297821c5fecb4e4c0cdae20f406711fc4a6;hp=ab914a4e17c71778fb10b56c050c58f345b48133;hb=47593c038f8d8155cbd1722d641c652a486f76bf;hpb=d2245fbf4b1bf52125ad6324df26a9426b29fc77 diff --git a/src/libgame/sdl.c b/src/libgame/sdl.c index ab914a4e..c7a87297 100644 --- a/src/libgame/sdl.c +++ b/src/libgame/sdl.c @@ -515,6 +515,14 @@ static boolean SDLCreateScreen(boolean fullscreen) #if 1 int renderer_flags = SDL_RENDERER_ACCELERATED | SDL_RENDERER_TARGETTEXTURE; + + video.vsync_mode = VSYNC_MODE_OFF; + + if (!strEqual(setup.vsync_mode, STR_VSYNC_MODE_OFF)) + { + renderer_flags |= SDL_RENDERER_PRESENTVSYNC; + video.vsync_mode = VSYNC_MODE_NORMAL; + } #else /* If SDL_CreateRenderer() is called from within a VirtualBox Windows VM _without_ enabling 2D/3D acceleration and/or guest additions installed, @@ -587,6 +595,7 @@ static boolean SDLCreateScreen(boolean fullscreen) // SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear"); SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, setup.window_scaling_quality); + // required for setting adaptive vsync when using OpenGL renderer SDLSetScreenVsyncMode(setup.vsync_mode); sdl_texture_stream = SDL_CreateTexture(sdl_renderer,