From: notaz Date: Fri, 23 May 2025 19:32:43 +0000 (+0300) Subject: sdl: try to reduce init mode changes yet more X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5510448224f75fc0505abe892b23fa1c0d33357e;p=libpicofe.git sdl: try to reduce init mode changes yet more --- diff --git a/plat_sdl.c b/plat_sdl.c index a9a56e8..031e162 100644 --- a/plat_sdl.c +++ b/plat_sdl.c @@ -255,15 +255,15 @@ int plat_sdl_init(void) g_menuscreen_h = h; } - plat_sdl_screen = SDL_SetVideoMode(g_menuscreen_w, g_menuscreen_h, 16, + plat_sdl_screen = SDL_SetVideoMode(g_menuscreen_w, g_menuscreen_h, 0, (flags = get_screen_flags())); if (plat_sdl_screen == NULL) { fprintf(stderr, "SDL_SetVideoMode failed: %s\n", SDL_GetError()); - plat_sdl_screen = SDL_SetVideoMode(0, 0, 16, (flags = get_screen_flags())); + plat_sdl_screen = SDL_SetVideoMode(0, 0, 0, (flags = get_screen_flags())); if (plat_sdl_screen == NULL) { fprintf(stderr, "attempting SDL_SWSURFACE fallback\n"); screen_flags = SDL_SWSURFACE; - plat_sdl_screen = SDL_SetVideoMode(0, 0, 16, (flags = get_screen_flags())); + plat_sdl_screen = SDL_SetVideoMode(0, 0, 0, (flags = get_screen_flags())); if (plat_sdl_screen == NULL) { fprintf(stderr, "SDL_SetVideoMode failed: %s\n", SDL_GetError()); goto fail; @@ -279,14 +279,6 @@ int plat_sdl_init(void) g_menuscreen_w = plat_sdl_screen->w; g_menuscreen_h = plat_sdl_screen->h; g_menuscreen_pp = g_menuscreen_w; - - // overlay/gl require native bpp in some cases... - plat_sdl_screen = SDL_SetVideoMode(g_menuscreen_w, g_menuscreen_h, - 0, (flags = get_screen_flags())); - if (plat_sdl_screen == NULL) { - fprintf(stderr, "SDL_SetVideoMode failed: %s\n", SDL_GetError()); - goto fail; - } screen_flags = flags; window_w = plat_sdl_screen->w; window_h = plat_sdl_screen->h; @@ -298,6 +290,7 @@ int plat_sdl_init(void) plat_sdl_overlay->format, plat_sdl_overlay->planes, *plat_sdl_overlay->pitches, plat_sdl_overlay->hw_overlay); + // some platforms require "native" bpp for this to work if (plat_sdl_overlay->hw_overlay) overlay_works = 1; else