src


Log

Author Commit Date CI Message
Sam Lantinga 499d31e9 2021-04-13T17:00:24 Cleanup Linux joystick code
Luis Cáceres 5c78df9c 2021-04-14T00: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>
Sam Lantinga b04136e7 2021-04-13T16:29:48 Fixed Xbox controller when using the default Linux gamepad mapping Tested with the Xbox Series X controller and the xow driver
Sam Lantinga 1aaafc2b 2021-04-13T16:29:46 Show the real name of the Xbox controller when using the generic mapping on Linux
Paul Cercueil 1542300a 2021-03-24T22: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>
Ethan Lee f88d91d5 2021-04-12T23:47:23 wayland: Minor whitespace fix
Ethan Lee d785dab5 2021-04-12T23:37:53 wayland: Add unscaled resolutions to the display mode list
Cacodemon345 b0178fe5 2021-04-14T00:52:53 KMSDRM: Report correct window position to the application
Ethan Lee dfcd5fbc 2021-04-08T21:57:58 wayland: Set the keymap in keyboard_handle_modifiers
Sylvain e87c7940 2021-04-13T14: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
Sam Lantinga 9ef0b97c 2021-04-12T11: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
Sam Lantinga 2a20cc0f 2021-04-12T11: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
Ethan Lee c59d4dcd 2021-04-08T15:32:33 wayland: Dramatically lower the timeout when reading/writing pipes
Ethan Lee cf124963 2021-04-08T15:29:54 wayland: Fall back to clipboard source data if offer came up empty
Ethan Lee 282c0524 2021-04-08T14:59:04 wayland: Another strlen->SDL_strlen
Ethan Lee bec133d7 2021-04-08T14:16:32 wayland: Use SDL_strlen instead of strlen
Ethan Lee e28d9785 2021-04-08T14:16:21 wayland: Minor whitespace cleanup in clipboard.c
Ethan Lee 875f839d 2021-04-08T14:14:46 wayland: A bunch of clipboard safety fixes. Also removed Wayland_get_data_device because it was a pointless getter function.
Ethan Lee 7510245a 2021-04-08T14:08:35 wayland: Create the data_device only after both device_manager and input exist. There is no guarantee on what order the Wayland interfaces will come in, but the callbacks were assuming that wl_data_device_manager would could before wl_seat. This would cause certain desktops to not have any data_device to work with, meaning certain features like the clipboard would silently no-op.
Dean Herbert 89b62093 2021-04-01T14:17:53 Fix race condition that can lead to ENTER/LEAVE window events never firing On windows, when toggling the state of RelativeMode rapidly, there is a high chance that SDL_WINDOWEVENT_ENTER / SDL_WINDOWEVENT_LEAVE events will stop firing indefinitely. This aims to resolve that shortcoming by ensuring mouse focus state is correctly updated via WM_MOUSELEAVE events arriving via the windows event hook.
David Edmundson 6fd37194 2021-04-07T16:03:41 wayland: Fix leaked zxdg_decoration_manager
David Edmundson f6a09ef1 2021-04-07T16:16:23 wayland: Drop support for kwin specific decoration management KWin has supported the shared and formalised zxdg_decoration since Plasma 5.16 which came out mid 2019. Whilst it made sense to support them both for a while, it should not be needed for future SDL releases.
Ethan Lee a92cca1a 2021-04-07T16:44:10 wayland: Use the window's display to get wl_output rather than fullscreen_mode. Because Wayland only supports FULLSCREEN_DESKTOP, fullscreen_mode never gets assigned at all, meaning driverdata is always NULL! Depending on what the compositor does this can lead to dramatically different results. GNOME was fine without this, but Plasma would trip an event that unintentionally unset the fullscreen mode and caused the game to fire a configure event _every frame_, and of course the configure would send the fullscreen_mode output which was still empty. The fix is to just use the SDL_VideoDisplay directly, which will always have a valid wl_output.
Ethan Lee c7e29a9e 2021-04-06T18:10:40 wayland: Fix toggling fullscreen with fixed-size windows
Ryan C. Gordon 0f4aba7b 2021-04-06T18:34:53 audio: Fixed assertion failure if trying to use dummy backend.
Ryan C. Gordon 64853b73 2021-04-06T18:34:17 audio: Changed a disk and dummy backends to use _this instead of this.
Ozkan Sezer e97cfe4a 2021-04-06T23:56:10 KMSDRM_Vulkan_CreateSurface(): fixed pointer-cast warning on 32 bit Closes: https://github.com/libsdl-org/SDL/issues/4284
okuoku 8fa2ce56 2021-04-03T22:47:47 WinRT: Rename Interface ID symbols Rename locally-defined Interface ID symbols to avoid conflict with locally linked dxgi library. Prefixed with `SDL_` to match with other references in render_d3d11 or wasapi.
Nicholas "LB" Braden 3dbc4cf2 2021-03-30T17:49:51 Fix compilation error for Windows SDK 8.1+ https://docs.microsoft.com/en-us/windows/win32/api/shellscalingapi/ne-shellscalingapi-monitor_dpi_type
meyraud705 413a2306 2021-04-04T10:47:06 NULL passed to strcmp in Wayland_ShowMessageBox
Ryan C. Gordon 49141996 2021-04-04T00:29:26 ibus: make sure we don't pass a NULL path string over D-Bus. Fixes #2941.
Ryan C. Gordon 354cabd4 2021-04-03T18:15:50 egl: favor truecolor configurations. If app requested <= 16 color depth and there is a 24-bit config available, favor that. This fixes things that quietly expect to get truecolor output but don't request it (...like SDL's render api...) and things that are probably requesting 16-bit color as a fallback but expecting reasonable systems to give them full depth. Specifically, this fixes Life is Strange on Wayland, which uses the latter approach, and anything using SDL_Render on Wayland, which uses the former. Fixes #4056. Fixes #4132.
Ryan C. Gordon 4abe3446 2021-04-03T10:10:58 SDL_EGL_ChooseConfig: cleanups and minor optimizations. - Move an immutable condition out of a for loop. - Add a break statement to that loop when we find what we're looking for. - Add an assert to make sure we don't overflow a buffer. - Wrap a single-statement if block in braces. - Adjust some whitespace.
Ryan C. Gordon 7d02248c 2021-04-02T14:36:53 tls: wrap reference to a mutex into an #if !SDL_THREADS_DISABLED test.
Ryan C. Gordon dbdbae44 2021-04-02T14:35:11 linux: (de)initialize d-bus at init and quit. Previously we had different subsystems quitting it, in conflict, and risked multiple threads racing to init it at the same time. Fixes #3643.
Ryan C. Gordon 57c2a456 2021-04-02T14:01:41 render: draw when hidden, except on iOS and Android. Fixes #2979.
Vanfanel fa818834 2021-03-30T13:25:09 [KMSDRM] Fake refresh rate precision on Vulkan display mode creation.
Vanfanel 942aa7bd 2021-03-30T11:41:26 [KMSDRM] No need to use an SDL_VideoDisplay pointer to access display index.
Learath 033c0abb 2021-03-27T14:04:00 Use dispatch_async for -[NSOpenGLContext update]. Fixes #3680
Ethan Lee eeee7308 2021-03-29T16:57:03 wayland: Implement IME support. Note that this is purely to make it possible to enter text that requires composition - for example, before this commit Kanji input didn't work at all. The big problem this still has is that we need the window position, and this is still not implemented. Once we have this information we can do the equivalent of XTranslateCoordinates to put the rectangle where we want it.
vanfanel 733b3278 2021-03-29T19:22:26 [KMSDRM] Minor Vulkan code adjustments regarding pointers and display index.
Ethan Lee 9d294f1f 2021-03-27T00:53:10 audio: Allow AudioStreamGet to return 0 in RunAudio. While we should normally expect _something_ from the stream based on the AudioStreamAvailable check, it's possible for a device change to flush the stream at an inconvenient time, causing this function to return 0. Thing is, this is harmless. Either data will be NULL and the result won't matter anyway, or the data buffer will be zeroed out and the output will just be silence for the brief moment that the device change is occurring. Both scenarios work themselves out, and testing on Windows shows that this behavior is safe.
Ethan Lee 9b7babf9 2021-03-27T00:47:54 wasapi: Remove assert added by 67e8522d
Xing Ji fb283a73 2021-03-24T22:42:47 Squashed commit of the following: commit 6b8f933589aa3925978a23e77a305a7e89c6ae4a Author: Xing Ji <jixingcn@gmail.com> Date: Wed Mar 24 22:31:29 2021 +0800 update the dynapi by `gendynapi.pl` commit ebd1790c19983b652713f40ab1e139e485e1a2b7 Author: Xing Ji <jixingcn@gmail.com> Date: Wed Mar 24 22:17:48 2021 +0800 revert the change in src/dynapi commit 734b5f85c1613070081e39238e84198128971b53 Merge: 5a56e5a8 5ac6bd54 Author: Xing Ji <jixingcn@gmail.com> Date: Wed Mar 24 22:14:40 2021 +0800 Merge remote-tracking branch 'libsdl/main' into jixingcn commit 5a56e5a8227d9cff6b497b681c618a76bec1cae1 Author: Xing Ji <jixingcn@gmail.com> Date: Mon Mar 22 23:55:10 2021 +0800 Fix #3596, can call the `SDL_TLSCleanup` to cleanup the TLS data when closing the application
Ethan Lee 5ceb6744 2021-03-28T14:58:41 linux: Fix ibus support on Wayland/XWayland
Frank Praznik 5f9effaa 2021-03-28T17:45:41 audio: pipewire: Block while waiting on stream state info Initializing streams, particularly capture streams, can take many milliseconds, which is a bit much for a busy wait. Use a blocking wait instead.
Frank Praznik 8deb4063 2021-03-28T17:22:59 audio: pipewire: Avoid redundant locking The pw_thread_loop already locks and unlocks the thread mutex at the start and end of each loop iteration, so these locks are unnecessary.
Frank Praznik 5bb2bbd4 2021-03-28T17:17:00 audio: pipewire: Don't use uninitialized variables in callbacks Some of the SDL_AudioDevice struct members aren't initialized until after returning from the OpenDevice function. Since Pipewire uses it's own processing threads, the callbacks can be entered before all members of SDL_AudioDevice are initialized, such as work_buffer, callbackspec and the processing stream, which creates a race condition. Don't use these members when in the paused state to avoid potentially using uninitialized values and memory.
Vanfanel 9de7eaf9 2021-03-28T01:30:26 [KMSDRM] Change error message.
Vanfanel 1ec60a38 2021-03-27T23:52:51 [KMSDRM] Remove unnecessary space.
Vanfanel c13c3c37 2021-03-27T22:50:18 [KMSDRM] For Vulkan, use a mode with the same exact size as the window, if possible, or create a new one.
Ethan Lee 07ba13b7 2021-03-26T00:40:05 wayland: Pass --no-wrap to Zenity. There seems to be a bug where it can wrap the text based on the minimum possible window size, which can be worked around with --no-wrap. This technically uncaps the width entirely, but this isn't wildly different from what other backends do.
Ethan Lee 54719a9d 2021-03-25T23:58:12 wayland: Assign output_len in ShowMessageBox
Sam Lantinga 4a07c73b 2021-03-26T13:53:58 Added mapping for the Amazon Luna controller on Linux
Sam Lantinga 07af9baa 2021-03-26T13:05:38 Use the correct name for the Amazon Luna Gamepad
Sam Lantinga ef363555 2021-03-26T13:03:29 Added mapping for the Amazon Luna controller on macOS
Sam Lantinga 3377861a 2021-03-26T11:57:19 Added support for the Amazon Game Controller to the HIDAPI driver
Ethan Lee 27b74d33 2021-03-25T23:25:34 Implement Wayland_ShowMessageBox using Zenity
Ozkan Sezer 5262b52d 2021-03-25T23:56:56 SDL_kmsdrmvideo.c: define EGL_PLATFORM_GBM_MESA if it's missing. Fixes: https://github.com/libsdl-org/SDL/issues/4232
vanfanel 5ac6bd54 2021-03-24T02:54:36 [KMSDRM] Ask for videomode on the correct display when creating a window.
Fabrice Fontaine b55b11af 2021-03-23T08:07:56 src/thread/pthread/SDL_systhread.c: drop include of SDL_platform.h Drop include of SDL_platform.h as SDL_plaform.h is already included by SDL_internal.h -> SDL_config.h -> SDL_platform.h Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Sam Lantinga 0bdf4f95 2021-03-22T19:19:01 Disable system gestures on MFi controllers while they're open, so we get access to the back button, etc.
Sam Lantinga 1133ea03 2021-03-22T19:18:57 Fixed crash on macOS when AirPods are connected
Paul Cercueil c12f46b1 2021-03-22T19:03:25 [KMSDRM] Fix segmentation fault Deference the windata pointer *after* checking that it's non-NULL. Signed-off-by: Paul Cercueil <paul@crapouillou.net>
vanfanel 100166d7 2021-03-22T18:00:41 [KMSDRM] Improve cursor management.
vanfanel cf7eef37 2021-03-19T04:25:40 [KMSDRM] Better error handling: no more segfaults on window creation failure.
Vanfanel 4acd1dca 2021-03-18T14:04:38 [KMSDRM] Improve the way to test if last window is being destroyed.
Vanfanel 8638674a 2021-03-18T13:55:58 [KMSDRM] Correct comment typo.
vanfanel 82ff6045 2021-03-18T12:02:54 [KMSDRM] Unload GL/EGL libs and destroy GBM only when we are destroying the last window.
vanfanel c35e7189 2021-03-18T11:47:23 [KMSDRM] All non-vulkan windows have to be marked as OPENGL, not only the first created one.
vanfanel 281a7bdb 2021-03-18T11:20:18 [KMSDRM] Make the gbm_init flag a viddata member to avoid GBM re-init when several displays are connected.
Vanfanel 7d1b9c9f 2021-03-17T14:40:41 [KMSDRM] Remove unneeded function calls and improve comments for future reference.
Ryan C. Gordon e7e519a4 2021-03-17T13:04:05 dsp: Refuse to initialize if there aren't any Open Sound System devices. This prevents the dsp target from stealing the audio subsystem but not being able to produce sound, so other audio targets further down the list can make an attempt instead. Thanks to Frank Praznik who did a lot of the research on this problem!
Ankith 559be8aa 2021-03-15T15:18:10 fix invalid out of bounds UTF8 handling
Ankith 07fc1bb8 2021-03-15T15:10:49 Fix invalid UTF-8 handling of extra bytes
Vanfanel e14fb54e 2021-03-16T10:47:57 [KMSDRM] Undo SDL_CreateRenderer() modifications aimed at create opengles2 when KMSDRM is in use because it's a harmful solution.
Vanfanel 108bb5aa 2021-03-16T00:51:17 [KMSDRM] Modify SDL_CreateRenderer() to create an opengles2 renderer when the KMSDRM backend is being used and no renderer name has been specified.
Sam Lantinga d84df04f 2021-03-15T09:00:15 Merge commit '51345623e888d7bc4131cd8f015c339f757ea68a' into main
Ryan C. Gordon b98b5adc 2021-03-15T10:21:36 wasapi: Don't use the system's resampler.
Haelwenn (lanodan) Monnier 9996cecc 2021-03-15T05:26:46 Set ALT_OGL to libOpenGL.so.0 instead of libOpenGL.so.1
Cacodemon345 5f7eb88a 2021-03-14T22:36:20 Load libOpenGL.so.1 if libGL.so.1 is not found
Ozkan Sezer 1957ffd2 2021-03-14T11:04:28 fixed a typo in SDL_ceilf()
Cacodemon345 dacf6cfb 2021-03-11T12:03:22 Fix compilation with iconv on FreeBSD
nia a5f3ea14 2021-03-10T09:36:46 netbsdaudio: Handle ioctls failing A user reported that the mpv video player hangs after attempting to set an unsupported number of channels with the SDL audio output, because it thinks it's successfully opened the device. This makes the failure graceful.
Frank Praznik 4fbd60b8 2021-03-09T12:22:48 audio: pipewire: Remove the nickname portion of sink/source names Removes the node nickname from sink/source nodes as it doesn't provide any useful information and names now match those used in Pulseaudio, so any stored configuration data will be compatible between the two audio backends.
kenmays 72bcf546 2021-03-10T16:47:08 SDL: Updated patches for HAIKU
Sylvain Becker 3d22731d 2021-03-11T20:10:07 Merge pull request #4175 from 1bsyl/br_blit_rgb555_to_rb1555 Fixed bug 3727 - Blit from RGB555 to ARGB1555
Sylvain 51345623 2021-03-11T20:06:09 Fixed bug 3727 - Blit from RGB555 to ARGB1555
Ivan Epifanov 33127271 2021-03-09T11:40:35 Fix typecasting
Ivan Epifanov 73b545ed 2020-11-02T19:38:20 Fix joystick support
Ivan Epifanov 41d6c80b 2020-11-02T19:01:25 Filesystem module
Ivan Epifanov 2e3dd0a6 2020-11-02T18:14:57 Remove debug log
Ivan Epifanov 80036230 2020-11-02T18:10:09 Cg shaders for vita gles2
Ivan Epifanov 2d64e37e 2020-11-02T18:09:43 Initial rebase of xerpi's port
Ivan Epifanov a4ddb175 2021-03-08T19:28:58 Formatting
Ivan Epifanov 4f9fde87 2021-03-08T19:20:33 Fix types
Ivan Epifanov e58a955e 2021-03-08T18:39:00 Deprecate dolcesdk
Ivan Epifanov e1d9cbf6 2021-03-07T13:56:38 Split mouse/kb grab
uyjulian 29153a1c 2021-02-28T14:38:55 SDL_vitamessagebox: rearrange if/else Set messageboxdata and buttonid as unused variables
uyjulian 70a19fd5 2021-02-28T13:59:51 SDL_vitamessagebox: if/else wrap preprocessor condition instead of two if conditions