Apply vsync only if the window is hardware

This commit is contained in:
Joshua Granick
2015-08-20 15:52:16 -07:00
parent 5a008fa80d
commit 36515078c4

View File

@@ -22,19 +22,25 @@ namespace lime {
sdlFlags |= SDL_RENDERER_ACCELERATED; sdlFlags |= SDL_RENDERER_ACCELERATED;
if (window->flags & WINDOW_FLAG_VSYNC) {
sdlFlags |= SDL_RENDERER_PRESENTVSYNC;
}
} else { } else {
sdlFlags |= SDL_RENDERER_SOFTWARE; sdlFlags |= SDL_RENDERER_SOFTWARE;
} }
if (window->flags & WINDOW_FLAG_VSYNC) sdlFlags |= SDL_RENDERER_PRESENTVSYNC;
sdlRenderer = SDL_CreateRenderer (sdlWindow, -1, sdlFlags); sdlRenderer = SDL_CreateRenderer (sdlWindow, -1, sdlFlags);
if (!sdlRenderer && (sdlFlags & SDL_RENDERER_ACCELERATED)) { if (!sdlRenderer && (sdlFlags & SDL_RENDERER_ACCELERATED)) {
sdlFlags &= ~SDL_RENDERER_ACCELERATED; sdlFlags &= ~SDL_RENDERER_ACCELERATED;
sdlFlags &= ~SDL_RENDERER_PRESENTVSYNC;
sdlFlags |= SDL_RENDERER_SOFTWARE; sdlFlags |= SDL_RENDERER_SOFTWARE;
sdlRenderer = SDL_CreateRenderer (sdlWindow, -1, sdlFlags); sdlRenderer = SDL_CreateRenderer (sdlWindow, -1, sdlFlags);