include


Log

Author Commit Date CI Message
Cameron Gutman 6b057c67 2021-01-26T19:16:17 Expose separate keyboard and mouse grab support This adds SDL_SetWindowKeyboardGrab(), SDL_GetWindowKeyboardGrab(), SDL_SetWindowMouseGrab(), SDL_GetWindowMouseGrab(), and new SDL_WINDOW_KEYBOARD_GRABBED flag. It also updates the test harness to exercise this functionality and makes a minor fix to X11 that I missed in https://hg.libsdl.org/SDL/rev/02a2d609369b To fit in with this new support, SDL_WINDOW_INPUT_CAPTURE has been renamed to SDL_WINDOW_MOUSE_CAPTURE with the old name remaining as an alias for backwards compatibility with older code.
Ozkan Sezer aa4a6b0b 2021-01-25T04:11:40 better check for clock_gettime_nsec_np() -- cf. bug #5467.
Sam Lantinga ac72a2ba 2021-01-25T20:38:50 Fixed bug 5493 - Hint to let the user opt out of having Switch controllers' Home button lit when opened jibb New hint to let the user opt out of having Switch controllers' Home button lit when opened. This is more consistent with the Switch itself (which doesn't light the button normally) and may be preferred by users who may disconnect their controller without letting the application close it. I think this warrants a Switch-specific hint because the default behaviour is unusual (inconsistent with using a Switch controller on a Switch itself or with some other programs on PC), and because of that it's distinct from other lights (the player number on Switch controllers and the player colour on PlayStation controllers).
Sam Lantinga 1981d23f 2021-01-23T11:06:35 Fixed bug 5466 - Add haptic support for Stadia Controller Dimitriy Ryazantcev Consider adding support for Stadia Controller haptics. Here is example code how to deal with it: https://github.com/chromium/chromium/blob/99314be8152e688bafbbf9a615536bdbb289ea87/device/gamepad/hid_haptic_gamepad.cc#L45
Ozkan Sezer 23764588 2021-01-23T17:24:28 renamed SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H to SDL_HAVE_MACHINE_JOYSTICK_H
Ozkan Sezer 02e61a88 2021-01-23T17:18:09 added SDL_JOYSTICK_OS2 to SDL_config.h.in and SDL_config.h.cmake
Ozkan Sezer 4a776557 2021-01-22T20:10:02 old os2 analogue joystick code ported from SDL-1.2. disabled by default, build-tested only.
Sam Lantinga 96cfb812 2021-01-23T09:50:43 Fixed bug 5467 - SDL sys timer Mac OS update proposal David Carlier Change of api from 2016 which reduce code complexity a bit.
JibbSmart 0f57864c 2021-01-18T19:57:29 Hint SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS added so we can recognise a Joy-Con as half a Pro Controller, so we can read its analog input and read its sensors just like we do a Pro Controller.
Cameron Gutman 6e97170e 2021-01-08T21:16:06 Use PS4 rumble hint as the default for the PS5 rumble hint Existing SDL applications may not know about the need to set a specific hint to enable rumble on PS5 controllers, even though they may already set the equivalent SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE hint for PS4 controller rumble support. Rather than requiring those developers update their apps, let's use the SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE value as an indication of the behavior they are expected for all PlayStation controllers.
Sam Lantinga 69bd7ebb 2021-01-15T00:02:33 Fixed build
Sam Lantinga 6a342954 2021-01-14T14:42:53 Fixed bug 5451 - Can't create EGLSurface in Wayland from SDLWindow (no EGLNativeWindow pointer) sashikknox In some cases, need create EGLWindow with SDLWindow. In X11 i can get pointer to NativeWindow from **struct SDL_SysWMinfo wmInfo** ```C++ struct SDL_SysWMinfo wmInfo; SDL_GetWindowWMInfo(ptSDLWindow, &wmInfo) #if defined(__unix__) && defined(SDL_VIDEO_DRIVER_X11) nativeWindow=(EGLNativeWindowType)wmInfo.info.x11.window; nativeDisplay=(EGLNativeDisplayType)wmInfo.info.x11.display; #endif ``` than i can create EGLSurface ``` eglCreateWindowSurface(nativeDisplay, EGL_CONFIG, nativeWindow, SURFACE_ATTRIBUTES); ``` in Wayland i can do it with same way, just need pointer to **EGLWindow**, we already have pointer to **wl_display** from **SDL_sysWMInfo**, need add to **wl** struct in SDL_SysWMInfo another pointer to **struct wl_egl_window *egl_window;**. And in wayland backend, in function **Wayland_GetWindowWMInfo** return pointer to **egl_window** from **SDL_WindowData** Now i use patched statically built SDL2 in port of Quake 2 GLES2 for SailfishOS (it use QtWayland): link to SDL2 commit and changed string for patch: - https://github.com/savegame/lp-public/commit/6858a618cd179b766fe3cab36055f07cb03ad0ea - https://github.com/savegame/lp-public/blob/b1e29e87b9d15780e47f04918b329ac15554fc69/SDL2/src/video/wayland/SDL_waylandwindow.c#L463 link to use in Quake2 port: 1. here i get pointer to EGLNativeWindowType: https://github.com/savegame/lp-public/blob/6d94fedb1b720da24999ae6286a1809cd3d55ff5/Engine/Sources/Compatibility/OpenGLES/EGLWrapper.c#L319 2. then use it for create EGLSurface: https://github.com/savegame/lp-public/blob/6d94fedb1b720da24999ae6286a1809cd3d55ff5/Engine/Sources/Compatibility/OpenGLES/EGLWrapper.c#L391
Sam Lantinga b2aaab3d 2021-01-14T14:34:24 Fixed bug 5462 - debug trap update/fix of assembly for Apple devices David Carlier updating preprocessor constant and proposing 32 bits variant.
Sam Lantinga 82aafa9a 2021-01-14T14:32:11 Fixed bug 5461 - Add rewritten WSCONS driver for OpenBSD wahil1976 This patch adds a written-from-scratch WSCONS driver for OpenBSD. It does not have hardcoded keymaps, and it features mouse support when wsmux is available. For this to work, it needs access to the /dev/wskbd* devices which are not available to non-root users by default. Access to those can be granted by changing /etc/fbtab to give the logging user the ownership of those devices.
Sylvain Becker be4cfd51 2021-01-05T11:56:22 Add SDL_UpdateNVTexture() to update NV12/21 Texture (bug #5430) for renderer software, opengl, and opengles2
Cameron Gutman 0f094670 2021-01-04T19:51:56 Use Clang/GCC builtins for SDL byteswapping functions __builtin_bswap32/64 were introduced in GCC 4.3. __builtin_bswap16 was not available on x86 until GCC 4.8 due to a bug. __builtin_bswap32/64 were introduced in Clang 2.6. __builtin_bswap16 was introduced in Clang 3.2.
Ozkan Sezer f414a436 2021-01-04T03:00:10 simplify Watcom implementation of SDL_MostSignificantBitIndex32()
Cameron Gutman 91a831e2 2021-01-03T14:02:55 Implement SDL_MostSignificantBitIndex32 using MSVC intrinsics
Sam Lantinga 393c8c1f 2021-01-03T10:32:55 Fixed bug 5440 - MacCatalyst build failures C.W. Betts I tested building commit http://hg.libsdl.org/SDL/rev/7adf3fdc19f3 on Mac Catalyst and found some issues: * MTLFeatureSet_iOS_* enums aren't available under Mac Catalyst. * OpenGL ES is unavailable under Mac Catalyst. * Some Metal features are available under Catalyst but not iOS, such as displaySyncEnabled. * Set Metal as the default renderer on Mac Catalyst Attaching a patch that will make SDL2 build for Mac Catalyst.
Sam Lantinga 6f9e18da 2021-01-03T10:18:39 Fixed bug 5441 - Add support for endianness check on FreeBSD: Fixes endianness checking on at least powerpc64le, maybe also other architectures VVD Patch based on patch from FreeBSD port devel/sdl20: https://svnweb.freebsd.org/ports/head/devel/sdl20/files/patch-include_SDL__endian.h?view=log
Cameron Gutman 6cbd4417 2021-01-02T14:45:15 Add a hint for D3D9Ex to avoid having to choose at compile-time
Cameron Gutman 115d66e7 2021-01-02T12:50:01 Use MSVC _byteswap intrinsics for SDL byteswapping functions This generates bswap on x86/x64 and rev on ARM
Sam Lantinga 9130f7c3 2021-01-02T10:25:38 Updated copyright for 2021
Sam Lantinga 223af86c 2021-01-01T11:12:30 Added SDL_RenderGetD3D11Device() to get access to the device associated with the D3D11 renderer
Ozkan Sezer 5b2e011e 2020-12-30T23:55:02 SDL_endian.h: minor fixes from SDL-1.2 branch ( forward-port of changesets 3909:6832b00d3594 and 5657:529d23724144 )
Ozkan Sezer 92edee23 2020-12-30T01:28:02 SDL_config_android.h: update SIZEOF_VOIDP define to respect __LP64__
Ozkan Sezer 7c105f12 2020-12-30T01:21:10 updates to SDL_config_os2.h
Ozkan Sezer 1cdc1d48 2020-12-30T01:00:24 SDL_config.h.cmake, SDL_config.h.in: update for SIZEOF_VOIDP define
Ozkan Sezer 9fc139df 2020-12-30T01:00:24 SDL_config_windows.h: add missing HAVE_STRTOULL along side HAVE_STRTOLL
Ozkan Sezer b76b81b0 2020-12-30T01:00:24 SDL_config.h.cmake, SDL_config.h.in: add os/2 driver defines in case autofoo or cmake is used for it some day..
Ozkan Sezer 8a32ee24 2020-12-30T01:00:24 removed MSVC strtok_s use from SDL_strtokr(). no other ??_s are used elsewhere in SDL_stdinc. besides, C11 has a strtok_s with a different signature.
Sam Lantinga 0684572c 2020-12-29T12:13:10 Added a hint to control whether the player LEDs should be lit to indicate which player is associated with a PS5 controller.
Joel Linn 8fc0baad 2020-12-28T11:43:11 Add SDL_cond implementation using Windows Condition Variables Is automatically used when the SRW SDL_mutex implementation is active. Otherwise falls back to the generic implementation. v2: - Rebase onto master fa3ea1051a4b
Joel Linn 2443e51e 2020-12-28T11:42:49 Add optional suffix `_generic` to generic SDL_cond impl Allows for runtime selectable implementation
Ozkan Sezer 9e22f62e 2020-12-28T11:50:02 arm64 implementations of SDL_Swap16/32 (bug #5419.) patch from David Carlier.
Ozkan Sezer 2355dea4 2020-12-28T08:00:50 revert 'arm64 implementations of SDL_Swap16/32' for now (bug #5419)
Ozkan Sezer 2f99bc07 2020-12-28T07:20:20 arm64 implementations of SDL_Swap16/32 (bug #5419.) patch from David Carlier.
Sam Lantinga 93ccdee8 2020-12-23T13:47:49 Fixed bug 5404 - stdlib: Added SDL_round, SDL_roundf, SDL_lround and SDL_lroundf Cameron Cawley stdlib: Added SDL_round, SDL_roundf, SDL_lround and SDL_lroundf The default implementation is based on the one used in the Windows RT video driver.
Joel Linn d0b8295c 2020-12-23T13:36:46 Add SDL_sem implementation using Atomics and WaitOnAddress API. Keep Semaphore Kernel Object impl for Windows 7 and older - choose at runtime v2: - Fix mixed int/LONG types - Reorder definitions - Add missing include v3: - Use `GetModuleHandle()` to load the API Set
Joel Linn 548cb908 2020-12-23T13:33:36 Add SDL_mutex implementation using Windows Slim Reader/Writer Locks Keep Critical Section impl for Windows XP/Vista - choose at runtime v2: - Add SRW definitions as suggested by Ozkan Sezer Allows building against older platform headers. - Rename "hidden" function parameter `mutex_` to `_mutex` v3: - Use GetModuleHandle instead of LoadLibrary - Fix typo in comment
Sylvain Becker ae8a270f 2020-12-23T21:37:40 Add SDL_SoftStretchLowerLinear() (Bug 5313)
Sam Lantinga 4ec776c3 2020-12-22T13:29:23 Don't switch the PS5 controller out of DirectInput mode by default
Sam Lantinga 350f1b0d 2020-12-22T10:36:15 Updated SDL to version 2.0.15 for development
Sam Lantinga 5f7cd1fa 2020-12-18T10:08:59 Added hints to control whether SDL updates joystick and sensor state in the main event loop
Sam Lantinga 6bd4c717 2020-12-17T21:41:23 Fixed bug 5402 - ARM support little update proposal David Carlier No fix but mostly an update for ARM architecture.
Ozkan Sezer b6e63625 2020-12-13T15:32:24 fix bug #5395: handle old systems where inotify_init1 is not available
Sam Lantinga ce7c751c 2020-12-12T23:54:40 Document that the joystick deadzone hint defaults off
Sam Lantinga 13a4caf1 2020-12-12T22:08:02 Fixed bug 4286 - Joystick subsystem causes "not responding" when app is in the background Added a hint to control whether a separate thread should be used for joystick events. This is off by default because dispatching messages in other threads appears to cause problems on some versions of Windows.
Ozkan Sezer bca9decb 2020-12-12T23:28:10 fix bug #5394 - define _DARWIN_C_SOURCE only if not already defined
Sam Lantinga 7fa5e95b 2020-12-09T07:23:47 Fixed bug 5213 - Add support to metal in iOS/tvOS simulator Vincent Hamm Xcode11 and ios13 added support for metal simulator. Here is a quick and dirty patch to enable it. Pretty early and only tested on a few samples for now. Required mostly to enable metal support on correct version of ios, generate simulator compatible shaders and enforce buffer alignments on simulator (same as osx).
Ozkan Sezer 250a0557 2020-12-09T12:01:10 fix bug #5384 -- define DLL_EXPORT in DLL builds and adjust begin_code.h
Sam Lantinga a2098a47 2020-12-08T18:56:06 Updated SDL to 2.0.14 in preparation for release candidate
Sam Lantinga 7f1c6e82 2020-12-08T09:13:08 Accepted patch https://github.com/microsoft/vcpkg/blob/master/ports/sdl2/enable-winrt-cmake.patch
Sam Lantinga 7854f43b 2020-12-01T14:43:15 Disable SDL_JOYSTICK_HIDAPI on iOS and tvOS by default It's only needed for Steam Controller support, and introduces a Bluetooth framework dependency which requires additional permissions on the App Store.
Sam Lantinga a0c5bfa3 2020-11-27T13:08:40 Moved raw input event processing from the main thread to the joystick thread This allows fast joystick event delivery regardless of what the main thread is doing.
Sam Lantinga 845b9033 2020-11-25T16:46:42 Implemented trigger rumble for raw input controllers
Ozkan Sezer e5783e11 2020-11-25T14:51:56 cmake: add missing checks for wcscasecmp, _wcsicmp, wcsncasecmp, _wcsnicmp
Ozkan Sezer 7c18088f 2020-11-25T14:51:56 SDL_config_os2.h: define HAVE__WCSICMP and HAVE__WCSNICMP
Sam Lantinga 46a84478 2020-11-24T12:43:01 Added SDL_wcscasecmp() and SDL_wcsncasecmp()
Sam Lantinga c63bbb06 2020-11-24T06:55:33 Including SDL_config_iphoneos.h enables MFI controller code
Sam Lantinga 1e943e2a 2020-11-23T22:59:22 Fixed building with an older SDK and macOS target
Sam Lantinga 1fc5ca64 2020-11-23T22:24:54 Fixed building with an older SDK and macOS target
Sam Lantinga e9869e07 2020-11-23T21:08:19 Fixed bug 5335 - enable joystick/haptic/evdev support by default on FreeBSD Alex S Evdev headers aren't actually included in the base system (well, it has a private copy), they are available through the devel/evdev-proto port instead. We also have devel/libinotify and devel/libudev-devd shims, I didn't verify whether they work with SDL.
Sam Lantinga 38ab8bf7 2020-11-23T21:03:43 Fixed bug 5362 - Mac OS ARM doesn't build Metal/Vulkan back-end/renderers C.W. Betts As it is, SDL2's built-in config on macOS for Metal excludes Apple Silicon. This is due to thinking that the 64-bit Mac platform would always be x86_64. My patch fixes this by using the catch-all of 64-bit platforms.
Sam Lantinga 62e39b5f 2020-11-23T20:57:14 Fixed building with an older SDK and macOS target
Ozkan Sezer 4c96faee 2020-11-23T20:37:10 remove non-existing tslib support from autofoo and cmake
Sam Lantinga fd894467 2020-11-21T14:13:26 Fixed building on Mac OS X on the command line and with an older macOS SDK
Sam Lantinga 1df593fb 2020-11-21T13:15:33 Fixed bug 5355 - Add GameController Framework support to macOS C.W. Betts This patch adds support to the GameController framework on macOS Big Sur and later, adding support for MFi controllers as well as rumble support for PS4 and Xbox One. There is some code to make sure that the IOKit joystick handler doesn't include two controllers at once. While the GameController framework is present in earlier versions of macOS, there was no public, approved way of checking if a specific IOHIDDevice is a controller that GameController could handle. This was changed in Big Sur.
Sam Lantinga fcb21aa8 2020-11-17T10:30:20 Added API for sensors on game controllers Added support for the PS4 controller gyro and accelerometer on iOS and HIDAPI drivers Also fixed an issue with the accelerometer on iOS having inverted axes
Sam Lantinga d140d887 2020-11-16T17:36:47 Added SDL_JoystickGetSerial() and SDL_GameControllerGetSerial()
Sam Lantinga 71e32f5e 2020-11-16T15:00:15 Added SDL_crc32()
Ozkan Sezer bbbec723 2020-11-14T14:03:40 SDL_config_windows.h: define HAVE_TRUNC[F] for Visual Studio >= 2013
Ozkan Sezer 3e40b87f 2020-11-14T14:03:40 SDL_config_os2.h: undefine HAVE_TRUNC trunc() exists only in OpenWatcom 2.0 fork, and its implementation already is the same as the fallback we have here..
Ryan C. Gordon bee8db3b 2020-11-14T02:16:41 config: Make sure HAVE_TRUNC and HAVE_TRUNCF are defined as appropriate. The configure/cmake scripts were checking for these functions but we didn't have the SDL_config.h.* pieces in place. The other config headers are best guesses.
Sam Lantinga 9f51fad3 2020-11-13T18:01:29 Added support for the touchpad on PS4 and PS5 controllers
Sam Lantinga 0500c044 2020-11-12T07:53:05 Fix SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL also applying to HIGH priorities As the name suggests, the hint should only apply to SDL_THREAD_PRIORITY_TIME_CRITICAL The resulting priorities for my current distro result in these values: | High | Time Critical Hint |--------------|----------------- 0 | P=10 N=-10 | P=5 N=-15 1 | P=10 N=-10 | P=-21 N=0
Ozkan Sezer 52486d01 2020-11-12T15:10:00 SDL_keycode.h (SDL_Keymod): remove comma at end of enumerator list
Sam Lantinga 1822f97e 2020-11-11T19:37:47 Fixed bug 5346 - Add FreeBSD evdev KBIO keyboard input driver wahil1976 This patch adds the KBIO text input driver for FreeBSD, which allows text input to fully work without text spilling out into the console. It also supports accented input, AltGr keys and Alt Lock combinations. Tested with US accent keys layout and various AltGr layouts.
Sam Lantinga 1e2caac5 2020-11-11T18:57:37 Added SDL_JoystickRumbleTriggers() and SDL_GameControllerRumbleTriggers()
Sam Lantinga 07eae7d6 2020-11-11T08:47:18 Fix process randomly getting killed when SDL_THREAD_PRIORITY_HIGH/TIME_CRITICAL is set When we request realtime priority from rtkit, we have a rttime limit. If we exceed that limit, the kernel will send SIGKILL to the process to terminate it. This isn't something that most high priority processes will want, only processes that selectively opt into SCHED_RR/FIFO through SDL_HINT_THREAD_PRIORITY_POLICY should be subject to this level of scrutiny. This change: * Switches non-apple posix OSs to use SCHED_OTHER instead of SCHED_RR for SDL_THREAD_PRIORITY_HIGH/SDL_THREAD_PRIORITY_TIME_CRITICAL. * Fixes using a hardcoded RLIMIT_RTTIME, instead queries it from rtkit * Only sets RLIMIT_RTTIME for MakeRealtime rtkit requests * Adds a note regarding the possible SIGKILL with SDL_HINT_THREAD_PRIORITY_POLICY * Introduces SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL to allow apps to acquire realtime scheduling policies on Linux
Sam Lantinga f656d845 2020-11-09T10:29:10 Fixed typo in the documentation
Sylvain Becker b198febb 2020-11-08T10:22:27 Documentation: fix minor gamecontroller parameter warning
Sam Lantinga 009b62f1 2020-11-07T02:22:15 Be explicit about mapping the new game controller paddle buttons
Sam Lantinga 3a438848 2020-11-06T17:06:41 Document the Xbox One Elite paddle buttons
Sam Lantinga 9a446aa9 2020-11-06T13:55:51 Note that SDL_CONTROLLER_BUTTON_AUX1 is sent for the PS4/PS5 touchpad button on the HIDAPI driver.
Sam Lantinga 3a3aaac2 2020-11-06T11:30:52 Added 4 auxiliary buttons to the game controller API Xbox Elite controllers use AUX1-AUX4 to represent the paddle buttons when using the HIDAPI driver PS4 and PS5 controllers use AUX1 to represent the touchpad button Nintendo Switch Pro controllers use AUX1 to represent the capture button
Sam Lantinga a22beef4 2020-11-05T17:03:28 Moved the PS5 controller driver to a separate file, as the advanced feature protocol is very different from that of the PS4
Sam Lantinga 4d79f966 2020-11-05T15:02:54 Added initial support for the Sony PS5 Controller
Sam Lantinga e555d453 2020-11-05T11:07:54 Added SDL_JoystickHasLED Currently, this is only supported by the PS4 HIDAPI driver.
Ozkan Sezer 79221e85 2020-10-29T20:00:20 SDL_stdinc.h: define _DARWIN_C_SOURCE on macOS for memset_pattern4() hopefully fixes https://bugzilla.libsdl.org/show_bug.cgi?id=5107
Ozkan Sezer fbbc4ab3 2020-10-24T20:12:50 os2: can build with libsamplerate support if wanted to.
Sylvain Becker ffb307e4 2020-10-18T09:52:56 Fixed bug 5304 - add SDL_HasSurfaceRLE() (Thanks Rene Dudfield and Dan Lawrence)
Sam Lantinga b8ed432c 2020-10-16T12:35:30 Added a note about Android 11
Ozkan Sezer 52b319fe 2020-10-16T02:50:10 minor update to os/2 config file and update. binary (dll) output doesn't change.
Ozkan Sezer d2723875 2020-10-14T23:01:06 os2: integrate the port into main tree.
Ozkan Sezer fc795f89 2020-10-13T05:20:00 SDL_cpuinfo.h: add missing const to size parameter of SDL_SIMDRealloc() so that the declaration matches the definition.
Ozkan Sezer 196cda69 2020-10-12T01:02:28 build: fix / update sensors (windows) configuration - SDL_config.h.in: add missing defines SDL_SENSOR_COREMOTION and SDL_SENSOR_WINDOWS (configure did set SDL_SENSOR_WINDOWS but it never went in SDL_config.h or Makefile.) - SDL_config.h.cmake: remove duplicated SDL_SENSOR_XXX cmake defines. - autofoo, cmake: check for sensorsapi.h header before enabling windows sensors.
Ozkan Sezer e58cc5fa 2020-10-09T03:28:30 minor whitespace fix
Ozkan Sezer 3aa418f4 2020-10-09T02:50:15 SDL_video.h (SDL_DisplayEventID): remove comma at end of enumerator list
Sam Lantinga 76980e30 2020-10-08T16:42:20 Added events for dynamically connecting and disconnecting displays, with an iOS implementation