-
Sam Lantinga authored
in SDL 1.3 (revision 5508 from SVN), the method used to calculate the bits per pixel from a “int format” differ between “SDL_ListModes” (which always uses the “SDL_BITSPERPIXEL” macro) and “SDL_PixelFormatEnumTo- Masks” (which uses either “SDL_BITSPERPIXEL” or “SDL_BYTESPERPIXEL * 8”, depending on the value of “SDL_BYTESPERPIXEL”). Because the values are later compared in “SDL_ListModes” this may lead to some valid video modes not being returned. In my case the only mode returned by “SDL_GetNumDisplayModes” was dismissed and NULL was returned. (This led to the calling application sticking its head in the sand.) The attached patch copies the method used within “SDL_PixelFormatEnumTo- Masks” to “SDL_ListModes”. This solved the problem for me though I don't fully understand the method used by “SDL_PixelFormatEnumToMasks”.
e3408530
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
atomic | ||
audio | ||
cpuinfo | ||
events | ||
file | ||
haptic | ||
joystick | ||
libm | ||
loadso | ||
main | ||
power | ||
stdlib | ||
thread | ||
timer | ||
video | ||
SDL.c | ||
SDL_android.cpp | ||
SDL_android.h | ||
SDL_assert.c | ||
SDL_assert_c.h | ||
SDL_compat.c | ||
SDL_error.c | ||
SDL_error_c.h | ||
SDL_fatal.c | ||
SDL_fatal.h |