Log

Author Commit Date CI Message
Sam Lantinga 12efabcb 2017-09-22T11:13:34 Added instructions for deploying to older iOS devices (thanks Sylvain!)
Sam Lantinga 5ab5c9b7 2017-09-22T08:56:09 Avoid duplicate joystick axis events
Sam Lantinga d74c00e6 2017-09-22T08:51:45 Fixed memory leak when HAVE_ALLOCA isn't defined
Mark Callow 59d17bde 2017-09-22T22:30:02 Avoid hitting ERR_MAX_STRLEN limit.
Ryan C. Gordon 6d206a7b 2017-09-22T07:42:24 audio: Stream resampling now saves some samples from previous run for padding. Previously, the padding was silence, which was a problem when streaming since you would sample a little bit of this silence between each buffer. We still need a means to get padding data for the right hand side, but this patch makes the resampler output more correct.
Brandon Schaefer 466ba57d 2017-09-21T18:38:07 [egl/mir] Need eglGetProc to find gl 4.5 core profile extensions
Alex Szpakowski e5cfb58f 2017-09-21T20:30:25 iOS MoltenVK code style cleanup.
Alex Szpakowski 80f9e2f1 2017-09-21T20:11:44 iOS: Fix compiling using the iOS 7 SDK, partially broken since MoltenVK support was added. Note that apps submitted to the iOS App Store *must* use a modern iOS SDK (currently iOS 10 is probably the minimum), however the SDK used to build is separate from the minimum iOS version an app supports at runtime.
Sam Lantinga b3ac0b6f 2017-09-21T14:48:03 A hint with an empty string should be treated as the default value
Sam Lantinga eaab6098 2017-09-21T10:29:17 Only apply the jitter filter to prevent unexpected motion on axes that haven't been touched.
Sam Lantinga 5ae90ef6 2017-09-21T01:22:40 Fixed bug 3788 - software renderer crashes in SDL_RenderCopyEx with rotation and dstrect w or h is 0 Anthony This is what's making the software renderer crash with rotated destination rectangles of w or h = 0: SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "2");
Sam Lantinga 8b660c50 2017-09-21T00:55:29 Added some missing "extern" declarations
Ryan C. Gordon 1a3b95a1 2017-09-21T02:51:14 audio: Replaced the resampler. Again. This time it's using real math from a real whitepaper instead of my previous amateur, fast-but-low-quality attempt. The new resampler does "bandlimited interpolation," as described here: https://ccrma.stanford.edu/~jos/resample/ The output appears to sound cleaner, especially at high frequencies, and of course works with non-power-of-two rate conversions. There are some obvious optimizations to be done to this still, and there is other fallout: this doesn't resample a buffer in-place, the 2-channels-Sint16 fast path is gone because this resampler does a _lot_ of floating point math. There is a nasty hack to make it work with SDL_AudioCVT. It's possible these issues are solvable, but they aren't solved as of yet. Still, I hope this effort is slouching in the right direction.
Ryan C. Gordon f40bd5ee 2017-09-21T02:06:53 audio: removed my perl experiment script.
Mark Callow 3c45e662 2017-09-21T14:01:12 macOS: remove unneeded #includes.
Sam Lantinga f0a324f8 2017-09-20T19:59:34 Reverted Alex's commit 131cba1768a5 - we're about to release 2.0.6, don't remove support for the iOS 7 SDK yet.
Alex Szpakowski d452b89f 2017-09-20T11:01:32 iOS: I don't think SDL compiles with the iOS 7 SDK anymore, so we might as well drop the #ifdefs trying to guard for that.
Alex Szpakowski 12fb004f 2017-09-20T10:53:41 iOS: remove an unused static variable
David Ludwig e365968a 2017-09-19T10:33:08 WinRT: minor formatting tweak in README-winrt
David Ludwig f57ef6ff 2017-09-19T10:31:22 WinRT: noted UWP's inability to work with some game controllers
Sam Lantinga c08a7a74 2017-09-15T17:27:32 Added a hint SDL_HINT_AUDIO_CATEGORY to control the audio category, determining whether the phone mute switch affects the audio
Patrice Mandin 46ec1305 2017-09-14T21:45:14 Fix for 3829. Revert adding GameSir G4s, uses same GUID as PS3 controller.
Patrice Mandin 73c85e98 2017-09-14T19:33:32 Readd support for GameSir G4s, lost with changeset 11431
Sam Lantinga e8187a3f 2017-09-14T09:56:16 Updated iOS keyboard test to cover text input rect and orientation changes
Sam Lantinga cfe72c76 2017-09-14T09:55:27 Fixed iOS keyboard positioning, based on the final position rather than the initial one
Ryan C. Gordon 76176486 2017-09-14T08:37:27 surface: Make sure SDL_ConvertSurface() deals with palettes (thanks, Sylvain!). Fixes Bugzilla #3826. Fixes Bugzilla #2979.
Sam Lantinga ac782d71 2017-09-12T05:53:47 Added support for the PDP Battlefield One Xbox One controller on Linux
David Ludwig 78b83d3a 2017-09-11T18:20:56 WinRT: build fix when using recent versions of the Windows 10 SDK
Sam Lantinga e98fc897 2017-09-10T12:54:40 Fixed bug 3812 - Fallthrough warnings gcc-7
Sam Lantinga 5f48ce0b 2017-09-10T12:49:41 Fixed bug 3815 - implicit-fallthrough warning - DUFFS_LOOP4 and friends
Sam Lantinga 19114b03 2017-09-10T12:42:38 Fixed bug 3813 - gcc7 fallthrough warnings in SDL_iconv.c and SDL_pixels.c
Sam Lantinga 849c4c14 2017-09-10T12:40:45 Fixed tabs to spaces
Sam Lantinga 8ed16ea4 2017-09-10T10:43:04 Fixed compile warning
Sam Lantinga 16b8c4ea 2017-09-10T10:30:25 Fixed bug 3811 - change HAVE_COPYSIGN to HAVE__COPYSIGN in SDL_config_windows.h Ozkan Sezer The patch below changes HAVE_COPYSIGN macro in SDL_config_windows.h to HAVE__COPYSIGN, so that _copysign() can be used in SDL_stdlib.h which is available in many more windows-targeting toolchains such as MinGW, MSVC >= 6, etc, and not just MSVC >= 2013. SDL_stdlib.c already has a specific check for HAVE__COPYSIGN, so I believe this is reasonable.
Sam Lantinga 2cdb9674 2017-09-10T10:25:36 Fixed the include path for khronos with Visual Studio
Sam Lantinga be1caece 2017-09-10T09:19:10 Correction: copysign has been supported by windows several toolchains for a very long time, including MSVC6, MinGW, LCC-Win32, (no released watcom versions though, but that's of no concern.) Patch from Ozkan Sezer
Ryan C. Gordon 93583d46 2017-09-09T21:17:46 alsa: removed snd_pcm_wait() call before writing to playback device. This would cause playback problems in certain situations, such as on the Raspberry Pi. The device that the wait was added for seems to not benefit from it in modern times, and standard desktop Linux seems to do the right thing when a USB device is unplugged now, without this patch. Fixes Bugzilla #3599.
Sam Lantinga 569c222c 2017-09-09T11:04:35 Updated documentation so it's clear you should use SDL_SetWindowDisplayMode() to change the size of fullscreen windows.
Sam Lantinga b2ba8963 2017-09-09T11:00:25 Fixed bug 3809 - Restore after maximize leads to wrong size Andreas Falkenhahn My app opens a 640x480 window. When I click on the window's maximize button, the window correctly fills the entire screen and loses its borders. But clicking on the restore button now doesn't restore the window to its original 640x480 size. Instead, the window size is identical to the screen size now. The only difference to the previous state is that the window now has borders again but it isn't restored to 640x480.
Sam Lantinga 676c3a92 2017-09-09T10:31:44 Fixed bug 3719 - Cocoa - Incorrect window size when leaving fullscreen bastien.bouclet The window is now resized to its specified size, but it moves to the top left corner of the screen. That is unexpected because neither the user nor the program moved it there. Test program attached (the same one as before).
Sam Lantinga fcd9c190 2017-09-09T09:31:12 Fixed window size when leaving fullscreen mode (thanks Eric!)
Sam Lantinga f465f24d 2017-09-09T08:36:37 Fixed bug 3760 - RWops doesn't check for integer overflow when stdio_fseek only supports 32 bits Simon Hug When RWops seeks with fseek or fseeko it uses the types long or off_t which can be 32 bits on some platforms. stdio_seek does not check if the 64-bit integer for the offset fits into a 32-bit integer. Offsets equal or larger than 2 GiB will have implementation-defined behavior and failure states would be very confusing to debug. The attached patch adds range checking by using the macros from limits.h for long type and some bit shifting for off_t because POSIX couldn't be bothered to specify min and max macros. It also defines HAVE_FSEEKI64 in SDL_config_windows.h so that the Windows function gets picked up automatically with the default config. And there's an additional error message for when ftell fails.
Sam Lantinga 125d8f59 2017-09-09T08:34:46 Make sure the libtool archives are installed
Sam Lantinga 9a73909b 2017-09-09T08:20:56 Fixed bug 3808 - fix a typo in SDL_stretch.c Ozkan Sezer The following patch fixes a minor _MSC_VER typo in SDL_stretch.c, and also does a tiny tidy-up for assembly opcodes cpp checks.
Sam Lantinga 24a74956 2017-09-09T08:03:23 Updated config.guess and config.sub, added config.sub.patch for NaCl and Emscripten build support
Sam Lantinga 5c8bde4f 2017-09-09T07:45:31 Updated documentation to note that libvulkan-dev is no longer needed
Sam Lantinga f3337780 2017-09-09T07:42:29 Fixed bug 3807 - Remove restriction from DECLSPEC macro for OS/2 Ozkan Sezer The following patch removes the unnecessary / wrong Watcom restriction from the DECLSPEC macro for OS/2.
Sam Lantinga 8004be64 2017-09-09T07:35:55 We don't need libvulkan-dev to build Vulkan support
Sam Lantinga 47cb8815 2017-09-09T07:30:25 Updated Debian changelog for 2.0.6 release
Sam Lantinga 222d25ad 2017-09-08T22:21:01 Fixed bug 3805 - Why is there no --enable-video-rpi option in configure? Andreas Falkenhahn When compiling SDL for the Raspberry Pi, I have to use the --host parameter to enable compilation of the native Raspberry Pi video driver, like so: --host=arm-raspberry-linux-gnueabihf It took me a while to figure out that this was necessary in order to have the native Raspberry Pi video driver compiled in. I think it would be better if there was an option like --enable-video-rpi that could be passed to configure and that would also show up when saying configure --help. Currently, it?s rather difficult to figure out that you have to use the --host parameter with arm-raspberry-linux-gnueabihf in order to get Raspberry Pi video support. It?s also somewhat inconsistent because most other video drivers can in fact be enabled/disabled through specific configure parameters but there is no such parameter for the native Raspberry Pi video driver.
Sam Lantinga e8059221 2017-09-08T18:26:25 Fixed bug 3806 - Fixes for MSVC compiler warnings Simon Hug These are the remaining compiler warnings I see in the current tip cb049cae7c3c. - SDL_test_log.c defines _CRT_SECURE_NO_WARNINGS without checking if it was already set. - SDL_windowskeyboard.c converts integers to pointers without going over the (U)INT_PTR types. That bothers MSVC.
Sam Lantinga cedbb311 2017-09-08T15:08:50 Fixed building with the first version of Visual Studio 2017, which doesn't have __has_include() (Thanks Simon!)
Sam Lantinga 1b2492ed 2017-09-08T15:08:03 Fixed 64-bit build warning
Sam Lantinga 0ddac338 2017-09-08T07:15:47 keep joystick thread from waking unnecessarily, and from possibly blocking for 300ms at shutdown if a joystick was just plugged in CR: SamL
Sam Lantinga 4657d9f3 2017-09-08T04:53:31 We don't need to pass the renderer into SDLTest_CleanupTextDrawing()
Sam Lantinga 65c55fdd 2017-09-08T04:38:46 Fixed build
Sam Lantinga b0b3da77 2017-09-08T04:14:05 Added a function to clean up test text drawing
Ryan C. Gordon ca15c7d6 2017-09-07T10:56:08 wave: SDL_LoadWAV now supports 24-bit audio.
Ryan C. Gordon fb283932 2017-09-06T19:35:36 vulkan: use "unsigned int" instead of "unsigned"
Ryan C. Gordon 0c892abc 2017-09-06T19:34:23 raspberrypi: The latest Raspbian moved its EGL and GLES2 libs elsewhere. Now we try the new (hardware-specific) pathnames first, and if those fail to load, we'll try the more generic names that earlier versions of Raspbian used. Fixes Bugzilla #3800.
Sam Lantinga 28bf56c1 2017-09-06T10:31:05 Fixed bug 3801 - HAVE_LIBSAMPLERATE_H depending on HAVE_LIBC in current SDL_config.h.in Ozkan Sezer HAVE_LIBSAMPLERATE_H is depending on HAVE_LIBC in current config.h.in: it shouldn't be. HAVE_LIBUDEV_H, HAVE_DBUS_DBUS_H, HAVE_IBUS_IBUS_H, HAVE_FCITX_FRONTEND_H, and HAVE_ALTIVEC_H have the same situation too. I suggest something like the following, which moves them out of the HAVE_LIBC confinement and also moves the windows dx header stuff along side them. (Not ideal, but a bit cleaner I think.)
Sam Lantinga fa0eeff7 2017-09-06T07:29:34 sdl: Cleans up AdjustWindowEx calls
Sam Lantinga 20c5bc91 2017-09-06T05:23:26 You can have a borderless resizable window
Sam Lantinga 4ca5d862 2017-09-06T04:32:30 Fixed bug 3780 - GCC 7 implicit fallthrough warnings Martin Gerhardy 2017-08-28 06:58:01 UTC SDL_blit.h, SDL_fillrect.c and SDL_stdinc.h produces a lot of the (new) gcc-7 implicit fallthrough warnings.
Sam Lantinga d51dc737 2017-09-06T01:14:23 Fixed bug 3797 - configure check for float.h Ozkan Sezer Cmake checks for float.h, but configure does not: the attached patch adds float.h to checked headers in configury, and it adds the missing HAVE_FLOAT_H macro to SDL_config.h.cmake and SDL_config.h.in. In SDL_config_macosx.h and SDL_config_windows.h, defined HAVE_FLOAT_H as 1, where I know that it's true.
Sam Lantinga c8e3e0c4 2017-09-06T01:10:10 Fixed bug 3799 - SDL_CreateWindow fails with SDL_WINDOW_VULKAN (libvulkan.so.1 not found) Manuel Sabogal Android NDK defines Vulkan as libvulkan.so, not libvulkan.so.1. This is causing the program to not being able to create a window using SDL_WINDOW_VULKAN. To fix this issue just change the line http://hg.libsdl.org/SDL/file/bbaec41e93b5/src/video/android/SDL_androidvulkan.c#l53 from "libvulkan.so.1" to "libvulkan.so"
Ryan C. Gordon c9e73c3e 2017-09-05T16:15:54 x11: make sure SDL_GetGlobalMouseState notices mouse warping through SDL APIs.
Sam Lantinga 0782f9be 2017-09-05T08:24:38 Fixed bug 3273 - Fix for slow video subsystem initialization when using XRandR. Mart?n Golini I'm having a very slow initialization of the video subsystem that locks the window creation for about 500 ms ( tested in at least 4 different systems ). What i found is that X11_InitModes_XRandR is using XRRGetScreenResources, that explicitly ask to poll the hardware for changes. This is not really necessary since if the data is already available you can use XRRGetScreenResourcesCurrent. I attached a tentative patch that fix this issue. With the patch there's no lock when the subsystem is initialized and the window creation is instant in my applications. The patch only uses XRRGetScreenResourcesCurrent in X11_InitModes_XRandR but it could be potentially used in X11_GetDisplayModes and X11_SetDisplayMode.
Sam Lantinga 3261ca75 2017-09-04T23:10:12 Fixed typos in 2.0.6 patch notes
Sam Lantinga d2eda267 2017-09-04T22:51:28 Added SDL_vulkan.h to the Mac OS X framework headers
Sam Lantinga c1fd0fbb 2017-09-04T22:14:57 Fixed compiler warning with mingw-w64
Sam Lantinga 657ad72a 2017-09-04T21:16:28 Added some more big 2.0.6 changes
Sam Lantinga d75fea89 2017-09-04T20:48:01 Updated WhatsNew.txt for 2.0.6
Sam Lantinga 67f9348b 2017-09-04T11:46:14 Fixed bug 3790 - Memory leak with surfaces blitting on each other bastien.bouclet When creating two surfaces and blitting them onto the other, SDL's internal reference counting fails, and one of the surfaces is not freed when calling SDL_FreeSurface. Example code : SDL_Surface *s1 = SDL_CreateRGBSurfaceWithFormat(0, 640, 480, 32, SDL_PIXELFORMAT_ARGB8888); SDL_Surface *s2 = SDL_CreateRGBSurfaceWithFormat(0, 640, 480, 32, SDL_PIXELFORMAT_ARGB8888); SDL_BlitSurface(s1, NULL, s2, NULL); SDL_BlitSurface(s2, NULL, s1, NULL); SDL_FreeSurface(s2); SDL_FreeSurface(s1); With this example, s1 is not freed after calling SDL_FreeSurface, its refcount attribute is still positive.
David Ludwig 532446a6 2017-09-03T17:33:49 macOS: bug-fix for #3793, "fullscreen toggle does not maintain SDL_Renderer's logical size" This also seems to fix the follow-up issue in bug #3719, whereby the initial fix caused the SDL window to move, after transitioning from fullscreen to windowed-mode
David Ludwig 2ea09903 2017-09-03T16:36:22 WinRT: listed VS 2017 optional-component requirements
Ryan C. Gordon a12989f9 2017-09-03T13:20:33 vulkan: Changed SDL_WINDOW_VULKAN value to match Tizen's fork.
Ryan C. Gordon 167398b3 2017-09-02T19:35:32 video: Let video targets optionally decide their default OpenGL configs. This is necessary because the Raspberry Pi is a strange beast, that believes it has OpenGL support (through glX?) but generally has GLES2 support. So when using the raspberry video target, we need to force this to default to a GLES2 context, or by default SDL_CreateWindow() will fail, deep down when it tries to load the proper GL library. Fixes testsprite2 (and basically everything else that wasn't testgles2) when run on a Raspberry Pi without a X server. Please note that other targets might also need this filled in, the Raspberry Pi is just the most prominent and readily-available System-On-A-Chip style thing on my desk. :)
Ryan C. Gordon 3267398d 2017-09-02T16:41:14 sndio: Patched to compile if SIO_DEVANY isn't defined. (It isn't in whatever Raspbian is currently shipping.)
Sam Lantinga c26946e9 2017-09-01T12:54:38 Fixed bug 3792 - [KMS/DRM] Wrong GBM format Romain Tisserand Using KMS/DRM driver from WIP SDL2.0.6 on Linux/ARM SoC RockChip RK3328 (ARM Mali 450 MP2 GPU). The current code is using GBM_BO_FORMAT_XRGB8888 as GBM buffer format specifier. The Mali driver (it has been confirmed some other vendor implementations too) expects GBM_FORMAT_XRGB8888. The Mesa implementation is actually handling both values as the same, but it's not implemented like this into every gbm.h vendor header. https://github.com/ideak/mesa/blob/master/src/gbm/backends/dri/gbm_dri.c So with stock SDL2 on my card (Mali vendor implementation), it does not work, eglCreateWindowSurface fails, and gbm_is_format_supported fails too (with the BO variant). It runs fine with GBM_FORMAT_XRGB8888. Here is a link of the gbm.h from Mali user-space driver : https://github.com/rockchip-linux/libmali/blob/rockchip/include/gbm.h
Ryan C. Gordon 74043994 2017-09-01T14:08:09 x11: Correctly restore previous GL context after sacrificial context is done.
Ryan C. Gordon a3dda100 2017-09-01T14:00:11 x11: don't try to make a NULL GL context current when we already did that.
Ryan C. Gordon 4649ac46 2017-09-01T13:57:40 x11: Clean up sacrificial GL context code. Check for failures, restore any previously-current context.
Ryan C. Gordon 507659c6 2017-09-01T13:27:53 x11: Make a sacrificial glX context to check for extensions during init. This is necessary because we need to see if GLES compat extensions exist. All of this code (including ShouldUseTextureFramebuffer()) should be revisited after 2.0.6 ships; ideally we don't make throwaway contexts if we can avoid it...but maybe we can't. I hear Vulkan is pretty cool. Fixes Bugzilla #3725.
Alex Szpakowski 20207abf 2017-08-31T22:07:28 macOS: Update controller mapping of Steelseries Stratus XL to account for reversed thumbstick y-axis values (bug #3483).
Alex Szpakowski d7ae3131 2017-08-31T21:34:29 macOS: Fix menubar items being enabled when they shouldn't be.
Alex Szpakowski b959be25 2017-08-31T21:26:13 Code style cleanup in the Cocoa and UIKit vulkan files.
Alex Szpakowski cfd7a7fa 2017-08-31T21:13:32 macOS: Prevent unwanted native fullscreen (Spaces) toggles when the window is in fullscreen or isn't resizable. Fixes bug #3691.
Sam Lantinga ff76f8e5 2017-08-31T15:17:59 Fixed bug 3791 - SDL_bits.h: __builtin_clz is supported in gcc >= 3.4 Ozkan Sezer __builtin_clz is supported in gcc >= 3.4. The following patchlet adjusts SDL_bits.h for it.
Sam Lantinga 6c38c900 2017-08-31T15:12:08 Update Android SDK required to API level 16 Sylvain Some API 16 methods are used (InputDevice: getDescriptor(), getVibrator()), so we need to compile at least with SDK API 16. Hence default.properties and project.properties have been modified to use android-16. There are also some modification to SDLActivity.java not to use getVibrator() if we run under API 16. And not to check to presence of hasVibrator() if we are under API 11. -some hard-coded constant can be expandend. - rename a local variable (hasVibrator to hasVibratorService)
Sam Lantinga b54bcb34 2017-08-30T23:30:24 Fixed bug 3483 - Steelseries Nimbus MFi controller reversed Y-axis analog stick benjamin.feng Probable underlying cause: https://bugzilla.libsdl.org/show_bug.cgi?id=3124#c5 "If you download and build the HID Calibrator sample you can see that these are totally legitimate HID devices (except for inverting the Y-axis of joysticks, which is contrary to the HID specification but does make them more compatible with games compiled expecting XBOX controllers)."
Sam Lantinga 8e160a34 2017-08-30T23:02:39 Convert tabs to spaces in game controller database entries
Sam Lantinga 347fe704 2017-08-30T14:25:01 Fixed bug 3789 - Android : small clean up Sylvain Since https://hg.libsdl.org/SDL/rev/6546daa45a02 SDL_android_main.c is empty and then produce a warning nativeInit does not exist and dont need to be mark undefined
Sam Lantinga b5f31c39 2017-08-30T09:44:38 Moved haptic source files into the proper folder
Sam Lantinga e53c5c5c 2017-08-30T00:40:06 Fix QNX build - prioritize system EGL headers over the Khronos ones
Sam Lantinga 9ca62923 2017-08-29T23:14:39 Added some missing render capability flags
Sam Lantinga c3d428d4 2017-08-29T23:12:26 Fixed line breaks in verbose test logging output
Sam Lantinga 94e0f3e9 2017-08-29T22:52:17 Added some debug messaging for previously unhandled events
Sam Lantinga 2d10a3f2 2017-08-29T22:24:59 The dummy video driver check is now covered by explicitly checking for cocoa above.
Sam Lantinga 92bf6085 2017-08-29T22:04:43 Fixed bug 3616 - SDL_GL_CreateContext fails with SDL_GL_CONTEXT_DEBUG_FLAG and ANGLE/GLES 2.0 Colin Barrett Using the pre-built x86 devel libs from here: https://www.libsdl.org/release/SDL2-devel-2.0.5-VC.zip If I have: SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_DEBUG_FLAG); and I'm using ANGLE/(a GL driver that doesn't provide an ES2 context) such that SDL_EGL_CreateContext is called by SDL_GL_CreateContext, I get the error "Could not create EGL context (context attributes are not supported)" and no context is created. Looking at the code in SDL_EGL_CreateContext - if gl_config.flags is non-zero, it looks like the code in the section guarded with "#ifdef EGL_KHR_create_context" should be executed - but it apparently isn't. Is it possible this section hasn't been compiled into the pre-built libraries? If I build SDL2.dll myself using the Visual C++ solution (VS2015 Community Update 3) then the call succeeds as I expect