Check to see if a particular video mode is supported.
#include "SDL.h"
int SDL_VideoModeOK(int width, int height, int bpp, Uint32 flags);
SDL_VideoModeOK returns 0 if the requested mode is not supported under any bit depth, or returns the bits-per-pixel of the closest available mode with the given width, height and requested surface flags (see SDL_SetVideoMode).
The bits-per-pixel value returned is only a suggested mode. You can usually request and bpp you want when setting the video mode and SDL will emulate that color depth with a shadow video surface.
The arguments to SDL_VideoModeOK are the same ones you would pass to SDL_SetVideoMode
SDL_Surface *screen; Uint32 bpp; . . . printf("Checking mode 640x480@16bpp. "); bpp=SDL_VideoModeOK(640, 480, 16, SDL_HWSURFACE); if(!bpp){ printf("Mode not available. "); exit(-1); } printf("SDL Recommends 640x480@%dbpp. ", bpp); screen=SDL_SetVideoMode(640, 480, bpp, SDL_HWSURFACE); . .
SDL_SetVideoMode, SDL_GetVideoInfo