1
0
mirror of https://github.com/k4zmu2a/SpaceCadetPinball.git synced 2024-11-22 10:42:38 +01:00

Added fallback to SW SDL renderer.

This commit is contained in:
Muzychenko Andrey 2021-10-30 10:12:30 +03:00
parent 917b68d630
commit e61bbd634c

View File

@ -88,18 +88,25 @@ int winmain::WinMain(LPCSTR lpCmdLine)
return 1; return 1;
} }
SDL_Renderer* renderer = SDL_CreateRenderer // If HW fails, fallback to SW SDL renderer.
SDL_Renderer* renderer = nullptr;
for (int i = 0; i < 2 && !renderer; i++)
{
Renderer = renderer = SDL_CreateRenderer
( (
window, window,
-1, -1,
SDL_RENDERER_ACCELERATED i == 0 ? SDL_RENDERER_ACCELERATED : SDL_RENDERER_SOFTWARE
); );
Renderer = renderer; }
if (!renderer) if (!renderer)
{ {
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Could not create renderer", SDL_GetError(), window); SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Could not create renderer", SDL_GetError(), window);
return 1; return 1;
} }
SDL_RendererInfo rendererInfo{};
if (!SDL_GetRendererInfo(renderer, &rendererInfo))
printf("Using SDL renderer: %s\n", rendererInfo.name);
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "nearest"); SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "nearest");