src


Log

Author Commit Date CI Message
Ethan Lee cad67082 2021-02-04T19:04:56 wayland: Check for both _WAYLAND_CLIENT_H and WAYLAND_CLIENT_H
Christian Rauch 4183211a 2021-02-08T16:01:37 free the 'display' after it was added to global list
Manuel Alfayate Corchete 005e2c59 2021-02-09T00:57:25 [KMS/DRM] Bugfix number #5535: Improve reliability, by wahil1976.
Sam Lantinga 629334f2 2021-02-09T15:02:55 Fixed bug 5543 - Wayland: Fix waylandvideo.h warnings wahil1976 This patch fixes the warnings seen when compiling the Wayland backend. This will also be required in the future to avoid issues with compilation.
Cameron Gutman f70e1973 2021-02-08T18:31:08 Fix waiting on condition variables with the SRW lock implmentation When SleepConditionVariableSRW() releases the SRW lock internally, it causes our SDL_mutex_srw state to become inconsistent. The lock is unowned yet inside, the owner is still the sleeping thread and more importantly the owner count is still 1. The next time someone acquires the lock, they will bump the owner count from 1 to 2. At that point, the lock is hosed. From the internal lock state, it looks to us like that owner has acquired the lock recursively, even though they have not. When they call SDL_UnlockMutex(), it will see the owner count > 0 and not call ReleaseSRWLockExclusive(). Now when someone calls SDL_CondSignal(), SleepConditionVariableSRW() will start the wakeup process by attempting to re-acquire the SRW lock. This will deadlock because the lock was never released after the other thread had used it. The thread waiting on the condition variable will never be able to wake up, even if the SDL_CondWaitTimeout() function is used and the timeout expires.
Ozkan Sezer dc45a228 2021-02-08T00:20:56 avoid some pedantic warnings in array initializers
Sam Lantinga d9ba2044 2021-02-08T16:55:01 Backed out changeset 852a7bdbdf4b This causes a use-after-free memory error
Sam Lantinga 9c3aa7f0 2021-02-06T15:43:17 SDL: fix packet handling for original version of Stadia FW
Manuel Alfayate Corchete 19fa85d8 2021-02-06T16:05:55 [KMS/DRM] Fix build warning.
Sam Lantinga 2426949a 2021-02-01T21:56:56 Removed support for clock_gettime_nsec_np() SDL_GetTicks() was broken and it's not adding any real value here.
Manuel Alfayate Corchete 6ee53258 2021-02-06T14:03:53 [KMS/DRM] Replace indent tabs with spaces, as intended.
Sam Lantinga fadfa510 2021-02-01T09:21:11 Don't uncorrelate while rumble is active and stay correlated longer in case raw input messages are lagging a bit.
Manuel Alfayate Corchete 59cd46c2 2021-02-05T22:16:50 [KMS/DRM] Merge patch for bug #5532: No need to correct cursor position now that all windows are fullscreen. Link: https://bugzilla.libsdl.org/show_bug.cgi?id=5519.
Manuel Alfayate Corchete 538f7ad6 2021-02-05T00:27:11 [KMS/DRM] Remove redundant SDL_SendWindowEvent() call.
Manuel Alfayate Corchete 7beba050 2021-02-04T23:35:52 [KMS/DRM] Restore all-windows-are-fullscreen functionality, since there is no window manager in KMSDRM.
Cameron Gutman f4d58689 2021-02-03T18:00:22 Fix Xbox Series X controller on macOS There were two different implementations of IsBluetoothXboxOneController(), one in SDL_hidapi_xbox360.c and one in SDL_hidapi_xboxone.c. The latter had been updated to include USB_PRODUCT_XBOX_ONE_SERIES_X_BLUETOOTH while the former had not. This mismatch led to the Xbox Series X failing on macOS only. We have special code for handling the 360Controller driver for macOS which requires us to use the Xbox 360 driver for wired Xbox One controllers, and the SDL_hidapi_xbox360 version of IsBluetoothXboxOneController() was used to determine which devices were wired. In addition to adding the missing USB_PRODUCT_XBOX_ONE_SERIES_X_BLUETOOTH, this change moves IsBluetoothXboxOneController() into a single shared function which will ensure this bug won't happen again.
Sam Lantinga ff297753 2021-02-04T10:46:34 Fixed compiler warning
Sam Lantinga a60af1e4 2021-02-04T07:00:06 Backed out changeset 1cde3dd0f44d - this breaks windows which are created and then set to FULLSCREEN_DESKTOP
Sam Lantinga e404b525 2021-02-03T21:31:50 KMSDRM doesn't have a window manager, so all windows are fullscreen
Sylvain Becker 549bc133 2021-02-03T09:51:42 SDL_vulkan_utils: minor code clean-up
Sylvain Becker c0166a29 2021-02-03T09:32:09 SDL_ConvertColorkeyToAlpha: remove and clarify a FIXME This function doesn't handle bpp 1 or 3 case, because those formats never have an alpha channel
Sam Lantinga 85235985 2021-02-02T11:53:31 Fixed detecting the paddles on the Xbox Elite Series 1 controller
Ozkan Sezer bb9e049d 2021-02-07T00:37:00 minor updates to libc function checks
Sam Lantinga 69e9b2ac 2021-02-01T22:35:46 Fixed bug 5471 - Creating a fullscreen desktop window goes windowed temporarily This is caused by the Metal renderer recreating the window because by default we create an OpenGL window on macOS. It turns out that at least on macOS 10.15, a window that has been initialized for OpenGL can also be used with Metal. So we'll skip recreating the window in that case.
Sam Lantinga ef2f13e1 2021-02-01T22:30:31 Added test command line options to force different window types
Sebastian Krzyszkowiak e862856e 2021-02-01T08:57:39 wayland: Don't crash when the properties of already existing wl_output change
Sam Lantinga cef198c9 2021-02-01T08:55:48 Fixed bug 5524 - Pass NSString to NSLog() Hiroyuki Iwatsuki If you pass the C string directly to NSLog(), it will be garbled with Japanese and probably other language strings, or no log will be output at all. NSLog("Hello, World!"); // => "Hello, World!" NSLog("こんにちは、世界!"); // => No output... Therefore, you need to convert the string to an NSString before passing it to NSLog(). NSString *str = [NSString stringWithUTF8String:"こんにちは、世界!"]; NSLog(@"%@", str); // => "こんにちは、世界!" Thank you.
Christian Rauch 0ed16ced 2021-01-31T19:10:02 free 'outputs' in 'Wayland_DestroyWindow'
Christian Rauch a4467846 2021-01-31T19:09:44 free the 'data_device_manager'
Sebastian Krzyszkowiak 3ae2ec34 2021-01-31T19:06:37 wayland: Fix transform and scale handling when setting display mode
Manuel Alfayate Corchete 2c764331 2021-01-31T04:04:26 [KMS/DRM] Merge patch for bug 5522#: Implement KMSDRM_GetWindowWMInfo().
Manuel Alfayate Corchete bfa51c38 2021-01-31T03:48:29 [KMS/DRM] Fix for bug #5518: only do async pageflips when hardware supports them.
Cameron Gutman 79cd8cab 2021-01-27T20:41:36 Add default handler for Alt+Tab while keyboard grab is enabled By default, we will minimize the window when we receive Alt+Tab with a full-screen keyboard grabbed window to allow the user to escape the full-screen application. Some applications like remote desktop clients may want to handle Alt+Tab themselves, so provide an opt-out via SDL_HINT_ALLOW_ALT_TAB_WHILE_GRABBED=0.
Sylvain Becker 9d707113 2021-01-30T20:09:35 Revert checks on destination scaling size (see bug #5510)
Manuel Alfayate Corchete 088fb525 2021-01-29T23:32:42 [KMS/DRM] Correct small omission on bugfix #5513: y-coord correction has to be done on WarpMouseGlobal, too.
Sam Lantinga 2cc70ca3 2021-01-29T13:04:01 Fixed crash if the GameCube controller hasn't been opened yet
Sylvain Becker d6a6662f 2021-01-29T20:34:20 Remove checks on destination scaling size (see bug #5510)
Manuel Alfayate Corchete 8d95aba1 2021-01-29T18:17:16 [KMS/DRM] Remove unused KMSDRM_SetWindowGrab prototype in header file.
Manuel Alfayate Corchete b17c4950 2021-01-29T18:08:04 [KMS/DRM] Patch for bug #5513. KMSDRM backend can now manage and use several displays.
Cameron Gutman a78bce9e 2021-01-28T20:02:01 Properly handle keys already down when the hook is installed For keys that are already down when we install the keyboard hook, we need to allow the WM_KEYUP/WM_SYSKEYUP message to be processed normally. This ensures that other applications see the key up, which prevents the key from being stuck down from the perspective of other apps when our grab is released.
Sylvain Becker dc0ec827 2021-01-29T13:38:39 Remove old YUV fixme
Sylvain Becker ebb81431 2021-01-29T12:04:48 Add checks for maximun scaling size (see bug #5510)
Sam Lantinga 7f710e93 2021-01-28T14:54:01 Make sure we don't create a game controller mapping for HID devices that aren't supported by HIDAPI
Sam Lantinga 7e19c634 2021-01-28T14:53:59 Note that the Logitech G29 (PS4) is a racing wheel
Sam Lantinga eb83da02 2021-01-27T21:30:17 Fixed PS4 controllers over Bluetooth on Windows 7
Sam Lantinga d95a9eae 2021-01-27T21:30:13 Added WIN_IsWindows8OrGreater() for internal use
Cameron Gutman 808249a5 2021-01-27T19:40:55 X11: Ungrab the keyboard when the mouse leaves the window GNOME Mutter requires keyboard grab for certain important functionality like window resizing, interaction with the application context menu, and opening the Activites view. To allow Mutter to grab the keyboard as needed, we'll ungrab when the mouse leaves our window. To be safe, we'll do this for all WMs since forks of Mutter and Matacity (and possibly others) may have the same behavior, and we don't want to have to keep track of those.
Ozkan Sezer 87f09007 2021-01-28T00:11:24 SDL_LowerSoftStretchLinear: assign result from scale_mat() to ret. otherwise it would always return -1 when SSE and NEON instrinsics are absent.
Sam Lantinga 24d6fda2 2021-01-27T12:50:09 Fixed bug 3816 - asm code in video/SDL_stretch.c Sylvain I propose this new version for SDL_stretch.c that drops mprotect and asm Code is similar to the StretchLinear, but the steps computation are kept similar to the nearest. so that: - it's pixel perfect with nearest - as fast as asm I think - no asm, nor mprotect - benefit for all archicture
Sam Lantinga d81eaf8d 2021-01-27T12:43:35 Added explicit case from Uint8 to int before subtracting offset
Sam Lantinga bec9d740 2021-01-27T12:41:58 Fixed compile warning
Sam Lantinga a4db44fa 2021-01-27T12:41:37 The Sharkoon Skiller SGH2 headset hangs in DirectInput enumeration, so avoid it here just in case. See bug 5485 for details.
Sam Lantinga 06ad887f 2021-01-27T11:39:03 Fixed bug 3816 - asm code in video/SDL_stretch.c Ozkan Sezer - adds MSVC __declspec(align(x)) support, - disables asm if PAGE_ALIGNED no macro is defined, - still disables asm for gcc < 4.6, need more info, - drops Watcom support.
Sam Lantinga 1e5f0073 2021-01-27T10:58:36 Fixed building with mingw64
Sylvain Becker 70b353d1 2021-01-27T10:54:49 SDL_Update{YUV,NV}Texture: also intersect rect with texture dimension
Sylvain Becker 13626c36 2021-01-27T10:20:13 SDL_UpdateTexture: intersect update rect with texture dimension - fix crash with software renderer - fix non texture update with opengl/gles2
Sylvain Becker 5e3cf0d1 2021-01-27T09:34:23 SDL_SoftStretch: disable asm path if mprotect isn't available (see bug #3816)
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.
Sylvain Becker ff827fc7 2021-01-26T21:15:15 SDL_SoftStretch: re-enable USE_ASM_STRETCH path for gcc >= 4.6
Sylvain Becker d59f8daf 2021-01-28T15:34:33 Fixed bug 5510 - simplify the scaling functions blit auto (generated file)
Sylvain Becker 0b338bff 2021-01-28T15:33:47 Fixed bug 5510 - simplify the scaling functions
Sylvain Becker dd6e02df 2021-01-28T11:03:45 SDL_stretch: remove un-used vars, same notation as blit functions
Sam Lantinga 1dc9180f 2021-01-27T21:30:25 Fixed compiler warnings
Sam Lantinga d59a9268 2021-01-27T21:30:21 Fixed build warning
Cameron Gutman a1d288be 2021-01-26T00:05:01 DirectFB: Split input grab handling into keyboard and mouse parts The grabbed_window field is superfluous now since SDL added the SDL_GetGrabbedWindow() function, so it can be removed. DirectFB_SetWindowMouseGrab() is also simplified because SDL handles ungrabbing any previously grabbed window prior to calling SetWindowMouseGrab() now. Compile-tested only.
Sam Lantinga de85d612 2021-01-25T20:51:47 Fixed bug 5497 - SDL_COMPOSE_ERROR is wrong UMU #define SDL_COMPOSE_ERROR(str) SDL_STRINGIFY_ARG(__FUNCTION__) ", " str I think SDL_STRINGIFY_ARG should be removed. #define SDL_COMPOSE_ERROR(str) __FUNCTION__ ", " str (verified with Visual Studio 2019)
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 f23022ef 2021-01-25T20:03:21 Removed non-functional window grab implementations
Cameron Gutman a0d3c6c6 2021-01-25T21:42:14 Rename SetWindowGrab() to SetWindowMouseGrab()
Cameron Gutman d133a5f6 2021-01-24T17:19:48 wayland: cancel key repeat when keyboard focus is lost SDL_SetKeyboardFocus(NULL) will lift any keys still pressed when keyboard focus leaves the window, but then key repeat comes behind our backs and presses the key down again. This results in an infinite stream of SDL_KEYDOWN events when focus leaves the window with a key down (particularly noticeable with Alt+Tab).
Cameron Gutman 2793c9cf 2021-01-25T18:40:26 Fix grabbing Alt+Tab and Alt+Esc on Windows 7
Cameron Gutman e1f73e64 2021-01-23T16:22:44 Refactor keyboard grab to be managed by the video core This gives us flexibility to add others hints to control keyboard grab behavior without having to touch all of the backends. It also allows us to possibly expose keyboard grab separately from mouse grab for applications that want to manage those independently.
Sylvain Becker f40551c5 2021-01-25T22:17:11 GLES2 SDL_Renderer: remove old ZUNE_HD defines and simplify shader cache
Ozkan Sezer b852590b 2021-01-24T17:02:40 minor clean-up in SDL_os2audio.c
Brandon DeRosier 141f4416 2021-01-24T03:55:04 fix build failure due to -Werror=declaration-after-statement (bug #5500)
Manuel Alfayate Corchete 8e1005f8 2021-01-23T22:47:06 [KMS/DRM] Bugfix for #5489: Non-FULLSCREEN windows incorrecty use videomode changing to look fullscreen.
Ethan Lee e787282b 2021-01-23T15:40:22 Implement Wayland_SetWindowResizable
Simon McVittie c16cfc0e 2021-01-23T11:22:35 waylandtouch: Don't export interface structs These are explicitly written in C code rather than generated at build time, so they weren't affected by changing how we invoke wayland-scanner. Signed-off-by: Simon McVittie <smcv@collabora.com>
Sam Lantinga c857b5e0 2021-01-23T11:21:01 Minor cleanup
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
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 bd553ea8 2021-01-20T21:17:20 Implement support for inhibiting the screensaver on Wayland We support both the org.freedesktop.ScreenSaver D-Bus API (same as the X11 backend) and the Wayland idle_inhibit_unstable_v1 protocol. Some Wayland compositors only support one or the other, so we need both to for broad compatibility.
Cameron Gutman 7ff3832e 2021-01-22T19:22:17 Fix continuous scrolling speed on Wayland Wayland compositors seem to have standardized on 10 units per "wheel tick" for continuous scroll events, so we need to convert these axis values to ticks by dividing by 10 before reporting them in SDL_MOUSEWHEEL events.
Cameron Gutman 8c921d82 2021-01-22T19:40:26 Implement keyboard grab support for Windows This is implemented via a low-level keyboard hook. Unfortunately, this is rather invasive, but it's how Microsoft recommends that it be done [0]. We want to do as little as possible in the hook, so we only intercept a few crucial modifier keys there, while leaving other keys to the normal event processing flow. We will only install this hook if SDL_HINT_GRAB_KEYBOARD=1, which is not the default. This will reduce any compatibility concerns to just the SDL applications that explicitly ask for this behavior. We also remove the hook when the grab is terminated to ensure that we're not unnecessarily staying involved in key event processing when it's not required anymore. [0]: https://docs.microsoft.com/en-us/windows/win32/dxtecharts/disabling-shortcut-keys-in-games
Ozkan Sezer fd65aaa9 2021-01-23T17:30:50 move outdated winmm and psp joystick codes to struct _SDL_JoystickDriver build-tested only. (bug #5472.)
Ozkan Sezer 8f102589 2021-01-23T17:28:10 os2audio: changed backend name from MMOS2 to DART (like SDL-1.2)
Ozkan Sezer 23764588 2021-01-23T17:24:28 renamed SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H to SDL_HAVE_MACHINE_JOYSTICK_H
Sam Lantinga f68b36df 2021-01-22T11:42:42 Added support for the EVORETRO GameCube Adapter in PC mode
Sam Lantinga 9c88eac8 2021-01-22T11:40:20 ControllerList: fix typo
Ozkan Sezer 11fce321 2021-01-22T20:20:02 SDL_dinputjoystick.c: fixes to dfDIJoystick2[] array from Wine git. Fix V/A/FSlider dwOfs values in c_dfDIJoystick2 https://source.winehq.org/git/wine.git/commitdiff/af2f4194263702a946c65d255580176ee50b5914 Add missing ASPECT flags for c_dfDIJoystick2 https://source.winehq.org/git/wine.git/commitdiff/e2e100272ffede3c720da7bbd11b53ac0bcee8eb Closes bug #5474.
Ozkan Sezer 4a776557 2021-01-22T20:10:02 old os2 analogue joystick code ported from SDL-1.2. disabled by default, build-tested only.
Ozkan Sezer e91f83c1 2021-01-22T20:03:50 hidapi.h: adjust so that it gives a smaller diff against mainstream
Sam Lantinga d4794028 2021-01-22T08:45:38 Fixed build
Sam Lantinga 9e45372a 2021-01-21T22:47:37 Fixed build on Android and iOS
Cameron Gutman 19236b46 2021-01-21T21:49:13 Implement support for minimizing windows on Wayland This required a bit of extra code to deal with the transition from minimized back to fullscreen
Cameron Gutman cf84ec44 2021-01-20T23:19:24 Improve reliability of cursor hiding on GNOME Wayland Hiding the cursor doesn't appear to work reliably on GNOME when another window steals mouse focus right as we call SDL_ShowCursor(SDL_DISABLE). This can happen when the keyboard shortcut inhibition permission prompt appears in response to a call to SDL_SetRelativeMouseMode() with SDL_HINT_GRAB_KEYBOARD=1. The result is that the default cursor is stuck locked in position and visible on screen indefinitely. By redrawing the cursor on pointer focus enter, the cursor now disappears upon the first mouse motion event. It's not perfect but it's way better than the current behavior.
Ozkan Sezer 327ea974 2021-01-19T15:50:02 hidapi/libusb/hid.c: whitespace tidy-up.
Manuel Alfayate Corchete e1d932f8 2021-01-17T21:33:51 [KMS/DRM] Fix for bug #5468: corruption on dynamic cursor changing caused by wrong buffer size.
Manuel Alfayate Corchete 99facb1d 2021-01-17T21:17:01 [KMS/DRM] Fix for bug #5470: ratio correction for fullscreen windows with no matching resolution. Correct bracket position in else statements so they follow the coding style.