kc3-lang/SDL/src

Branch :


Log

Author Commit Date CI Message
391bb80b 2021-03-05 16:53:06 Replace duplicate functions and lstrlen/lstrcat with SDL string functions
67e8522d 2021-02-27 17:37:25 Add SDL_GetAudioDeviceSpec. This API is supported by pipewire, pulseaudio, coreaudio, wasapi, and disk.
68693554 2021-03-04 23:50:40 dos2unix SDL_dynapi_*.h
dd5aff30 2021-03-04 18:27:56 SDL_fillrect.c: updated SSE_BEGIN macro for windows clang-cl from a patchset by Vladislav Dmitrievich Turbanov: https://github.com/libsdl-org/SDL/pull/4062
0ed17131 2021-03-04 18:27:47 update SDL_COMPOSE_ERROR macro for windows clang-cl from a patchset by Vladislav Dmitrievich Turbanov: https://github.com/libsdl-org/SDL/pull/4062
c1c4f274 2021-03-04 18:27:32 cpuinfo: updated xgetbv call for windows clang-cl. from a patchset by Vladislav Dmitrievich Turbanov: https://github.com/libsdl-org/SDL/pull/4062
e88d7846 2021-03-04 14:36:33 Update SDL_blit_auto.c
ab0cf42a 2021-03-04 14:33:56 Software nearest scaling: start at the middle of pixel so that it matches opengl GL_NEAREST mode most of the time
ac8a3fda 2021-03-03 20:33:20 fix prepare_audiospec() possibly missing a bad SDL_AUDIO_CHANNELS env.
61586216 2021-03-02 21:39:38 Update cpuid code for clang-cl The clang-cl compiler defines `__llvm__` but not `__GNUC__`. The `__cpuid` intrinsic doesn't seem to exist with clang-cl, so the code won't link properly. The `__GNUC__` versions of these functions will work properly on Windows with clang-cl.
4de0c74a 2021-03-02 10:02:59 audio: pipewire: Add the application name to the stream properties
9ed01da7 2021-03-02 09:47:47 audio: pipewire: Constify and clarify period size calculations Constify the min/max period variables, use a #define for the base clock rate used in the calculations and note that changing the upper limit can have dire side effects as it's a hard limit in Pipewire.
d7ca855c 2021-03-02 09:33:11 audio: pipewire: Add missing static qualifiers to globals
84c44e01 2021-03-01 12:39:52 audio: pipewire: fix uninitialized variable warnings
106dc009 2021-02-19 17:18:36 audio: pipewire: Pass proper parameter to user audio callback The audio callbacks should pass the callbackspec.userdata parameter to the callback, not spec.userdata Co-authored-by: Oschowa <Oschowa@web.de>
f3ebbc06 2021-02-19 16:02:20 audio: pipewire: Retrieve the channel count and default sample rate for sinks/sources Extend device enumeration to retrieve the channel count and default sample rate for sink and source nodes. This required a fairly significant rework of the enumeration procedure as multiple callbacks are involved now. Sink/source nodes are tracked in a separate list during the enumeration process so they can be cleaned up if a device is removed before completion. These changes also simplify any future efforts that may be needed to retrieve additional configuration information from the nodes.
2f0b99a7 2021-02-13 11:56:05 audio: Add Pipewire playback/capture sink
7001b531 2021-02-27 12:53:08 audio: pipewire: Add vim format lines to files and fix indentation Increase indentation spacing from 2 to 4 to comply with style standards.
2fcba50e 2021-02-27 12:08:15 audio: pipewire: Code and comment cleanups Replace "magic numbers" with #defines, explain the requirements when using the userdata pointer in the node_object struct and a few other minor code and comment cleanups.
4eadd147 2021-02-25 14:00:23 audio: pipewire: Fix outdated comment
cd56f1b3 2021-02-24 14:36:58 audio: pipewire: Use "rear" designation for rear channels Use the 'R' (rear) prefixed designations for the rear audio channels instead of 'S' (surround). Surround designated channels are only used in the 8 channel configuration.
adc0a931 2021-02-24 14:08:08 audio: Move Pipewire bootstrap after Jack Move the Pipewire audio driver below others in the list so it won't be mistakenly initialized when it's not the system mixer.
21adec93 2021-02-24 12:02:54 audio: pipewire: Make enumeration structure and function names more descriptive Rename the add/remove/clear list functions and rename connected_device to io_node, as a sink/source node isn't necessarily a device.
a07f5434 2021-02-21 13:24:20 audio: pipewire: Report default devices first Further refactor the device enumeration code to retrieve the default sink/source node IDs from the metadata node. Use the retrieved IDs to sort the device list so that the default devices are at the beginning and thus are the first reported to SDL.
9afd7570 2021-02-20 13:33:12 audio: pipewire: Always buffer source audio The latency of source nodes can change depending on the overall latency of the processing graph. Incoming audio must therefore always be buffered to ensure uninterrupted delivery. The SDL_AudioStream path was removed in the input callback as the only thing it was used for was buffering audio outside of Pipewire's min/max period sizes, and that case is now handled by the omnipresent buffer.
57a927e8 2021-02-12 14:27:58 wayland: Explicitly set min/max size for xdg-shell
33598563 2021-02-26 23:21:25 Fix coding style
69a600b0 2021-02-26 22:24:48 Implement requested changes
0e35f0be 2021-02-26 21:43:36 Fix KMSDRM-related warnings
dfa64ead 2021-02-25 19:22:31 KMSDRM: Add hint to enable the backend without DRM master In some cases, it can be useful to have the KMSDRM backend even if it cannot be used for rendering. An app may want to use SDL for input processing while using another rendering API (such as an MMAL overlay on Raspberry Pi) or using its own code to render to DRM overlays that SDL doesn't support. This also moves the check for DRM master to an earlier point where we can fail initialization of the backend, rather than allowing the backend to initialize then failing the creation of a window later.
8c5b7af2 2021-02-25 19:30:47 Wayland: Fix mouse pointer hiding on Plasma Wayland Unlike Mutter and Sway, KWin actually checks the serial passed in wl_pointer_set_cursor(). The serial provided is supposed to be the serial of the pointer enter event, but We were always passing 0. This caused KWin to drop our requests to hide the cursor. Thanks to the KDE folks for spotting this in my debug logs. Fixes #3576
d2d834b9 2021-02-25 15:21:59 KMSDRM: Add gamma support
72f7a10c 2021-02-25 19:40:28 disable pixman ARM blitters for __aarch64__ | _M_ARM64 Closes: https://github.com/libsdl-org/SDL/issues/4095
e561ce3a 2021-02-25 01:40:02 SDL_cpuinfo.c: replaced gcc i386 checks with __i386__ .
c287087f 2021-02-23 09:26:03 Only change joystick->nbuttons for Joy-Cons, since they're the only ones that have these "paddles"
ee52624f 2021-02-22 17:23:13 Switch Joy-Con SL and SR buttons are now mapped to matching paddle positions so that all buttons can be accessed when using SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS
7a2b6f33 2021-02-22 13:32:42 Guard Inotify stuff with macro This fix implicit declaration of close and unused variable warning.
8481229f 2021-02-22 15:00:52 Fix error handling in KMSDRM_AddDisplay Add missing `goto cleanup` and check that `dispdata` is not NULL before dereferencing it.
2df9c15e 2021-02-22 14:51:42 Fix memory leak in KMSDRM_Vulkan_CreateSurface Variable `device_props` is never freed.
844d5e3e 2021-02-21 11:54:50 Fix memory leak in ConnectSensor 'name' is leaked in case of error.
11cb53d2 2021-02-21 23:28:49 [KMSDRM] Add missing break and modify comments.
9172e413 2021-02-21 22:57:22 [KMSDRM] Fix intermitent bug in Vulkan initialization on Raspberry Pi 4.
1a17ab30 2021-02-21 11:03:26 Added mappings for popular controllers on Chromebooks
db58166e 2021-02-21 17:28:08 joystick: hidapi: Properly include <unistd.h> when inotify not available In the extremely unlikely event that inotify is not available (and, therefore, HAVE_INOTIFY is not #defined), SDL will no-longer build. This is because <unistd.h> is only included when HAVE_INOTIFY is defined, and PR #4098 adds a call to access(…, F_OK), which requires <unistd.h>. (Note that the F_OK symbol is the only one which actually prevented SDL from compiling, but both access() and close() fell back to implicit definitions, which is a bit concerning.) Fixes: 8d43f45a7b ("Don't use udev for joystick enumeration if running in a container")
360740ac 2021-02-19 18:07:53 correct dynapi
1a924bc0 2021-02-19 12:54:57 add SDL_AndroidShowToast for https://developer.android.com/reference/android/widget/Toast
8d43f45a 2021-02-16 14:13:30 Don't use udev for joystick enumeration if running in a container If we are running in a container, like Flatpak[1] or pressure-vessel[2], it's likely that we are using user namespaces, therefore udev event notification via netlink won't work reliably. Use their filesystem API to detect them and automatically fallback to the inotify-based enumeration. [1] <https://flatpak.org/> [2] <https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/tree/master/pressure-vessel> Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
2c326915 2021-02-16 12:39:48 Use inotify for HIDAPI joystick enumeration if not using udev This improves SDL's ability to detect HIDAPI joystick hotplug in a container environment because we cannot reliably receive events from udev in a container. For a more detailed explanation of why this issue happens with containers, please check the previous commit "joystick: Use inotify to detect joystick unplug if not using udev" (b0eba1c5). Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
b17242bf 2021-02-16 11:50:20 Allow libudev for HIDAPI joystick to be disabled at runtime As already explained in the previous commit "joystick: Allow libudev to be disabled at runtime" (13e7d1a9), libudev can fail in a container. To make it easier to experiment with, we add a new environment variable "SDL_HIDAPI_JOYSTICK_DISABLE_UDEV" that disables udev and let it fallback to the device enumeration using polling. Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
0052339b 2021-02-20 19:53:44 Move handleURLEvent setEventHandler to init
42607909 2021-02-20 22:51:57 Remove devices from the list after they've been disconnected due to read errors. This fixes problems with controllers not being re-detected when a computer goes to sleep and a controller is removed and plugged back in while it's asleep.
08547adb 2021-02-20 09:28:03 pulseaudio: Add "zerocopy" playback path
ef85ed93 2021-02-17 20:53:35 pulseaudio: Initialize fragsize to fix mic recording fragsize wasn't initialized, and it is used for recording. If the value was 0 or -1, pulseaudio configures it itself. But sometimes we can get a random (and large) value that makes pulseaudio give us large sample at a very low frequency. https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/blob/master/src/pulse/def.h#L453 https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/blob/v13.0/src/pulsecore/protocol-native.c#L409
e4a81a98 2021-02-17 12:06:29 [KMSDRM] Correct indentation.
98bf79cf 2021-02-16 18:13:15 Minor improvements for CPU detection on ARM
4aa2e748 2021-02-16 10:20:29 Add Xbox Controller S entry to gamecontrollerdb
f2a2d0c6 2021-02-15 22:56:20 SDL_render_d3d.c: fix build with SDL_LEAN_AND_MEAN
09231c42 2021-02-15 11:51:00 Fix flags check in test code
9b9d0d48 2021-02-15 11:49:09 mac/iOS: allow Metal in windows created without an explicit backend Fixes SDL_CreateWindowAndRenderer (and similar situations) not choosing a Metal backend. See #3991. Passing an explicit backend into CreateWindow, eg SDL_WINDOW_OPENGL or SDL_WINDOW_METAL, will still prevent the window from being used with other backend types.
a2fbc452 2021-02-15 03:02:32 replace i386 checks with __i386__
cf15faae 2021-02-14 14:24:38 Change "memset" to "SDL_zero"
c5f9e061 2021-02-14 13:13:34 Disable FreeBSD console mouse when initializing evdev input Enable it again after quitting evdev input.
3da58b47 2021-02-13 15:11:40 Fix errors with fallback impls of SDL_isxdigit() and SDL_ispunct() SDL_isxdigit() should only accept A-Fa-f, not A-Za-z (it shouldn't use SDL_isalpha()). SDL_ispunct() shouldn't accept spaces (it should use SDL_isgraph() instead).
dfe219ec 2021-02-13 11:21:19 Add all missing "is characteristic" stdlib functions SDL has been missing a bunch of these 'isX' functions for some time, where X is some characteristic of a given character. This commit adds the rest of them to the SDL stdlib, so now we have: - SDL_isalpha() - SDL_isalnum() - SDL_isblank() - SDL_iscntrl() - SDL_isxdigit() - SDL_ispunct() - SDL_isprint() - SDL_isgraph()
1a48ca66 2021-02-04 16:20:54 emscripten: Create directory recursively in GetPrefPath
fa367cdd 2020-11-24 10:56:50 emscripten: Fix alt key being a nav key
20be1d63 2020-07-15 09:13:03 emscripten: Automatically resume audio contexts This uses the mechanism added in emscripten-core/emscripten#10843 which was applied to SDL1 and OpenAL. This adds the same for SDL2. This also reverts commit 865eaddffed50dbd13e6564c3f73902472cf74e8 which did something similar, but the new mechanism is more effective.
edaf3f9c 2020-04-21 15:02:06 emscripten: Extend the "nav key" blacklist Add the F keys and Ctrl/Alt+*. Consistent with other naviagtion disabling. Also, none of these generate keypress events anyway.
a99eec77 2021-02-12 14:31:43 wayland: Minor whitespace fix
65fbf36c 2021-02-12 14:46:49 Cleaned up a few more Bugzilla mentions.
4ff51d29 2021-02-12 14:15:29 Deprecate SDL_GetRevisionNumber and update things for git instead of hg. Fixes #4063
39153f81 2021-02-11 09:37:58 add Linux mapping for Ipega PG-9087S, closes #3783
f443a6fc 2021-02-11 02:05:02 Fix format string warnings for width-based integers The DJGPP compiler emits many warnings for conflicts between print format specifiers and argument types. To fix the warnings, I added `SDL_PRIx32` macros for use with `Sint32` and `Uint32` types. The macros alias those found in <inttypes.h> or fallback to a reasonable default. As an alternative, print arguments could be cast to plain old integers. I opted slightly for the current solution as it felt more technically correct, despite making the format strings more verbose.
5427f486 2021-02-11 17:28:07 Added support for trigger rumble for all Microsoft Xbox One controllers
1f7ec3fa 2021-02-11 17:27:22 Added support for the PowerA Xbox One Series X Wired Controller
cad67082 2021-02-04 19:04:56 wayland: Check for both _WAYLAND_CLIENT_H and WAYLAND_CLIENT_H
629334f2 2021-02-09 15: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.
f70e1973 2021-02-08 18: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.
d9ba2044 2021-02-08 16:55:01 Backed out changeset 852a7bdbdf4b This causes a use-after-free memory error
4183211a 2021-02-08 16:01:37 free the 'display' after it was added to global list
005e2c59 2021-02-09 00:57:25 [KMS/DRM] Bugfix number #5535: Improve reliability, by wahil1976.
dc45a228 2021-02-08 00:20:56 avoid some pedantic warnings in array initializers
9c3aa7f0 2021-02-06 15:43:17 SDL: fix packet handling for original version of Stadia FW
bb9e049d 2021-02-07 00:37:00 minor updates to libc function checks
19fa85d8 2021-02-06 16:05:55 [KMS/DRM] Fix build warning.
6ee53258 2021-02-06 14:03:53 [KMS/DRM] Replace indent tabs with spaces, as intended.
59cd46c2 2021-02-05 22: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.
538f7ad6 2021-02-05 00:27:11 [KMS/DRM] Remove redundant SDL_SendWindowEvent() call.
7beba050 2021-02-04 23:35:52 [KMS/DRM] Restore all-windows-are-fullscreen functionality, since there is no window manager in KMSDRM.
f4d58689 2021-02-03 18: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.
ff297753 2021-02-04 10:46:34 Fixed compiler warning
a60af1e4 2021-02-04 07:00:06 Backed out changeset 1cde3dd0f44d - this breaks windows which are created and then set to FULLSCREEN_DESKTOP
e404b525 2021-02-03 21:31:50 KMSDRM doesn't have a window manager, so all windows are fullscreen
549bc133 2021-02-03 09:51:42 SDL_vulkan_utils: minor code clean-up
c0166a29 2021-02-03 09: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
85235985 2021-02-02 11:53:31 Fixed detecting the paddles on the Xbox Elite Series 1 controller
69e9b2ac 2021-02-01 22: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.
ef2f13e1 2021-02-01 22:30:31 Added test command line options to force different window types
2426949a 2021-02-01 21:56:56 Removed support for clock_gettime_nsec_np() SDL_GetTicks() was broken and it's not adding any real value here.
fadfa510 2021-02-01 09:21:11 Don't uncorrelate while rumble is active and stay correlated longer in case raw input messages are lagging a bit.