Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| b63cb822 | 2021-05-30 01:57:56 | Added T500RS to known wheel list | ||
| b81969d4 | 2021-05-17 14:50:33 | Be more explicit about Xbox 360/One device ids. When Xbox One/Series Controllers are connected via USB on Windows they all are using `XBOXGIP` driver and produce a special ProductID `0x02FF` (GIP software PID) for any connected controller. On the other hand `Xbox 360 Wireless Controller Reciever` (PID 0x0719) is using `XUSB` driver and produces special ProductID `0x02A1` (XUSB software PID) for each connected Xbox 360 Wireless Controller. Also fixed Xbox One Series X Controller comment. | ||
| 86ee383f | 2021-05-25 09:59:45 | Removed duplicate SDL_AtomicGet() | ||
| fed84650 | 2021-05-27 10:40:41 | loadbmp: Attempt to handle small palettes better. Only adjust the biClrUsed field if it is set to zero in the bitmap, and make some effort to make sure we don't overflow a buffer in any case. This was triggering an issue with the sailboat bmp used for testpalette.c in SDL 1.2, which is an 8-bit paletted image with 66 palette entries instead of 256. See discussion at https://github.com/libsdl-org/sdl12-compat/issues/63 This change might be a problem, but there's no indication this code, which originally landed in SDL_image 17 years ago with a large rewrite, is actually fixing a specific issue. I'm also not sure we should actually make an effort to accept a bmp that has a biClrUsed field that is both non-zero and _also_ incorrect. | ||
| db146e66 | 2021-05-25 10:34:04 | Fixed warnings building with Visual Studio | ||
| 3fcaf5b4 | 2021-05-25 10:33:30 | Fixed incorrect axis scaling for Nintendo Switch controllers | ||
| 157c3f80 | 2021-05-21 09:45:08 | [SDL] Minimize number of system calls when handling WM_INPUT raw input messages. Details: Currently doing 4 system calls per WM_INPUT message, which can cause the thread handling the message loop to be swapped out several times: * GetProp - to get window data from the window handle * GetRawInputData - to retrieve the raw input data * 2 calls to GetMessageExtraInfo - to ignore synthetic mouse events generated for touchscreens In this change: * Replaced GetProp by iterating the list of windows maintained by SDL (with a fallback to GetProp). Note that this will affect all messages and not just WM_INPUT * only calling GetMessageExtraInfo if a touchscreen has been detected Fix for https://jira.valve.org/browse/CSGO-4855 @saml | ||
| dbbc725f | 2021-05-19 14:25:48 | Remove WSCONS mouse scaling | ||
| 2aa14b38 | 2021-05-19 14:24:58 | Add missing key to WSCONS-to-SDL conversion table | ||
| 333c8e75 | 2021-05-17 11:54:05 | The PS5 driver supports Joystick LED | ||
| be5356af | 2021-05-14 14:44:13 | winrt: Fix support for multiple simultaneous mouse button presses | ||
| 62a562de | 2021-05-12 23:37:18 | X11: use x11sym loaded functions (see bug #3978) | ||
| 531d83bf | 2021-05-12 23:13:48 | X11: allow using touchscreen, while pointer is grabbed (see bug #3978) | ||
| 9e1d7bae | 2021-05-12 17:43:39 | Added T300RS to known wheel list | ||
| e1db4b82 | 2021-05-11 14:08:17 | egl: Don't crash if we failed halfway through SDL_CreateWindow. | ||
| f2f451a5 | 2021-05-10 13:29:54 | wayland: Call SetWindowBordered at the end of ShowWindow | ||
| c5dd9964 | 2021-04-07 12:14:16 | Copied X11 error handler code from SDL_x11opengl.c Avoids needing to malloc to hold the error string. | ||
| b3b4677e | 2021-04-07 11:17:52 | (X11) Set _NET_WM_NAME properly, fixes Unicode window titles Removes deprecated code meant to support extremely ancient, pre-UTF-8 versions of Xorg. Uses new xlib API's for doing this same thing. Closes #4288. | ||
| f4ab1c94 | 2021-05-10 13:08:34 | gamecontrollerdb: Add entry for the 8BitDo Receiver for Linux. Fixes #3048. | ||
| bedc509a | 2021-05-10 13:04:59 | gamecontrollerdb: added entry for PowerA XBox One Controller for Linux. Fixes #3910. | ||
| efbb6ff9 | 2021-05-10 12:42:28 | wayland: Create the server decorations after the toplevel has been configured | ||
| 9dc97afa | 2021-05-08 12:39:50 | cocoa: Report an error if SDL_SetClipboardText() isn't using UTF-8 encoding. Fixes #4110. | ||
| 9231f1f1 | 2021-05-07 12:29:03 | Added support for the PS5 controller on iOS and tvOS | ||
| 4c7f8a74 | 2021-05-07 12:28:23 | Merge commit 'f8695185331460106f34286ebe466cb605f85bb6' into main | ||
| 9cf1b391 | 2021-05-07 12:28:22 | Merge commit '21349901ea250483600cbe4771d865cc06f6b538' into main | ||
| 889cebb7 | 2021-05-05 14:08:30 | Wayland touch inputs send normalized coords Resolves #4361 | ||
| 31637dde | 2021-05-04 14:59:29 | Generic check for desktop GL and EGL on Linux systems | ||
| 58884e4c | 2021-05-04 00:23:40 | SDL_audiocvt.c: fixed MSVC double->float conversion warnings. | ||
| c69fde34 | 2021-05-02 16:43:01 | wayland: Maximize/Restore should set the relevant window flags. Also, Maximize should be ignored for fixed-size windows. | ||
| 006378b9 | 2021-05-02 18:30:32 | fix NULL frame_callback access | ||
| 424bbaec | 2021-05-01 18:53:12 | wayland: destroy frame callback when window is destroyed | ||
| 20928550 | 2021-05-01 09:00:24 | wayland: Guard surface_frame_listener for OpenGL, document why it exists | ||
| 3d47ddc4 | 2021-05-01 08:57:37 | wayland: Use refresh_rate to calculate max_wait in SwapWindow | ||
| 7b284dbb | 2021-04-30 22:01:48 | EglChooseConfig: choose an accelerated configuration - especially because we can be promoted to true color 888 make sure we don't select a potentially software implementation - hopefully fix bug #1482 (EGL ChooseConfig selects software renderer on Android) | ||
| 9161f951 | 2021-04-27 02:25:57 | egl: Reject attempts to set negative swap intervals | ||
| c54c16d3 | 2021-04-30 13:19:36 | wayland: don't hang in SDL_GL_SwapBuffers if the compositor is ghosting us. If you hide a window on Mutter, for example, the compositor never requests new frames, which will cause Mesa to block forever in eglSwapBuffers to satisfy the swap interval. We now always set the swap interval to 0 and manage this ourselves, handing the frame to Wayland when it requests a new one, and timing out at 10fps just to keep apps moving if the compositor wants no frames at all. My understanding is that other protocols are coming that might improve upon this solution, but for now it solves the total hang. Fixes #4335. | ||
| 227021b6 | 2021-04-30 11:25:20 | SDL_windowsmessagebox.c (MessageBoxDialogProc): fix calling convention. | ||
| a74f888f | 2021-04-29 22:25:00 | Fixed bug #4337 - compilation of 'SDL_vulkan_utils' fails with 'VK_ERROR_INCOMPATIBLE_VERSION_KHR' undeclared | ||
| 8ac0fb52 | 2021-04-29 09:29:02 | OpenSLES: CloseDevice() is called at higher level, if OpenDevice() fails - explicit initialization of static variables | ||
| 1f3df900 | 2021-04-28 23:40:26 | Error missing 'flags' initialization (see bug #2881) | ||
| fcbf19b7 | 2021-04-28 21:04:47 | AAudio: make sure stream is not null to prevent crash in RequestStop (see #3710) | ||
| c93e3b36 | 2021-04-28 10:43:28 | Fixed bug #2881 - SDL_RLEsurface may encode RGB888 if it has no color key (Thanks Simon Hug) To encode with BLEND mode, it needs a valid alpha channel | ||
| b6264297 | 2021-04-27 11:10:41 | Merge remote-tracking branch 'refs/remotes/origin/main' | ||
| f8695185 | 2021-04-27 11:07:51 | Audio: normalize conversion Stereo to 5.1, Quad to 7.1, 5.1 to 7.1 (bug #4104) | ||
| 21349901 | 2021-04-27 10:57:48 | Audio: convert 5.1 to 7.1, use right-surround for r-front and r-back (see #4104) | ||
| 8527c583 | 2021-04-27 01:36:23 | cocoa: Fix recreated windows that are both borderless and resizable. These would accidentally get a titlebar because the "borderless" style mask is zero but the resizable attribute adds a bit. I assume this happens because you used to need window decoration to resize a window in macOS, but this changed in later releases. This only caused problems when recreating a window (you had an SDL_WINDOW_OPENGL window and tried to create a Metal SDL_Renderer on it, etc). Fixes #4324. | ||
| 40210f89 | 2021-04-26 15:54:14 | winrt: Always use a thread for joystick support | ||
| 2fdbae22 | 2021-04-26 18:43:28 | cocoa: Remove mouse event tap. It doesn't appear to work anymore, and was disabled by default anyhow, since the needed APIs are forbidden on the Mac App Store. A better solution to lock the mouse to the window on macOS would still be welcome. CGAssociateMouseAndMouseCursorPosition() works fine for relative mouse mode, this was just a question of SDL_SetWindowGrab(). As it stands now, a grabbed mouse can briefly break out of the window, causing varying degrees of chaos. | ||
| 9727655b | 2021-04-26 14:22:19 | SDL_test_common: add other window flags: --shown, --hidden, --input-focus, --mouse-focus | ||
| d62ebec2 | 2021-04-26 14:10:39 | SDL_test_common: replace 'resize' by 'resizable' | ||
| 1f482174 | 2021-04-25 12:44:35 | x11: Mark backing_store as NotUseful when creating windows. This can give some performance boost, and save some resources, as there's no reason to keep a copy of an SDL window's contents on the server: most SDL apps are redrawing completely every frame, and the API allows for expose events to tell an app a redraw is needed anyhow. (And compositors are free to ignore this setting if it makes sense to do so, according to the Xlib docs.) Reference Issue #3776. | ||
| 9c063468 | 2021-04-24 19:47:10 | x11: call XSync before XSetInputFocus during SDL_ShowWindow. This only happens when using a non-NET_WM window manager, as we might try to set the focus before the window is mapped. Fixes #3949. | ||
| ca969eb2 | 2021-04-24 10:29:52 | Remove gles2 vita render | ||
| 058bbe02 | 2021-04-24 10:17:03 | Set volume on device open | ||
| e3ea5b64 | 2021-04-24 10:16:21 | Migrate to lightweight mutexes | ||
| f1ad942a | 2021-04-22 17:24:05 | SDL_windows_main: use HeapAlloc/HeapFree for command line arguments If a developer uses SDL_SetMemoryFunctions, we can't rely on SDL_free() working when SDL_main() returns. Signed-off-by: Steven Noonan <steven@valvesoftware.com> Signed-off-by: Sam Lantinga <slouken@libsdl.org> | ||
| 17d8479d | 2021-04-22 15:44:01 | hidapi/libusb: maintain in-memory cache of vendor/product strings The get_usb_string call is rather expensive on some USB devices, so we cache the vendor/product strings for future lookups (e.g. when hid_enumerate is invoked again later). This way, we only need to ask libusb for strings for devices we haven't seen since before we started. Signed-off-by: Steven Noonan <steven@valvesoftware.com> Signed-off-by: Sam Lantinga <slouken@libsdl.org> | ||
| 4535d654 | 2021-04-22 14:35:59 | HIDAPI_UpdateDiscovery: only treat "add" and "remove" events as relevant I have a buggy system which reports a udev "change" event for an empty USB-C port every 0.14 seconds, which causes annoying frame hitches because SDL decides that means it needs to do a libusb hid_enumerate, which is slow (~25ms!) because of the get_usb_string() calls in there. We only need to re-enumerate if we've seen a device added or removed, so let's filter out the change event first. Signed-off-by: Steven Noonan <steven@valvesoftware.com> Signed-off-by: Sam Lantinga <slouken@libsdl.org> | ||
| b15bbd4e | 2021-04-22 16:11:13 | SDL_udev: check for NULL return value from udev_device_get_action Signed-off-by: Steven Noonan <steven@valvesoftware.com> Signed-off-by: Sam Lantinga <slouken@libsdl.org> | ||
| cf05a5eb | 2021-04-22 21:40:57 | eglChooseConfig: only add EGL_DEPTH_SIZE if non 0 and fix static / shadowed variables warnings for dump configs | ||
| 98a966d1 | 2021-04-22 18:06:17 | Android: don't need to set the SurfaceHolder format from java code It's already set with ANativeWindow_setGeometry, and eventually set/changed also by eglCreateWindowSurface. - avoid issues with older device where SurfaceView cycle create/changed/destroy appears broken: calling create/changed/changed, and leading to "deuqueBuffer failed at server side, error: -19", with black screen. - re-read the format after egl window surface is created, to report the correct one (sometimes, changed from RGBA8888 to RGB24) | ||
| 8e3ec34d | 2021-04-20 12:40:40 | wayland: Refactor toplevel mapping, implement HideWindow | ||
| 0838f53d | 2021-04-21 11:41:08 | Implement SDL_SetWindowAlwaysOnTop for X11 | ||
| a5825576 | 2021-04-21 13:39:31 | Fix error handling of wayland message box Zenity return a small integer on success which may be the same as EXIT_FAILURE. Use a bigger integer for error reporting from child process. | ||
| 12dd412b | 2021-04-21 13:31:15 | Fix icon of wayland message box Also add some comments and silence a warning. Co-authored-by: Ethan Lee <flibitijibibo@gmail.com> | ||
| d0cf3b75 | 2021-04-20 18:26:02 | Return correct button id | ||
| 1fd95c53 | 2021-04-20 18:15:09 | Disable pango markup in wayland massage box Zenity support pango markup, add --no-markup to disable it. | ||
| 0cd0e9ba | 2021-04-20 17:49:21 | Reimplement wayland message box function with execvp. Previous version used 'popen' which required to sanitize user provided text. Not sanitizing text could cause failure if user provided text included a " or command injection with `cmd`. | ||
| 99ef03b9 | 2021-04-21 01:22:22 | KMSDRM: Only use OpenBSD-specific defines on pre-6.9 releases | ||
| a0a5da5d | 2021-04-19 07:13:38 | Add SDL_SetWindowAlwaysOnTop() | ||
| 6be9c009 | 2021-04-20 13:46:25 | Android: prevent error EGL_BAD_DISPLAY while getting egl version without display There is an error "E libEGL : validate_display:91 error 3008 (EGL_BAD_DISPLAY)" that occurs when calling "eglQueryString(display, EGL_VERSION)", with EGL_NO_DISPLAY. Khronos says "EGL_BAD_DISPLAY is generated if display is not an EGL display connection, unless display is EGL_NO_DISPLAY and name is EGL_EXTENSIONS." but this was added in SDL with "EGL 1.5 allows querying for client version" ( https://github.com/libsdl-org/SDL/commit/56363ebf6124b345e1cfbd14fb6c0e654837910c ) In fact: - it actually doesn't work on Android that has 1.5 egl client - it works on desktop X11 (using SDL_VIDEO_X11_FORCE_EGL=1) The commit moves the version call where it's used, eg inside the "if (platform) {" and checks that "eglGetPlatformDisplay" has been correctly loaded. | ||
| 03503423 | 2021-04-19 23:31:23 | filesystem: Better OpenBSD support for SDL_GetBasePath(). Fixes #3752. | ||
| de6d2902 | 2021-04-19 21:48:11 | Fix keymap updating for X11 backend | ||
| 509228c4 | 2021-04-18 22:26:27 | wayland: Implement GetDisplayDPI | ||
| fcbfe33c | 2021-04-18 09:45:22 | wayland: Implement SetWindowModalFor | ||
| 213bfc19 | 2021-04-18 09:36:54 | wayland: Implement RestoreWindow for xdg/zxdg | ||
| 0f518002 | 2021-04-18 09:33:57 | wayland: Removed unused GetDisplayModes/SetDisplayMode functions | ||
| 46df195b | 2021-04-18 09:33:06 | wayland: Implement GetDisplayBounds | ||
| ed24c345 | 2021-04-16 21:35:50 | wayland: Implement basic window move events via wl_surface_listener. This unearthed an unspeakably large amount of bugs in the wl_output enumerator, notably the fact that the wl_output user pointer was to temporary memory! This was "fixed" in e862856, and was then pointed out as a leak in 4183211, which was undone in d9ba204. The busted fix was correct that the malloc was an issue, but wrong about _why_; SDL_AddVideoDisplay copies by value and does not reuse the pointer, so generally you want your VideoDisplay to be on the stack, but of course the callbacks don't allow that, so a malloc was a workaround. But we can do better and just host our temporary display inside WaylandOutputData because that will be persistent while also not leaking. Wait, wasn't I talking about move events? Right, that: wl_surface_listener does at least give us the ability to know what monitor we're on, even though we have no idea where we are on the monitor. All we need to do is check the wl_output against the display list and then push a move event that both indicates the correct display while also not being _too_ much of a lie (but enough of a lie to where our event doesn't get discarded as "undefined" or whatever). The index check for the video display is what spawned the great nightmare you see before you; aside from the bugfix this is actually a really basic patch. | ||
| b4f89c56 | 2021-04-15 21:16:10 | AAudio: add aaudio pause/resume function to android events loop | ||
| f1fab24e | 2021-04-15 21:00:00 | AAudio: add bootstrap in SDL_audio.c | ||
| 04b2f5f6 | 2021-04-15 20:54:58 | Android: add AAudio back-end, with playback and capture (see #3710) https://developer.android.com/ndk/guides/audio/aaudio/aaudio | ||
| 4118fe62 | 2021-04-15 20:52:43 | Android: OpenSLES, explicitly initialise the global variable 'bqPlayerPlay', it may be read even if OpenSLES back-end hasn't been intialized | ||
| 499d31e9 | 2021-04-13 17:00:24 | Cleanup Linux joystick code | ||
| 5c78df9c | 2021-04-14 00:56:50 | Support key composing (i.e. dead keys) in Wayland driver (#4296) Based on an old patch by chw from the old Bugzilla issue tracker. Authored-by: chw Co-authored-by: Sam Lantinga <slouken@libsdl.org> | ||
| b04136e7 | 2021-04-13 16:29:48 | Fixed Xbox controller when using the default Linux gamepad mapping Tested with the Xbox Series X controller and the xow driver | ||
| 1aaafc2b | 2021-04-13 16:29:46 | Show the real name of the Xbox controller when using the generic mapping on Linux | ||
| 1542300a | 2021-03-24 22:37:08 | joystick: linux: Avoid checking for gamepad mapping each frame The information whether a specific joystick can be used as a gamepad is not going to change every frame, so we can cache the result into a variable. This dramatically reduces the performance impact of SDL2 on small embedded devices, since the code path that is now avoided was quite heavy. Fixes #4229. Signed-off-by: Paul Cercueil <paul@crapouillou.net> | ||
| f88d91d5 | 2021-04-12 23:47:23 | wayland: Minor whitespace fix | ||
| d785dab5 | 2021-04-12 23:37:53 | wayland: Add unscaled resolutions to the display mode list | ||
| b0178fe5 | 2021-04-14 00:52:53 | KMSDRM: Report correct window position to the application | ||
| dfcd5fbc | 2021-04-08 21:57:58 | wayland: Set the keymap in keyboard_handle_modifiers | ||
| e87c7940 | 2021-04-13 14:42:38 | Fixed bug 3829 - Don't FOURCC format for target textures FOURCC isn't supported by renderer back-ends for target access So use a correct format and fallback to with native/yuv path | ||
| 9ef0b97c | 2021-04-12 11:25:44 | Changes to macOS event handler to better interact with the running app - Only focus a new window when one closes if the window that was closed was an SDL window - If the application already has a key window set that is not an SDL window, don't replace it when the application is activated - Only register the URL event handler when SDLAppDelegate is going to be set as the applications app delegate. This is to be consistent with previous behavior that would only register the handler in -[SDLAppDelegate applicationDidFinishLaunching:] and allows the running app to opt out of the behavior by setting its own app delegate. - The URL event handler is now removed if it was set on SDLAppDelegate dealloc | ||
| 2a20cc0f | 2021-04-12 11:25:42 | SDL: let through a SetLED command every 5sec to deall with situations where the controller loses power when a computer is suspended CR: SamL | ||
| c59d4dcd | 2021-04-08 15:32:33 | wayland: Dramatically lower the timeout when reading/writing pipes | ||
| cf124963 | 2021-04-08 15:29:54 | wayland: Fall back to clipboard source data if offer came up empty | ||
| 282c0524 | 2021-04-08 14:59:04 | wayland: Another strlen->SDL_strlen | ||
| bec133d7 | 2021-04-08 14:16:32 | wayland: Use SDL_strlen instead of strlen | ||
| e28d9785 | 2021-04-08 14:16:21 | wayland: Minor whitespace cleanup in clipboard.c |