Log

Author Commit Date CI Message
Sam Lantinga c00858bf 2018-02-20T09:04:31 Fixed bug 4088 - Fix Metal link errors with test programs in SDLTest.xcodeproj Eric Wasylishen The following patch adds Metal.framework to the "link binary with libraries" section of each test program, with "status" set to "optional", which fixes link errors on all of the test programs. I'm not sure if this is a correct fix - the fact that this was necessary might indicate the static SDL2.a library has a hard dependency on Metal.framework (?) - but it gets the test programs working in Xcode again. It also adds testyuv_cvt.c to the testoverlay2 target, fixing a link error.
Sam Lantinga 58f9be12 2018-02-18T09:09:56 Actually, this is needed for building with Visual Studio with both /MT and /MD. With the previous change, I get: 1> Creating library C:\projects\SDL\VisualC\Win32\Debug\SDL2.lib and object C:\projects\SDL\VisualC\Win32\Debug\SDL2.exp 1>LINK : error LNK2001: unresolved external symbol __DllMainCRTStartup@12
Sam Lantinga 3c9d3336 2018-02-18T08:57:01 Fixed bug 4034 - Do we really need _DllMainCRTStartup() in every Windows build? Andreas Falkenhahn In src/SDL.c there is this code: _DllMainCRTStartup(HANDLE hModule, ... The comment says that this is needed on Watcom C for some reason but why is it included then when building with Visual C as well? Shouldn't it be only included when compiling on Watcom C then? I'm asking because this code caused me a lot of headaches because I'm building a DLL that contains SDL and I link using /MT and the _DllMainCRTStartup() symbol obviously led to lots of trouble but it wasn't clear to me where the problem was because all I got from the linker was: LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup So I had to got through each and every object to see what the culprit was. See here for the full story: https://stackoverflow.com/questions/25067151/lnk2019-unresolved-external-symbol-main-referenced-in-function-tmaincrtstar/48177067#48177067 So if it isn't necessary on Visual C, please just leave that symbol out on Visual C so that it no longer leads to any trouble. Thanks.
Ryan C. Gordon 75a58303 2018-02-17T23:57:57 pthread: fix error code checks (thanks, Andreas!). Most pthread functions return 0 on success and non-zero on error, but those errors might be positive or negative, so checking for return values in the Unix style, where errors are less than zero, is a bug. Fixes Bugzilla #4039.
Ryan C. Gordon 2ea4419a 2018-02-17T20:18:48 yuv: patched to compile.
Ryan C. Gordon 7c0c2c22 2018-02-17T20:10:13 yuv: fixed variable declaration shadowing warnings. Fixes Bugzilla #4062.
Ryan C. Gordon 97494f53 2018-02-17T18:30:21 pulseaudio: Just read/dump captured data in FlushCapture. Apparently pa_stream_flush() doesn't work as expected: https://lists.freedesktop.org/archives/pulseaudio-discuss/2012-April/013328.html Fixes Bugzilla #4087.
Ryan C. Gordon 6867f618 2018-02-16T14:56:28 video: put a spinlock around a global linked list. This should only contend if you're allocating or freeing surfaces from multiple threads at once, and then just for a short time. Fixes Bugzilla #4084.
Sam Lantinga 8ddebfa0 2018-02-16T10:23:10 Fixed bug 4085 - X11: Allow configuring _NET_WM_BYPASS_COMPOSITOR through SDL hints Callum McGing This patch allows the user to disable the behaviour that blocks the compositor through a new hint: SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR. This allows tools or other windowed applications to behave properly under KWin.
Sam Lantinga 5abd7d16 2018-02-13T22:58:20 Don't attempt WM_NCCALCSIZE adjustment when in fullscreen window transition
Sam Lantinga ba9ede12 2018-02-13T13:25:59 Fixed bug 4027 - CheckLibSampleRate macro in sdlchecks.cmake never defines HAVE_LIBSAMPLERATE{,_SHARED}, so they're always reported as disabled by MESSAGE_TESTED_OPTION macro in macros.cmake
Sam Lantinga f6366c09 2018-02-13T08:15:39 Fixed bug 3920 - IBus not work with SDL 2.0.7 cjacker After updating from 2.0.5 to 2.0.7, Ibus not work anymore(fcitx still works). Compare with 2.0.5, there are two issues in SDL_ibus.c. 1, SetupConnection always return SDL_FALSE in 2.0.7. 2, 'SetCapabilities' method should be called on 'ibus_conn'. Patch attached.
Sam Lantinga 3b4c2fdf 2018-02-13T08:13:29 Fixed bug 3947 - replace strlcpy with memcpy in SDL_strdup()
Sam Lantinga 714085d3 2018-02-13T08:07:52 Fixed bug 3950 - Don't always call dbus_shutdown in SDL_DBus Alexander Larsson dbus_shutdown() is a debug feature which closes all global resources in the dbus library. Calling this should be done by the app, not a library, because if there are multiple users of dbus in the process then SDL could shut it down even though another part is using it. For example, i had an issue with this in mGBA, which uses both Qt and SDL, both using libdbus. I had a session bus, but no system bus (this was in a flatpak sandbox), and when SDL_DBus_Init() failed to init the system bus it called dbus_shudown() and continued on. This caused issues for Qt when running due to its session bus connections having disappeared beneath it.
Sam Lantinga 4ff16ba3 2018-02-13T07:59:45 Fixed bug 4081 - sdlchecks.cmake: typo introduced by rev11848 breaks building with wayland support
sezero 40b27fd5 2018-02-12T17:00:00 revert the recent typecast assignment changes (see bug #4079) also change the void* typedefs for the two vulkan function pointers added in vulkan_internal.h into generic function pointer typedefs.
sezero ba0ecc67 2018-02-12T10:47:00 fix building SDL_audiotypecvt.c with gcc < 4.0
sezero 8a1ae708 2018-02-12T10:00:00 kill C99'ism in SDL_waylandvulkan.c
Sam Lantinga 6e01fbb7 2018-02-11T18:23:37 On Android show the system UI when an SDL window is windowed, hide the system UI when it's fullscreen, like we do on iOS. We're increasing the Android SDK minimum version to API 19, this doesn't increase the minimum target API, which is API 14.
Sam Lantinga 66f9492b 2018-02-11T17:25:51 Fixed bug 4075 - configury adds Metal.framework to linkage even if it is not available Ozkan Sezer Configury adds Metal.framework to linkage even if it is not available. My solution is setting enable_render_metal to no when Metal.framework is not found
Sam Lantinga 873141ac 2018-02-11T15:29:36 ISO C correct fix for casting void* to function pointer
Ryan C. Gordon 882215e1 2018-02-11T18:16:01 vulkan: Fix assignment of vkGetInstanceProcAddr on Windows. "*(void**)pfn = LoadAddress()" would cast the NULL pointer in pfn to a void**, and then dereference it, which wasn't what we wanted. Replaced with a clearer cast operation.
Sam Lantinga 1143857d 2018-02-10T12:43:11 Fixed bug 4073 - Unquoted Unicode argument parsing broken on Windows due to incorrect usage of SDL_isspace()
Sam Lantinga d5f293a7 2018-02-09T16:31:57 Fixed compile warning
Sam Lantinga 7c360027 2018-02-09T16:01:11 Fixed compiler warning on Android
Sam Lantinga 2fc71d87 2018-02-09T08:03:03 Windows Phone 8.0 is no longer supported
Sam Lantinga 7b50aee9 2018-02-08T18:07:14 Fixed min/max window size handling for borderless resizable windows
sezero 4c2a444e 2018-02-08T17:07:47 add SDL_log10 and SDL_log10f to include and dynapi
Sam Lantinga 54340ab9 2018-02-07T15:10:50 Fixed bug 4021 - Android, hard-coded Keycode value Sylvain There is an hard-coded keycode value in SDLActivity.java
Sam Lantinga 940933d8 2018-02-07T15:05:30 Fixed bug 4054 - Raspberry Pi refresh rate detection Viacheslav Slavinsky SDL_rpivideo driver has 60 frames per second hardcoded in it, this is a problem for games that need to keep pace using VSYNC. I believe that I have found a solution to this. It is based on code in tvservice.c in rpi userland: https://github.com/raspberrypi/userland/blob/a1b89e91f393c7134b4cdc36431f863bb3333163/host_applications/linux/apps/tvservice/tvservice.c#L433
Guillermo A. Amaral bd0def06 2018-02-07T14:12:26 Set rpath instead of changing environment for RPi Credit goes to Adrian Perez de Castro for the improvement. Signed-off-by: Guillermo A. Amaral <g@maral.me>
Sam Lantinga 965c11f3 2018-02-07T14:07:54 Fixed bug 4060 - Alternative DualShock 4 v2 controller GUID ayer.3d I have a DualShock 4 v2 controller with a GUID that's not in the database. There is an existing GUID that is almost identical, with the only difference that I can tell being the reported version string (mine being 8001, database is 8100). Existing GUID: 050000004c050000cc09000000810000 New GUID: 050000004c050000cc09000001800000 When connected via USB, the GUID matches an existing entry: 030000004c050000cc09000011810000
Sam Lantinga c329381f 2018-02-07T14:03:24 Description: fix installation of shared library for Android Author: Boris Pek <tehnick-8@yandex.ru> Last-Update: 2018-01-10
Ryan C. Gordon cd532207 2018-02-07T13:13:55 wayland: Add support for xdg-shell protocol (unstable v6). This is meant to be the desktop-enhanced version of wl_shell. Right now we just match what the existing wl_shell code does, but there are other areas of functionality available to us now, that we can fill in later. This uses the "unstable" API, since this is what ships in Ubuntu 17.10 (as part of Wayland 1.10), but Wayland 1.12 promotes this to stable with extremely minor changes. We will add support for the stable version when it makes sense to do so.
Ryan C. Gordon 32d421d4 2018-02-07T13:07:59 cmake: Minor cleanup (reuse a string we already calculated).
Sam Lantinga 73c26c20 2018-02-06T16:43:31 Send Apple TV remote input as key events unless it's opened as a joystick, to match Android behavior.
Sam Lantinga f59b9c8b 2018-02-06T15:03:38 Replaced SDL_HINT_APPLE_TV_REMOTE_SWIPES_AS_ARROW_KEYS with SDL_HINT_TV_REMOTE_AS_JOYSTICK which controls whether remotes on iOS and Android are interpreted as joysticks (the default) or as return/escape/arrow keys.
Sam Lantinga 6ed184ec 2018-02-06T15:03:35 Added SDL_IsAndroidTV()
Sam Lantinga 2b441ec6 2018-02-05T11:40:39 SDL Changes to support clean reads CR: saml
Sam Lantinga 35322ed8 2018-02-01T15:46:51 Fixed building on tvOS
Sam Lantinga 85c34e9a 2018-02-01T15:21:01 Added SDL_HINT_IOS_HIDE_HOME_INDICATOR to determine how the home indicator on the iPhone X is handled. This variable can be set to the following values: "0" - The indicator bar is not hidden (default for windowed applications) "1" - The indicator bar is hidden and is shown when the screen is touched (useful for movie playback applications) "2" - The indicator bar is dim and the first swipe makes it visible and the second swipe performs the "home" action (default for fullscreen applications)
Sam Lantinga 330b19c9 2018-01-30T18:12:25 Fixed building on platforms without __sighandler_t
Sam Lantinga 90e72bf4 2018-01-30T18:08:34 Fixed ISO C99 compatibility SDL now builds with gcc 7.2 with the following command line options: -Wall -pedantic-errors -Wno-deprecated-declarations -Wno-overlength-strings --std=c99
Sam Lantinga e1d85985 2018-01-30T16:53:24 Fixed misleading indentation
Sam Lantinga fab2e246 2018-01-27T12:07:05 Removed armeabi from the SDL build API list, since it's not supported by the latest Android SDK
Sam Lantinga 2ceeb993 2018-01-27T12:05:26 Fixed bug 4065 - SDL_wave.c fail to compile in armeabi with ndk r16b Sylvain armeabi is almost deprecated for android-ndk higher that r13b. either it doesn't compile (ICE), or it executes wrongly (using long long for instance). android people advices to use armeabi-v7a (or use r13b).
Sam Lantinga 2d7420f2 2018-01-25T11:12:20 Fixed bug 3985 - SDL_CreateWindow() has stopped changing screen mode when SDL_WINDOW_FULLSCREEN is used Anthony This worked in 2.0.5 as normal, but stopped working in 2.0.7. The monitor's resolution doesn't change, a window is created in full screen mode at the virtual desktop resolution instead.
Ryan C. Gordon af498591 2018-01-22T09:46:48 testoverlay2: use SDL_atoi, not atoi.
Ryan C. Gordon e99daaf8 2018-01-22T09:45:16 android: Fixed compiler warning about nested '/*' comments.
Ryan C. Gordon 48882401 2018-01-22T09:36:40 wasapi: Fixed some compiler warnings.
Sam Lantinga 9338a619 2018-01-17T17:24:15 Added a hint SDL_HINT_APPLE_TV_REMOTE_SWIPES_AS_ARROW_KEYS to prevent turning Apple TV remote swipes into arrow key events
Guillermo A. Amaral 35554caf 2018-01-17T13:17:10 Make rpi video cross-compiler friendly. * Stops using fixed path to find GLES/EGL libs. * Tries pkg-config to locate bcm_host. Signed-off-by: Guillermo A. Amaral <g@maral.me>
Sam Lantinga 509db8af 2018-01-17T13:12:39 Fixed formatting, added actual count to SDL error message
Ethan Lee 11c348b4 2018-01-17T11:53:09 SDL_log10
Dawid Gan 61261e59 2018-01-16T21:29:32 EGL: Request sRGB framebuffer in correct place. The EGL_GL_COLORSPACE_KHR is an attribute for eglCreate*Surface. As written in EGL_KHR_gl_colorspace documentation: Accepted as an attribute name by eglCreateWindowSurface, eglCreatePbufferSurface and eglCreatePixmapSurface EGL_GL_COLORSPACE_KHR 0x309D (...)
Sam Lantinga 0cba6847 2018-01-15T10:29:53 Fixed bug 4043 - SDL_windowswindow.c incorrect icon height Needed to allocate space for the mask in the ICONIMAGE structure
John Bartholomew f9bdce61 2018-01-14T13:34:50 Vulkan: Allow SDL_Vulkan_GetInstanceExtensions to be called with a larger array than necessary.
Marius Gripsgard 7cd39b7d 2018-01-13T01:58:11 Mir: Handle close window events
Sam Lantinga a0c4eb2a 2018-01-10T18:00:51 Restored borderless window behavior where DOTA created a borderless window the size of the desktop and expected it to behave like a fullscreen desktop window. A future SDL release will change the borderless window to act more like a normal window that happens to have no chrome, to support windows that draw their own chrome. In the meantime, those applications should set the "SDL_BORDERLESS_WINDOWED_STYLE" hint.
Alex Szpakowski 3bfada2e 2018-01-10T19:56:51 Android: resolve symlinks in SDL_AndroidGetInternalStoragePath (thanks Henrique Gemignani and cigumo!) Fixes issues on modern Android versions when the path is used in code that explicitly doesn't follow symlinks (such as PHYSFS_mkdir).
Sam Lantinga 72d45079 2018-01-10T10:42:40 Added availability check to fix compiler warning for symbol only available on tvOS 11.0 and newer
Cole Campbell b401cfd9 2018-01-09T19:11:34 Allow Android Java shim to be built as an AAR
Alex Szpakowski 7d5437bb 2018-01-07T22:00:37 metal: set max texture size based on device capability.
Alex Szpakowski a8c0532c 2018-01-07T16:57:32 metal: Fix pipeline states to use the pixel format of the current render target, instead of a hard-coded format.
Alex Szpakowski 740a90af 2018-01-06T18:54:12 metal: Add support for YUV/NV12 texture formats.
Alex Szpakowski 9a8683b2 2018-01-04T22:16:42 metal: use a private instead of managed buffer for the renderer's non-changing constant data. Recommended by Xcode's Metal frame capture analysis.
Alex Szpakowski 990ebba5 2018-01-04T19:29:33 metal: Implement fast hardware clearing when possible, by deferring the start of a render pass until a clear or draw operation happens.
Sam Lantinga 66baf736 2018-01-03T11:31:42 Fixed spacing in copyright headers
Sam Lantinga 7c60bec4 2018-01-03T10:58:58 Fixed bug 4018 - Implement SDL_GetWindowBordersSize() under Windows/Win32/WinAPI Ismael Ferreras Morezuelas (Swyter) As a new year gift I have implemented the Windows version of SDL_GetWindowBordersSize(). I needed it for auto-selecting a cozy window size for the game I'm currently working on and noticed that it only worked under X11, so I thought it could be a good excuse to contribute back more stuff. The Mercurial patch is attached as a .diff file. Let me know what you think. Happy 2018 to all the SDL2 devs and users! -- PS: Keep in mind that Windows 10 includes the 8px invisible grip borders as part of the frame. There's a way of detecting if Aero/DWM is being used and ask only for the visible rect, but I believe that GetWindowRect() is doing that for a reason and working as intended, so I haven't changed it. (See [2]) References: [1]: http://www.firststeps.ru/mfc/winapi/r.php?72 [2]: https://stackoverflow.com/a/34143777/674685 [3]: https://stackoverflow.com/a/431548/674685 [4]: https://wiki.libsdl.org/SDL_GetWindowBordersSize
Sam Lantinga 8111a632 2018-01-03T10:49:26 Fixed bug 4013 - Wayland: fix videoquit on multimonitor system Vladimir On multimonitor system Wayland_VideoQuit invalid deiniting. Tested in Centos7 + Weston
Sam Lantinga 1fa4bcca 2018-01-03T10:43:01 Fixed bug 4012 - Wayland: invalid direction on mouse wheel Vladimir Invalid direction on mouse wheel Patch tested in Centos 7 + Weston
Sam Lantinga 6bc38737 2018-01-03T10:07:27 Fixed bug 4011 - Wayland: fix free cursor Vladimir Sometimes SDL application crashes on cursor free. Patch tested under Centos 7 + weston
Sam Lantinga e3cc5b2c 2018-01-03T10:03:25 Updated copyright for 2018
Alex Szpakowski 888198ee 2018-01-03T00:43:01 metal: Misc. improvements. - Use a single buffer for various non-changing constants accessed by the GPU, instead of multiple buffers. - Do the half-pixel offset for points and lines using a transform matrix so we don't need a malloc when rendering. - Don't add a half-pixel offset for other primitives and textures. This matches D3D and GL render behaviour. - Remove the half-texel texture coordinate offset since it's not needed now that there's no more half-pixel position offset when rendering a texture. - Don't try to set texture usage on iOS 8 since it doesn't exist there.
Alex Szpakowski f9cd7650 2018-01-02T21:44:28 metal and moltenvk: fix highdpi.
Alex Szpakowski ef1014ac 2018-01-02T19:06:14 configure script: Implement testing for build-time Metal SDK support.
Sam Lantinga b3b5c473 2018-01-02T14:32:15 Fixed direction of y adjustment for new orthographic projection in the metal renderer
Sam Lantinga fa86807c 2018-01-02T14:11:10 Fixed metal renderer pixel centers when drawing
Alex Szpakowski 07f08b47 2018-01-01T23:06:08 metal: Fix a typo preventing iOS compilation...
Alex Szpakowski 1cc66033 2018-01-01T23:03:50 metal: Clean up manual reference counting. Fixes some memory leaks.
Ryan C. Gordon 7c667a6f 2018-01-01T19:16:51 windows: Remove references to GetVersionExA (thanks, Andrew Pilley!). "GetVersionExA is deprecated in windows 8.1 and above's SDK, causing a warning when building against the win10 SDK. Attached patch cleans up the usage for a warning-free build. GetVersionExA was being used to test to see if SDL was running on win9x or winnt. A quick chat with Ryan on twitter suggested that SDL doesn't officially support win9x anymore, so the call to this can be outright removed. As an aside, replacing the call to GetVersionExA with VerifyVersionInfoA (the recommended path) would have been pointless, as VerifyVersionInfoA only supports VER_PLATFORM_WIN32_NT and doesn't officially support any other value for dwPlatformId currently. (And it's probable that win9x SDKs didn't have VerifyVersionInfo* in them anyway.)" Fixes Bugzilla #4019.
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.