Log

Author Commit Date CI Message
Alex Szpakowski a452a084 2018-01-01T19:40:29 iOS: fix build
Alex Szpakowski 639ea9fd 2018-01-01T19:37:16 metal: Use sampler state objects instead of shader-declared samplers for linear vs nearest filtering. This avoids a ton of shader duplication once multiple shaders that use samplers are added (e.g. the currently missing YUV shaders).
Alex Szpakowski cf45cf70 2018-01-01T18:06:27 metal: Add support for custom blend modes.
Alex Szpakowski 85470a2f 2017-12-31T21:06:16 metal: implement SDL_RenderCopyEx, and fix a memory leak in SDL_CreateTexture.
Alex Szpakowski 047d387b 2017-12-31T15:30:08 metal: Use the existing cocoa code for creating a Metal view on macOS. Fixes the renderer size when the window is resized.
Alex Szpakowski 48fea0ce 2017-12-31T15:21:25 macOS: Fix MoltenVK Metal view resizing, and allow the metal view to be used without vulkan.
Ryan C. Gordon 6d32ebdb 2017-12-31T03:51:17 winrt: Add mmdevapi.lib dependency to WinRT8.1 builds, for WASAPI support.
Ryan C. Gordon 027d63bc 2017-12-31T03:36:54 winrt: workaround for pre-UWP builds. There's probably a better way to do this for legacy platforms, though.
Ryan C. Gordon 140cc460 2017-12-31T03:35:41 windows: Use WaitForSingleObjectEx() always This is available since Windows XP, so it's safe to use always, not just in a WinRT ifdef.
Ryan C. Gordon 77bb49b7 2017-12-31T03:34:16 wasapi: Patched to compile on non-UWP WinRT builds.
Ryan C. Gordon c0c30569 2017-12-31T03:17:18 winrt: Disabled Windows Phone 8.0 builds. It lacks APIs we need for WASAPI and probably no one will miss it. 8.1 is still supported.
Ryan C. Gordon 791c0dd8 2017-12-31T03:13:33 winrt: bumped SDL's shipping version number in winrtbuild.ps1
Alex Szpakowski 42b19c97 2017-12-30T22:39:55 metal: Respect the vsync flag on macOS 10.13+.
Alex Szpakowski e24dc905 2017-12-30T20:32:22 metal: use a projection matrix instead of manually transforming vertices into clip space on the CPU.
Alex Szpakowski 49df65c2 2017-12-30T18:48:07 metal: only 4 (instead of 5) vertices are needed to draw rectangles and textures, and only 3 (instead of 5) vertices are needed to cover the screen for the 'full-screen quad' when clearing.
Ryan C. Gordon d027f360 2017-12-30T14:40:39 xcode: Add Metal and QuartCore to everything as a weak_framework.
Alex Szpakowski 64ec4c33 2017-12-29T22:13:40 macOS: Make sure the desktop's display mode is always in SDL's list of display modes.
Sam Lantinga 616827ae 2017-12-19T11:19:10 Fixed bug 4001 - Android, prevent error message box to crash Sylvain Prevent the error message box to crash after being clicked. Because of "SDLActivity.mSingleton.finish();"
Sam Lantinga b7be5bce 2017-12-19T11:17:37 Fixed bug 4000 - SDL2 on raspberry: mouse displayed at 0,0 after SDL_ShowCursor Laurent Merckx I have a problem with the SDL_ShowCursor method on Raspberry. Depending on the context, my application hides or show the mouse cursor with SDL_ShowCursor. But when calling SDL_ShowCursor(true), the cursor is displayed at 0,0 (and not at last position). After debugging sources by myself, it seems that the problem is in SDL_rpimouse.c - RPI_ShowCursor: vc_dispmanx_rect_set( &dst_rect, 0, 0, curdata->w, curdata->h); should be vc_dispmanx_rect_set( &dst_rect, mouse->x, mouse->y, curdata->w, curdata->h); For me, it solves the problem.
Sam Lantinga 70082db8 2017-12-19T11:14:06 Fixed bug 4003 - HAVE_POLL undefined in SDL_poll.c, making it impossible to use. tomwardio HAVE_POLL is correctly defined in SDL_config.h when running configure. However, in the only place where it's used, it's undefined at the start of the file.
Sam Lantinga b92e2f02 2017-12-19T10:57:21 Fixed bug 4004 - iOS: don't hide keyboard on RETURN Dominik Reichardt As discussed in 2012 the iOS onscreen keyboard hides when you hit RETURN (see https://discourse.libsdl.org/t/on-screen-keyboard-change/19216). IMO this is a bad idea to not be able to influence this behavior and just recently this was fixed for Android by adding the hint SDL_HINT_ANDROID_RETURN_HIDES_IME in changeset 11768 6ce3bb5e38a5.
Sam Lantinga fee2469c 2017-12-19T10:48:29 Fixed bug 4005 - Android, SDL_IsGameController() crashes is index is out of range Sylvain On Android, if you give an invalid index to SDL_IsGameController(), it will crash in SDL_SYS_IsDPAD_DeviceIndex().
Sam Lantinga e5cfa241 2017-12-16T10:40:47 Fixed default Android D-PAD mapping so the back button is treated as B
Sam Lantinga 255362a3 2017-12-16T10:40:45 Fixed handling of the Apple TV remote buttons The menu button on the remote is the back button
Sam Lantinga cc30e1eb 2017-12-16T10:40:43 Added support for the ASUS TV500BG Android gamepad
Sam Lantinga 95d8396e 2017-12-16T10:40:41 Added Android build script for SDL
Ryan C. Gordon ab4695f4 2017-12-13T14:35:55 wasapi: switched to event-driven interface. This reduces latency and improves battery life.
Sam Lantinga 684c5847 2017-12-12T22:30:21 Moved deployment target values to project settings
Sam Lantinga 35a2eed3 2017-12-12T21:59:39 Parameterized the All (target platform) build target scripts so they can be used in other projects
Ryan C. Gordon 988034fc 2017-12-12T22:25:39 windows: Fixed a comment.
Sam Lantinga 18577a70 2017-12-12T16:37:23 Fixed bug 3992 - SDL_GetColorKey doesn't set error message Luke A. Guest SDL_GetColorKey does not set an error message on failure. The current source just returns -1. The documentation https://wiki.libsdl.org/SDL_GetColorKey?highlight=%28%5CbCategoryAPI%5Cb%29%7C%28SDLFunctionTemplate%29 says to call SDL_GetError but that is useless in this case.
Sam Lantinga 87894224 2017-12-12T16:34:16 Fixed bug 3981 - Inverted logic bug in SDL_renderer "overscan" feature Eric wing There is a tiny bug in the new overscan code for the SDL_renderer. In SDL_renderer.c, line 1265, the if check for SDL_strcasecmp with "direct3d" needs to be inverted. Instead of: if(SDL_strcasecmp("direct3d", SDL_GetCurrentVideoDriver())) { It should be: if(0 == SDL_strcasecmp("direct3d", SDL_GetCurrentVideoDriver())) { This bug causes the "overscan" mode to pretty much be completely ignored in all cases and all things remain letterboxed (as before the feature).
Sam Lantinga 0597bf6e 2017-12-12T16:25:43 Fixed bug 3993 - altivec.h include in SDL_cpuinfo.h breaks compilation with -std=c++11 bastien.bouclet According to this GCC bug report, altivec.h requires building with the gnu extensions: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78263. As an application developer, I don't want SDL to force me to enable the gnu extensions.
Sam Lantinga ca729766 2017-12-12T16:10:20 Fixed bug 3996 - Corrupted or over-released critical section on SDL_Quit (SDL_event_watchers_lock) Andrew This likely comes down to an additional 'unlock' being called before destroying it, without a matching 'lock'.
Sam Lantinga 2afc0b7f 2017-12-12T12:52:23 Add the ability to set SDL to handle Return as 'hide IME' on Android softkeyboard. (thanks Rachel!)
Sam Lantinga e8bbbb37 2017-12-12T12:52:17 Added support for Android video textures
Sam Lantinga bed7fd80 2017-12-12T12:52:09 Merged latest changes from rel/streaming_client
Sam Lantinga 527a8eb0 2017-12-12T12:14:55 Renamed Xcode build targets so it's easier to copy files out of build directories on the command line Also enabled bitcode, which is needed for App Store builds
Sam Lantinga 638d4fe3 2017-12-12T11:29:00 Added SDL_uikitmetalview.m to the tvOS project
Sam Lantinga e0d0184f 2017-12-11T14:44:34 Fixed bug 3999 - Build failed when try to build with configure script for Android
Sam Lantinga f1ec8a5f 2017-12-11T12:00:12 Check for immintrin.h before using it in SDL_cpuinfo.h
Sam Lantinga 1b16618b 2017-12-11T11:47:52 Fixed Windows gcc build
Sam Lantinga 7ac46a74 2017-12-11T11:34:53 The newer compilers generate the property boilerplate automatically
Sam Lantinga 358e4d9c 2017-12-11T11:02:51 Fixed Mac OS X build
Sam Lantinga ab06f570 2017-12-10T09:17:33 Workaround for bug 3931 - spurious SDL_MOUSEMOTION events with SDL_HINT_MOUSE_RELATIVE_MODE_WARP 1 since Windows 10 Fall Creators update Elis?e Maurer The attached minimal program sets the SDL_HINT_MOUSE_RELATIVE_MODE_WARP to 1, enables relative mouse mode then logs all SDL_MOUSEMOTION xrel values as they happen. When moving the mouse exclusively to the right: * On a Windows 10 installation before Fall Creators update (for instance, Version 10.0.15063 Build 15063), only positive values are reported, as expected * On a Windows 10 installation after Fall Creators update (for instance, Version 10.0.16299 Update 16299), a mix of positive and negative values are reported. 3 different people have reproduced this bug and have confirmed it started to happen after the Fall Creators update was installed. It happens with SDL 2.0.7 as well as latest default branch as of today. It seems like some obscure (maybe unintended) Windows behavior change? Haven't been able to pin it down more yet. (To force-upgrade a Windows installation to the Fall Creators update, you can use the update assistant at https://www.microsoft.com/en-us/software-download/windows10) Eric Wasylishen Broken GetCursorPos / SetCursorPos based games on Win 10 fall creators are not limited to SDL.. I just tested winquake.exe (original 1997 exe) and it now has "jumps" in the mouse input if you try to look around in a circle. It uses GetCursorPos/SetCursorPos by default. Switching WinQuake to use directinput (-dinput flag) seems to get rid of the jumps. Daniel Gibson A friend tested on Win10 1607 (which is before the Fall Creators Update) and the the bug doesn't occur there, so the regression that SetCursorPos() doesn't reliably generate mouse events was indeed introduced with that update. I even reproduced it in a minimal WinAPI-only application (https://gist.github.com/DanielGibson/b5b033c67b9137f0280af9fc53352c68), the weird thing is that if you don't do anything each "frame" (i.e. the mainloop only polls the events and does nothing else), there are a lot of mouse events with the coordinates you passed to SetCursorPos(), but when sleeping for 10ms in each iteration of the mainloop, those events basically don't happen anymore. Which is bad, because in games the each iteration of the mainloop usually takes 16ms.. I have a patch now that I find acceptable. It checks for the windows version with RtlGetVersion() (https://msdn.microsoft.com/en-us/library/windows/hardware/ff561910.aspx) and only if it's >= Win10 build 16299, enables the workaround. All code is in video/windows/SDL_windowsevents.c and the workaround is, that for each WM_MOUSEMOVE event, "if(isWin10FCUorNewer && mouseID != SDL_TOUCH_MOUSEID && mouse->relative_mode_warp)", an addition mouse move event is generated with the coordinates of the center of the screen (SDL_SendMouseMotion(data->window, mouseID, 0, center_x, center_y);) - which is exactly what would happen if windows generated those reliably itself. This will cause SDL_PrivateSendMouseMotion() to set mouse->last_x = center_x; and mouse->last_y = center_y; so the next mouse relative mouse event will be calculated correctly. If Microsoft ever fixes this bug, the IsWin10FCUorNewer() function would have to be adjusted to also check for a maximum version, so the workaround is then disabled again.
Sam Lantinga baae74c8 2017-12-10T09:10:02 Added SDL_WinRTGetDeviceFamily() to find out what type of device your application is running on (thanks Daniel Knobe!)
Sam Lantinga 3ae97689 2017-12-10T09:09:27 Added the Metal framework to several iOS tests
Sam Lantinga c2cc9c16 2017-12-09T19:48:38 Backed out using pixel texture coordinates, it had weird visual side effects
Sam Lantinga 8aad4923 2017-12-09T19:41:08 Fixed normalized coordinates when the viewport is set
Sam Lantinga 441d3095 2017-12-09T15:00:41 Added support for linear sampling and pixel coordinates in the metal renderer
Sam Lantinga 1c43705b 2017-12-09T13:05:56 Fixed compiler warning
Sam Lantinga f55c9988 2017-12-09T12:58:41 Fixed pixel positioning and size for the Metal renderer
Ryan C. Gordon 7dac177c 2017-12-09T03:28:23 metal: fixed render target support.
Ryan C. Gordon 85d12d8f 2017-12-09T03:27:52 metal: Added some comments and FIXMEs.
Ryan C. Gordon dbce1341 2017-12-09T03:24:01 audio: fixed typo in Doxygen comment.
Sam Lantinga bcf1e622 2017-12-08T16:12:53 Removed duplicate entry for SDL_wasapi.h
Ryan C. Gordon 686fc093 2017-12-08T18:26:26 metal: Cleaned up some reference count politics.
Ryan C. Gordon 7cb8b50a 2017-12-08T17:43:57 hints: Add "metal" to the list of SDL_RENDER_DRIVER hints.
Sam Lantinga cf3d4503 2017-12-08T14:30:10 Added SDL_RenderGetMetalLayer() and SDL_RenderGetMetalCommandEncoder()
Sam Lantinga c403c0fa 2017-12-08T13:20:20 Fixed Metal renderer memory leak
Sam Lantinga b733dcc2 2017-12-08T12:02:23 Minor cleanup
Sam Lantinga 5182c23c 2017-12-08T11:35:19 Fixed minor memory leak in the Metal renderer
Sam Lantinga cac4e312 2017-12-08T11:34:32 Added check for failure of D3D_ActivateRenderer()
Sam Lantinga 127841f3 2017-12-08T11:33:27 Fixed compiler warning
Sam Lantinga 1a1cd8c1 2017-12-08T11:09:05 Fixed bug 1878 - Scaled texture draws with filtering produce wrapping artifacts. Yuri K. Schlesner When using texture filtering, there are filtering artifacts visible on the edges of scaled textures, where the texture filtering pulls in texels from the other side of the texture. Using clamping texture modes wouldn't completely fix this since source rectangles don't need to cover the whole texture. (See screenshot attached in next post.) The opengl driver uses clamping on textures and so avoid this at least in the cases where the source rect is the whole texture. The direct3d driver does not and so has problems in every case. I'm not sure if it can actually completely be fixed, but at least enabling clamping for direct3d would be one step in the right direction.
Ryan C. Gordon 81a33985 2017-12-08T14:03:36 metal: Don't check if Metal is available if targeting modern macOS versions.
Sam Lantinga dc04f290 2017-12-08T08:58:02 Defer getting the next drawable until we actually start rendering This works better for games where there may be a bunch of simulation logic that needs to be run before the next rendering pass, and prevents blocking if the next drawable is busy.
Ryan C. Gordon 74729638 2017-12-08T00:49:35 configure: List Metal in video drivers.
Sam Lantinga 104decd1 2017-12-07T18:08:51 Fixed runtime errors on iOS
Sam Lantinga ba9c336e 2017-12-07T17:47:01 Fixed building for simulators or older iOS SDKs
Sam Lantinga 6deb1e75 2017-12-07T17:12:03 Fixed compiling Metal renderer on iOS
Sam Lantinga 1ae73a2b 2017-12-07T16:08:47 Added iOS and OSX versions of the Metal shaders
Sam Lantinga b2859af6 2017-12-07T16:08:09 Enable building the Metal renderer by default, and weak link the Metal framework so the SDL library is safe to use on older Macs Also generate iOS versions of the Metal shaders
Sam Lantinga cadf3e44 2017-12-07T09:35:28 The Metal view is a full SDL_uikitview to support multi-touch
Ryan C. Gordon ef6e629d 2017-12-06T16:37:55 cocoa: Added two missing files from hg changeset da7ba330ec68. Fixes Bugzilla #3975.
Ryan C. Gordon 083fe066 2017-12-06T13:48:51 winrt: Patched to compile on Ryan's workstation. :) I'm not sure why I needed this, but it appears to fix the build on VS2015 here.
Ryan C. Gordon 351d6d47 2017-12-06T12:24:32 audio: Port WASAPI to WinRT, remove XAudio2 backend. XAudio2 doesn't have capture support, so WASAPI was to replace it; the holdout was WinRT, which still needed it as its primary audio target until the WASAPI code code be made to work. The support matrix now looks like: WinXP: directsound by default, winmm as a fallback for buggy drivers. Vista+: WASAPI (directsound and winmm as fallbacks for debugging). WinRT: WASAPI
Sam Lantinga 47506fe1 2017-12-04T20:37:01 Fixed bug 3974 - Fix SDL_WarpMouseInWindow on both KMSDRM and RaspberryPi drivers Manuel Alfayate Corchete This patch fixes SDL_WarpMouseInWindow() in both the KMSDRM and Raspberry Pi graphic backends.
Sam Lantinga 57ebc727 2017-12-04T20:35:01 Fixed bug 3975 - Add GLES2 support for macOS via ANGLE library Andrey Seems latest google angle library successfully built & tested under macOS'es. https://github.com/google/angle We need to use GLES2 to implement true cross-platform code.
Sam Lantinga 7914725b 2017-12-04T20:26:09 Removed spurious debug output
Sam Lantinga 14452e95 2017-12-04T20:21:52 Fixed typos (thanks Martin!)
Olli Kallioinen 5a735da9 2017-12-04T19:28:03 Fixed SDL_Log not working on windows if the output is being redirected.
Sam Lantinga 67950e10 2017-12-03T20:27:08 Fixed name of eglCreatePbufferSurface function
Sam Lantinga e943d1ce 2017-12-03T20:25:55 Fixed bug 3945 - Add eglCreatePbufferSurface function tomwardio Proposed patch loads eglCreatePbufferSurface in same manner as other 1.1 functors. This allows custom video drivers to create pbuffer surfaces.
Sam Lantinga 25df5a5a 2017-11-28T18:31:18 Non-resizable windows need to have their window rect set to the client rect
Sam Lantinga 88e3562b 2017-11-27T15:07:07 Use the included Khronos headers on Android so we can create Core OpenGL contexts when building with older SDK
Sam Lantinga 8758b7bf 2017-11-24T12:03:28 Fixed bug 3980 - Fix for KMSDRM driver where cursor would not be shown on some gfx hardware because of unsupported cursor size Manuel Alfayate Corchete This fixes a problem with KMSDRM on some graphics hardware where only bigger cursor sizes are supported, such as current Intel gfx. (The kernel-side driver is what limits this: had to look for failing IOCTLs...) That caused SDL_SetCursor() to fail silently, and we were left with a missing cursor without further explanation. With this patch, different "standard" sizes are tried and a bigger one is used (with an intermediate and clean buffer only used to write the new cursor to the BO where it will live after) if we get, let's say, 16x16 which is pretty common but our hardware does not support that.
Sam Lantinga 5f38b5d7 2017-11-24T03:01:07 Fixed bug 3979 - Failed to link with "multiple definition of `scalbln'" error on both MinGW and MinGW-w64 by CMake Vitaly Novichkov Once I ran build of my codecs collection on AppVeyor where my CMake script downloads latest SDL2 from HG repo, failed to link because of math functions conflict: https://ci.appveyor.com/project/Wohlstand/audiocodecs/build/1.0.44 The revision is b9ff5f8b2303 There are both vanilla MinGW and MinGW-w64 are failed to build. ``` [100%] Linking C shared library libSDL2.dll c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../libmingwex.a(scalbn.o):(.text+0x0): multiple definition of `scalbln' CMakeFiles\SDL2.dir/objects.a(s_scalbn.c.obj):C:/projects/audiocodecs/build-MinGW-Release-Win32/external/SDL2/src/SDL2HG/src/libm/s_scalbn.c:30: first defined here
Sam Lantinga f776997a 2017-11-21T21:58:27 Fixed some compiler warnings
Sam Lantinga ac4b491b 2017-11-21T21:51:33 Disabled spurious Visual Studio warnings in the uClibc math code
Sam Lantinga 1c0c9032 2017-11-21T21:30:47 Fixed bug 3976 - SDL drivers may leak driverdata memory due to ignoring return value of SDL_AddDisplayMode C Snover SDL_AddDisplayMode returns an SDL_bool corresponding to whether or not the given display mode was added or not. It will return SDL_FALSE if a matching display mode already exists in the display's list of display modes, which causes ownership of the mode driverdata to remain with the caller. Some video drivers ignore the return value of SDL_AddDisplayMode, so leak the driverdata memory when SDL_AddDisplayMode returns SDL_FALSE.
Ethan Lee 688bc285 2017-11-20T13:59:43 Steam Virtual GamePad config for macOS
Sam Lantinga 3ac8adba 2017-11-20T00:06:37 Fixed bug 3973 - Include of stdint is needed to build on linux, mingw and possibly android Stuart Axon https://discourse.libsdl.org/t/stdint-h-removed/23426 https://discourse.libsdl.org/t/debuild-fails-to-build-the-last-few-days/23429/4 Currently SDL2 is not building in Linux (x86 and ARM), Android and MingW because include stdint.h has been removed from yuv_rgb.h
Sam Lantinga a4b33d74 2017-11-20T00:03:23 Fixed bug 3959 - cmake build broken by commit 11702 (7fdbffd47c0e) due to typo Mate Nagy There is a typo in CMakeLists.txt that makes CMake exit with failure. Change that causes the problem: (Notice the double ending brackets) ${SDL2_SOURCE_DIR}/src/video/*.c) + ${SDL2_SOURCE_DIR}/src/video/yuv2rgb/*.c) Fix: Just remove the first ending bracket resulting in: ${SDL2_SOURCE_DIR}/src/video/*.c ${SDL2_SOURCE_DIR}/src/video/yuv2rgb/*.c)
Sam Lantinga dba9979f 2017-11-19T23:36:54 Added support for aarch64 memory barrier instruction
Sam Lantinga 8fb3885c 2017-11-17T11:03:02 Fixed bug 3964 - YUV to RGB in video/SDL_yuv.c is broken for any output format of type ABGR8888 or BGR888 raist66676 Here is the bug in latest SDL 2.0.8 development repo. It is obvious and simple to fix by correcting typos on six lines of code. In src/video/SDL_yuv.c on lines 217, 249, 280, 321, 353, and 384 the wrong conversion functions are called for SDL_PIXELFORMAT_ABGR8888 and SDL_PIXELFORMAT_BGR888. Instead of ABGR functions, BGRA functions are called. These are typos.
Sam Lantinga cd89efb8 2017-11-17T10:55:58 Fixed building yuv_rgb.h when stdint.h isn't available (thanks Ozkan!)
Sam Lantinga 4764f7a4 2017-11-17T10:54:46 Fixed building YUV test programs (thanks Ozkan!)
Sam Lantinga a6a4e27a 2017-11-12T22:51:12 Updated SDL's YUV support, many thanks to Adrien Descamps New functions get and set the YUV colorspace conversion mode: SDL_SetYUVConversionMode() SDL_GetYUVConversionMode() SDL_GetYUVConversionModeForResolution() SDL_ConvertPixels() converts between all supported RGB and YUV formats, with SSE acceleration for converting from planar YUV formats (YV12, NV12, etc) to common RGB/RGBA formats. Added a new test program, testyuv, to verify correctness and speed of YUV conversion functionality.
Sam Lantinga c317ab97 2017-11-12T10:59:05 Fixed Android build error on older SDK