SDL 2.0.6 Released

SDL 2.0.6 has been released.  SDL, the Simple Directmedia Layer, is a low level C framework providing cross platform low level services for 2DSdl-logo game developers.  SDL has been used for such titles as FTL:Faster than Light, Axiom Verge and Starbound and hundreds of other titles.  It provides access to graphics, gamepad, windowing and more.  It is completely free and open source.  The 2.0.6 release contains several bug fixes as well as new cross platform Vulkan support.

Details of this release:

General:

  • Added cross-platform Vulkan graphics support in SDL_vulkan.h
    SDL_Vulkan_LoadLibrary()
    SDL_Vulkan_GetVkGetInstanceProcAddr()
    SDL_Vulkan_GetInstanceExtensions()
    SDL_Vulkan_CreateSurface()
    SDL_Vulkan_GetDrawableSize()
    SDL_Vulkan_UnloadLibrary()
    This is all the platform-specific code you need to bring up Vulkan on all SDL platforms. You can look at an example in test/testvulkan.c
  • Added SDL_ComposeCustomBlendMode() to create custom blend modes for 2D rendering
  • Added SDL_HasNEON() which returns whether the CPU has NEON instruction support
  • Added support for many game controllers, including the Nintendo Switch Pro Controller
  • Added support for inverted axes and separate axis directions in game controller mappings
  • Added functions to return information about a joystick before it’s opened:
    SDL_JoystickGetDeviceVendor()
    SDL_JoystickGetDeviceProduct()
    SDL_JoystickGetDeviceProductVersion()
    SDL_JoystickGetDeviceType()
    SDL_JoystickGetDeviceInstanceID()
  • Added functions to return information about an open joystick:
    SDL_JoystickGetVendor()
    SDL_JoystickGetProduct()
    SDL_JoystickGetProductVersion()
    SDL_JoystickGetType()
    SDL_JoystickGetAxisInitialState()
  • Added functions to return information about an open game controller:
    SDL_GameControllerGetVendor()
    SDL_GameControllerGetProduct()
    SDL_GameControllerGetProductVersion()
  • Added SDL_GameControllerNumMappings() and SDL_GameControllerMappingForIndex() to be able to enumerate the built-in game controller mappings
  • Added SDL_LoadFile() and SDL_LoadFile_RW() to load a file into memory
  • Added SDL_DuplicateSurface() to make a copy of a surface
  • Added an experimental JACK audio driver
  • Implemented non-power-of-two audio resampling, optionally using libsamplerate to perform the resampling
  • Added the hint SDL_HINT_AUDIO_RESAMPLING_MODE to control the quality of resampling
  • Added the hint SDL_HINT_RENDER_LOGICAL_SIZE_MODE to control the scaling policy for SDL_RenderSetLogicalSize():
    “0” or “letterbox” – Uses letterbox/sidebars to fit the entire rendering on screen (the default)
    “1” or “overscan” – Will zoom the rendering so it fills the entire screen, allowing edges to be drawn offscreen
  • Added the hints SDL_HINT_MOUSE_NORMAL_SPEED_SCALE and SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE to scale the mouse speed when being read from raw mouse input
  • Added the hint SDL_HINT_TOUCH_MOUSE_EVENTS to control whether SDL will synthesize mouse events from touch events

Windows:

  • The new default audio driver on Windows is WASAPI and supports hot-plugging devices and changing the default audio device
  • The old XAudio2 audio driver is deprecated and will be removed in the next release
  • Added hints SDL_HINT_WINDOWS_INTRESOURCE_ICON and SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL to specify a custom icon resource ID for SDL windows
  • The hint SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING is now on by default for compatibility with .NET languages and various Windows debuggers
  • Updated the GUID format for game controller mappings, older mappings will be automatically converted on load
  • Implemented the SDL_WINDOW_ALWAYS_ON_TOP flag on Windows

Linux:

  • Added an experimental KMS/DRM video driver for embedded development

GameDev News


Scroll to Top