Version 2.0.8 of the popular open source 2D framework SDL (Simple DirectMedia Layer) was released today. This long running framework has been used in several cross platform commercial games and provides the low level functionality required to create a game such as window creation, input handling, audio playback and more. This release includes new functionality including Metal support on iOS/Mac, as well as several improvements and bug fixes.
Details from the release announcement:
General:
- Added SDL_fmod() and SDL_log10()
- Each of the SDL math functions now has the corresponding float version
- Added SDL_SetYUVConversionMode() and SDL_GetYUVConversionMode() to control the formula used when converting to and from YUV colorspace. The options are JPEG, BT.601, and BT.709
Windows:
- Implemented WASAPI support on Windows UWP and removed the deprecated XAudio2 implementation
- Added resampling support on WASAPI on Windows 7 and above
Windows UWP:
- Added SDL_WinRTGetDeviceFamily() to find out what type of device your application is running on
Mac OS X:
- Added support for the Vulkan SDK for Mac:
https://www.lunarg.com/lunarg-releases-vulkan-sdk-1-0-69-0-for-mac/1- Added support for OpenGL ES using ANGLE when it’s available
Mac OS X / iOS / tvOS:
- Added a Metal 2D render implementation
- Added SDL_RenderGetMetalLayer() and SDL_RenderGetMetalCommandEncoder() to insert your own drawing into SDL rendering when using the Metal implementation
iOS:
- Added the hint SDL_HINT_IOS_HIDE_HOME_INDICATOR to control whether the home indicator bar on iPhone X should be hidden. This defaults to dimming the indicator for fullscreen applications and showing the indicator for windowed applications.
iOS / Android:
- Added the hint SDL_HINT_RETURN_KEY_HIDES_IME to control whether the return key on the software keyboard should hide the keyboard or send a key event (the default)
Android:
- SDL now supports building with Android Studio and Gradle by default, and the old Ant project is available in android-project-ant
- SDL now requires the API 19 SDK to build, but can still target devices down to API 14 (Android 4.0.1)
- Added SDL_IsAndroidTV() to tell whether the application is running on Android TV
Android / tvOS:
- Added the hint SDL_HINT_TV_REMOTE_AS_JOYSTICK to control whether TV remotes should be listed as joystick devices (the default) or send keyboard events.
Linux:
- Added the hint SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR to control whether the X server should skip the compositor for the SDL application. This defaults to “1”
- Added the hint SDL_HINT_VIDEO_DOUBLE_BUFFER to control whether the Raspberry Pi and KMSDRM video drivers should use double or triple buffering (the default)
In addition to the SDL release, SDL_Image 2.0.3 was also released. SDL_Image is an image file loading library that works with SDL. The SDL 2.0.3 release was entirely around dealing with some security related issues.