src


Log

Author Commit Date CI Message
Sam Lantinga 4d665017 2022-07-24T18:04:26 Fixed building with 10.9 SDK Fixes https://github.com/libsdl-org/SDL/issues/5954
Cameron Gutman 3ab1e303 2022-07-24T15:29:42 joystick: Refactor and fix a few bugs in Shield HIDAPI driver - CMD_CHARGE_STATE was checking the seqnum instead of the payload - Off-by-one error in size validation for command payload - Unused payload space was left uninitialized in output report
Sam Lantinga 4d8bb89c 2022-07-24T11:50:14 Fixed mouse clip rect bounds on Windows Fixes https://github.com/libsdl-org/SDL/issues/5946
Dean Herbert 6bcde52d 2022-07-24T20:19:16 Further adjust implementation of `Cocoa_GetWindowDisplayIndex` As discussed in PR review, there may be an off-chance that the index returned doesn't match up with SDL's display indexing. This change ensures that the indices match and adds a safety check for off-screen windows.
Dean Herbert ce8aae14 2022-07-13T15:01:55 Fix `Cocoa_GetWindowDisplayIndex` failing and causing a catastrophic crash With the introduction of this function, it is possible that for certain monitor and window configurations, creating an SDL window will cause a native crash. ``` Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000050 Exception Codes: 0x0000000000000001, 0x0000000000000050 Exception Note: EXC_CORPSE_NOTIFY Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 Terminating Process: exc handler [56627] VM Region Info: 0x50 is not in any region. Bytes before following region: 140737486737328 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL UNUSED SPACE AT START ---> VM_ALLOCATE 7fffffe75000-7fffffe76000 [ 4K] r-x/r-x SM=ALI Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libSDL2.dylib 0x10247f665 SDL_UpdateFullscreenMode + 357 1 libSDL2.dylib 0x10247ec70 SDL_CreateWindow_REAL + 1504 2 ??? 0x111262de8 ??? 3 ??? 0x110c39fff ??? 4 libcoreclr.dylib 0x101fdf2a9 CallDescrWorkerInternal + 124 ``` Tracking thread from our end: https://github.com/ppy/osu-framework/issues/5190 Regressed with: https://github.com/libsdl-org/SDL/pull/5573 In testing, the window would not find a valid screen if created "hanging" off a primary display with a secondary display below it. In checking why this was the case, the `display_centre` was being calculated with a negative y origin, causing a final negative value falling outside all display bounds: ``` SDL error log [debug]: display_centre.y = -1296 + 1296 / 2 SDL error log [debug]: Display rect 0: 0 0 2560 1440 SDL error log [debug]: Display rect 1: 2560 -625 1080 2560 SDL error log [debug]: Display rect 2: 0 1440 1728 1296 ``` The method that was being used to find the current window using the frame origin/size seems unreliable, so I have opted to replace it with with a tried method (https://stackoverflow.com/a/40891902). Initial testing shows that this works with non-standard DPI screens, but further testing would be appreciated (cc @sezero / @misl6 from the original PR thread).
Sebastian Krzyszkowiak 041666e6 2022-07-24T05:45:59 video: wayland: Don't switch to libdecor path for borderless windows We actually request CSD mode with xdg-decoration for borderless windows, so we get what we wanted there and there's no point in going into fallback paths.
Sebastian Krzyszkowiak 405d1f65 2022-07-24T10:16:20 video: wayland: Roundtrip after falling back to libdecor in xdg-decoration handler Otherwise libdecor doesn't have a chance to acquire xdg-toplevel after libdecor_new before we attempt to use it in Wayland_ShowWindow. Fixes #5952
Ozkan Sezer 8c51cae7 2022-07-23T14:56:04 audio/aaudio, audio/openslES: fix -Wdeclaration-after-statement errors Fixes https://github.com/libsdl-org/SDL/issues/5950
slime 65647b34 2022-07-22T22:07:52 SDL_Render: use high precision texcoords in ES2 shaders, when possible Fixes #5884
Sam Lantinga f9beef76 2022-07-22T18:58:29 Added support for the Nintendo Switch Joy-Con Controllers on iOS and tvOS 16
Sam Lantinga aad7ef6e 2022-07-22T10:58:34 Added support for the Nintendo Switch Pro Controller on iOS and tvOS 16
Sam Lantinga 20f51b1f 2022-07-22T10:58:29 Fixed crash if debug text wasn't drawn during a session
Ethan Lee f3008e4a 2022-07-20T19:08:31 audio: 3- and 5-channel formats are now supported
Ryan C. Gordon 45c3b59d 2022-07-20T17:23:42 audio: Turn off DEBUG_CONFIG logging again.
Ryan C. Gordon bec721f0 2022-07-20T17:22:41 audio: Fixed dst pointer on channel conversions that grow in-place.
Ryan C. Gordon 9f56c7cf 2022-07-20T16:39:19 audio: Remove 5.1->X SIMD converters, add SSE mono->stereo. The 5.1 versions didn't use the new algorithm, and making that new algorithm work took so many permutes that it was significantly slower than just using the scalar versions. However, mono-to-stereo is an extremely common conversion, and it's trivial to accelerate it with plain SSE, so that was added!
Ryan C. Gordon b83ae9f2 2022-07-19T22:40:51 audio: Replaced some debug-printfs with debug-SDL_Logs. :)
Ryan C. Gordon 49ec8db5 2022-07-19T22:04:49 audio: Generate the channel converter code from a program.
Ryan C. Gordon f06cc3e9 2022-07-19T22:03:56 audio: "SL" means "surround left" not "side left", etc.
Ryan C. Gordon 5a0c8198 2022-07-19T22:03:02 audio: Add channel convert filter _after_ choosing an SIMD version.
Ryan C. Gordon fe160840 2022-07-19T16:04:48 audio: LOG_DEBUG_CONVERT should use SDL_Log, not fprintf(stderr).
Ryan C. Gordon 25727790 2022-07-19T02:16:08 audio: first attempt at rewriting the channel converters. This is not ready for production use!
Sam Lantinga be3a945a 2022-07-20T11:05:55 Added support for the 8BitDo Ultimate Wired Controller for Xbox
Ozkan Sezer b700a326 2022-07-20T07:01:10 audio, pipewire: fix signatures of pw_get_library_version and pw_init. Reference issue: https://github.com/libsdl-org/SDL/issues/5938
Ozkan Sezer 6e210d37 2022-07-20T07:01:10 audio, pipewire: pipewire_version_xx globals out of dynamic loading Fixes build with --disable-pipewire-shared Reference issue: https://github.com/libsdl-org/SDL/issues/5938
David Gow 78bad667 2022-07-16T22:12:08 video: wayland: Resize the window before sending the SDL_RESIZE event Currently, the SDL_WINDOWEVENT_RESIZED event is sent before the actual window is resized (and various internal state, such as the desired GL/Vulkan backbuffer size, are updated). This makes sense, as SDL will discard a no-op resize, which would be the case if we had resized before sending the event (indeed, there are existing hacks to prevent this). However, this means that SDL_{GL,Vulkan}_GetDrawableSize() will still use the old size in the SDL_WINDOWEVENT_RESIZED handler. In the case of SDL_Renderer, this means the drawable size it uses will be wrong, and the viewport will get "updated" to the old value. This then results in bug #5899.
Sam Lantinga 53e68516 2022-07-18T07:31:23 Fixed declaration-after-statement warning
Sam Lantinga 6ad7fdec 2022-07-18T07:26:29 Fixed infinite loop for values bigger than 0x40000000 Fixes https://github.com/libsdl-org/SDL/issues/5930
Sam Lantinga 2be93014 2022-07-18T07:18:56 Fixed comment (thanks @pionere!)
Sam Lantinga cef1514b 2022-07-17T09:07:04 Fixed some Xcode warnings
Sam Lantinga b299cb3d 2022-07-17T08:31:16 Added a utility function to calculate the next power of 2 for a value
Ethan Lee 90b86b13 2022-07-17T10:35:09 audio: Handle non-power-of-two spec.samples when unsupported Fixes #3685
Ethan Lee a09d62e4 2022-07-15T23:45:56 directsound: Remove redundant SubFormat copy
Ethan Lee c5e408ae 2022-07-15T11:31:59 directsound: For channel counts > 2, generate a dwChannelMask for CreateSoundBuffer
Ethan Lee fff34f63 2022-07-15T09:46:53 windows: SDL_IMMDevice needed more deinit code from the Win32 path. Fixes #5919
Frank Praznik 37aecda2 2022-07-14T11:38:51 pipewire: Use PW_KEY_TARGET_OBJECT to specify stream connection nodes Pipewire 0.3.44 introduced PW_KEY_TARGET_OBJECT, which is to be used to specify target connection nodes for streams. This parameter takes either a node path (PW_KEY_NODE_NAME) or serial number (PW_KEY_OBJECT_SERIAL) to specify a target node. The former is used in this case since the path is already being retrieved and stored for other purposes. The target_id parameter in pw_stream_connect() is now deprecated and should always be PW_ID_ANY when PW_KEY_TARGET_OBJECT is used.
Ozkan Sezer 2201d802 2022-07-14T02:40:00 avoid -Werror=declaration-after-statement after last commit.
freebsd 24b3efd0 2022-07-12T04:33:56 (OpenBSD) Exe Path: Use PWD instead of CWD and use CWD as fallback
Sam Lantinga 883409ea 2022-07-13T11:26:42 Added support for the misc1 button on the Nintendo Switch Pro Controller when using hid_nintendo kernel driver
SuperSamus 9a4f200d 2022-06-04T14:57:49 gamecontrollerdb: Linux, add mappings for hid-nintendo driver and more Taken from https://github.com/gabomdq/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
Sam Lantinga 06c7d226 2022-07-12T18:53:53 Added mappings for the HORI Fighting Stick mini 4 on Linux and macOS
Sam Lantinga e24b971a 2022-07-12T17:53:03 Added support for the NVIDIA Shield controller guide button
Cameron Gutman b321eae5 2022-07-11T19:43:25 joystick: Fix spurious battery empty events when opening a Shield controller
Cameron Gutman a0d8848b 2022-07-11T19:37:25 joystick: Plumb SDL_JoystickSendEffect() for the Shield HIDAPI driver The effect data format consists of one command byte followed by zero or more payload bytes.
Frank Praznik 36d8460c 2022-07-11T16:59:23 pipewire: Dynamically allocate the buffer for node strings Calculate and allocate the buffer for the IO node name and path strings dynamically instead of using arbitrary sized static buffers.
Frank Praznik 996cea31 2022-07-11T15:15:48 pipewire: Update default audio devices during runtime Make the default device metadata node persist for the lifetime of the hotplug loop so the default source/sink devices will be updated if they change during runtime.
Frank Praznik 60da11f0 2022-07-11T14:31:20 pipewire: Remove deprecated configuration key With Pipewire now requiring a minimum version 0.3.24, the PW_KEY_CONTEXT_PROFILE_MODULES value is no longer required for legacy compatability and can be safely removed.
Ozkan Sezer 4fa26533 2022-07-12T00:55:00 SDL_GetJoystickGUIDInfo: byte-swap vendor, product and version values. Reference issue: https://github.com/libsdl-org/SDL/issues/5907
Ethan Lee ecfbdce6 2022-07-11T13:09:48 pipewire: Require version 0.3.24 or newer at runtime
Ethan Lee 2f0816ad 2022-07-11T13:08:30 Add SDL_GetDefaultAudioInfo. This API is supported on pipewire, pulseaudio, wasapi, and directsound. Co-authored-by: Frank Praznik <frank.praznik@gmail.com>
Ethan Lee 15d06180 2022-07-11T01:06:57 SDL_IMMDevice: Fix a WASAPI-specific leak, clean up Add()
Ethan Lee ae105ae1 2022-07-10T12:59:33 windows: Move IMMDevice work to common file, implement DirectSound enumeration support
Sam Lantinga 2373da5d 2022-07-11T09:49:00 Exposed SDL_ResetKeyboard() as a public function This will be used by Source 2 titles to reset keyboard state before showing assertion dialogs
Cameron Gutman 6e712d24 2022-07-09T22:55:36 joystick: Add HIDAPI driver for NVIDIA SHIELD 2017 controller Basic input already works using the OS HID driver, but this enables force feedback and battery state reporting.
Cameron Gutman 3242265f 2022-07-10T12:22:47 joystick: Fix endianness issues in Xbox HIDAPI drivers
Ozkan Sezer 2f216485 2022-07-08T20:56:40 SDL_os2video.c: silenced -Wempty-body warning, along with minor tidy-up.
285424336 4aad594a 2022-07-08T16:17:46 Update SDL_qsa_audio.c Fix qnx platform compile error, change SDL_Bool to SDL_bool.
Eric Curtin c0eada20 2022-07-06T17:00:16 Fix assumption that DRI_DEVNAME begins at 0 (#5865) * Fix assumption that DRI_DEVNAME begins at 0 The existing logic of the code was to count every possible entry in KMSDRM_DRI_PATH. After this a for loop would start trying to open filename0, filename1, filename2, etc. In recent Linux kernels (say 5.18) with simpledrm, the lowest KMSDRM_DRI_DEVNAME is often /dev/dri/card1, rather than /dev/dri/card0, causing the code to fail once /dev/dri/card0 has failed to open. Running: modprobe foodrm && modprobe bardrm && rmmod foodrm before you try to run an application with SDL KMSDRM would have also made this fail. * Various changes from review - Removed newline and period from SDL error - Explicitely compare memcmp to zero (also changed to SDL_memcmp) - Changed memcpy to strncpy - Less aggressive line wrapping * Various changes from review - strncpy to SDL_strlcpy - removed size hardcodings for KMSDRM_DRI_PATHSIZE and KMSDRM_DRI_DEVNAMESIZE - made all KMSDRM_DRI defines, run-time variables to reduce bugs caused by these defines being more build-time on Linux and more run-rime on OpenBSD - renamed openbsd69orgreater variable to moderndri - altered comment from "if on OpenBSD" to add difference in 6.9 * Various changes from review - Use max size of destination, rather than max size of source - Less hardcodings
Sam Lantinga adf3ce7c 2022-07-05T21:42:24 Don't drop mouse focus on WM_MOUSELEAVE if the mouse is in relative mode; mouse-level is not meaningful for that case. Do drop mouse focus when keyboard focus is lost if the mouse is in relative mode.
Sam Lantinga 0253a450 2022-07-05T21:42:20 Fix format specifiers for WPARAM/LPARAM values, they are UINT_PTR.
Eddy Jansson ad0b9130 2022-07-05T22:29:43 android: Add missing entries to SDL_category_prefixes table. Add static assert so this shouldn't happen in the future. Fixes #5883
Chris Mumford 98411c0d 2022-07-05T06:52:04 Added include: libkern/OSAtomic.h When building on macOS without gcc (e.g. clang) where HAVE_GCC_ATOMICS is not defined, `SDL_AtomicTryLock` will call `OSAtomicCompareAndSwap32Barrier` which is not yet declared. Including OSAtomic.h on OSX resolves this error/warning: SDL_spinlock.c:125:12: error: implicit declaration of function 'OSAtomicCompareAndSwap32Barrier' is invalid in C99 [-Werror,-Wimplicit-function-declaration] return OSAtomicCompareAndSwap32Barrier(0, 1, lock); This was reported in issue #3885 but marked Invalid and closed - possibly because the default CMake build uses gcc instead of clang.
Ryan C. Gordon fdb86b82 2022-07-04T12:48:32 x11: Don't try to use XInput2 multitouch if not supported. Fixes #5889.
rohlem b085c182 2022-07-04T16:38:05 make SDL_SetTextInputRect take a pointer to const The documentation doesn't state that the argument is ever modified, and no implementation does so currently. This is a non-breaking change to guarantee as much to callers.
Dav999-v 51f75b8b 2022-07-04T16:42:46 Fix fallback implementations of SDL_strchr and SDL_strrchr for '\0' strchr and strrchr return a pointer to the first/last occurrence of a character in a string, or NULL if the character is not found. According to the C standard, the final null terminator is part of the string, and it should thus be possible to get a pointer to the final null with these functions. The fallback implementations of SDL_strchr and SDL_strrchr would always return NULL if trying to find '\0', and this commit fixes that.
chalonverse 85bbf8ee 2022-07-03T12:19:33 Fixed coment after #endif
Francisco Javier Trujillo Mata 7d7c5b80 2022-06-29T01:26:27 Improving mkdir creating parents folder
chalonverse f317d619 2022-07-01T13:59:14 Xbox GDKX support (#5869) * Xbox GDK support (14 squashed commits) * Added basic keyboard testing * Update readme * Code review fixes * Fixed issue where controller add/removal wasn't working (since the device notification events don't work on Xbox, have to use the joystick thread to poll XInput)
Sam Lantinga 89624485 2022-07-01T13:32:56 Updated the test bitmap font to cover the Latin-1 character set Based on Marcel Sondaar's font8_8.asm, in the public domain
Sam Lantinga e9d5060c 2022-07-01T12:56:47 checkkeys will now render text that is input Also added test functions for multi-line debug text display Currently this only supports ASCII, as the font doesn't have the correct Latin-1 characters
Sam Lantinga bdbf90e3 2022-07-01T09:17:30 on-screen keyboard newline is reported as an Enter key
Sam Lantinga 7ac5d616 2022-07-01T08:58:08 Fixed backspace being delivered after committed text on Android 12 Testing: Enter "hello ", followed by "?" - the events generated are: : commitText hello : Key pressed : scancode 11 = H, keycode 0x00000068 = H modifiers: (none) : Key released: scancode 11 = H, keycode 0x00000068 = H modifiers: (none) : Key pressed : scancode 8 = E, keycode 0x00000065 = E modifiers: (none) : Key released: scancode 8 = E, keycode 0x00000065 = E modifiers: (none) : Key pressed : scancode 15 = L, keycode 0x0000006C = L modifiers: (none) : Key released: scancode 15 = L, keycode 0x0000006C = L modifiers: (none) : Key pressed : scancode 15 = L, keycode 0x0000006C = L modifiers: (none) : Key released: scancode 15 = L, keycode 0x0000006C = L modifiers: (none) : Key pressed : scancode 18 = O, keycode 0x0000006F = O modifiers: (none) : Key released: scancode 18 = O, keycode 0x0000006F = O modifiers: (none) : Key pressed : scancode 44 = Space, keycode 0x00000020 = Space modifiers: (none) : Key released: scancode 44 = Space, keycode 0x00000020 = Space modifiers: (none) : INPUT Text (\x68\x65\x6c\x6c\x6f\x20): "hello " : finishComposingText : deleteSurroundingText 1 / 0 : Key pressed : scancode 42 = Backspace, keycode 0x00000008 = Backspace modifiers: (none) : Key released: scancode 42 = Backspace, keycode 0x00000008 = Backspace modifiers: (none) : commitText ? : Key pressed : scancode 225 = Left Shift, keycode 0x400000E1 = Left Shift modifiers: LSHIFT : Key pressed : scancode 56 = /, keycode 0x0000002F = / modifiers: (none) : Key released: scancode 56 = /, keycode 0x0000002F = / modifiers: (none) : Key released: scancode 225 = Left Shift, keycode 0x400000E1 = Left Shift modifiers: (none) : INPUT Text (\x3f): "?" : setComposingText , at 1 : EDIT Text (): "" Previously, the backspace would be delivered after the "?"
Cameron Cawley 78089e65 2022-07-01T13:08:31 Remove unused internal header SDL_sysevents.h
Cameron Gutman 3e114872 2022-06-30T20:36:45 joystick: Fix redetection of HIDAPI joysticks after reinitializing The HIDAPI joystick driver doesn't properly reset the change counter it uses to track if re-enumeration is needed when the joystick subsystem is quit and then reinitialized. The first SDL_Init(SDL_INIT_JOYSTICK) will result in the expected HIDAPI joysticks appearing, but subsequent calls will result in no joysticks being enumerated until another HIDAPI joystick is added or removed from the system.
chalonverse 4f732197 2022-06-30T00:25:26 Fixed D3D12 renderer not working with batching, and got rid of the vertex buffer size limit
Sam Lantinga 0ad65277 2022-06-29T17:26:09 Refactored code to send scancodes for an ASCII on-screen keyboard key
Francisco Javier Trujillo Mata a054a5f7 2022-06-29T01:09:17 Improve SDL2 main, adding memory card and usb drivers
Jade Macho 6a2e6c82 2022-06-28T21:03:16 Add SDL_HINT_DIRECTINPUT_ENABLED (on by default)
Sam Lantinga 1d1fb95a 2022-06-28T06:21:45 Removed double va_end()
Sylvain f815580d 2022-06-28T13:09:38 Fix SIGSEV in SDL_error. Re-apply same pattern on this uncompiled code (see #5795)
Sylvain d4e6047e 2022-06-28T09:46:12 Fix SIGSEV in SDL_error (After removing the limit on the size of the SDL error message) (see #5795)
Sourcery AI cddf095a 2022-06-27T05:00:43 'Refactored by Sourcery'
Sam Lantinga b6f1c918 2022-06-27T17:44:55 Fixed Watcom C build
Sam Lantinga cbd01874 2022-06-27T16:59:50 Removed the limit on the size of the SDL error message Also added SDL_GetOriginalMemoryFunctions() Fixes https://github.com/libsdl-org/SDL/issues/5795
Pierre Wendling f25b4b27 2022-06-27T16:57:21 Style: Flip `if` statement.
Pierre Wendling 6c536afd 2022-06-27T15:43:17 Fix C89 declaration for macOS modules. Since Clang 14, `-Wdeclaration-after-statement` is enforced on every standard.
Francisco Javier Trujillo Mata e4a80875 2022-06-24T16:43:20 Initial Audio driver
Brad Smith 97239176 2022-06-25T23:33:53 Use proper header for OpenBSD PPC CPU detection
chalonverse 3b191580 2022-06-27T17:19:39 Windows GDK Support (#5830) * Added GDK * Simplfied checks in SDL_config_wingdk.h * Added testgdk sample * Added GDK readme * Fixed error in merge of SDL_windows.h * Additional GDK fixes * OpenWatcom should not export _SDL_GDKGetTaskQueue * Formatting fixes * Moved initialization code into SDL_GDKRunApp
Sylvain 314bb5a1 2022-06-27T14:45:14 Fixed bug #5850: Android EGL_BAD_ACCESS because of viewport command while turning the screen off/on.
Francisco Javier Trujillo Mata 7fd46ec5 2022-06-18T17:40:53 Initial PS2_Joystick implementation
Francisco Javier Trujillo Mata 84d69da4 2022-03-20T19:42:06 Initial SDL_ps2_main implementation
Ivan Epifanov b2f07d94 2022-06-26T15:53:13 Vita: create rendertarget color surface with same format as texture. Fixes #5844
unknown ebe4f47f 2022-06-26T19:04:25 Fixed __VA_ARGS__ in gcc when no args
unknown 51c6488f 2022-06-26T18:47:34 Add support for SDL_render_d3d12.c to compile in C++ mode
Francisco Javier Trujillo Mata 2b41f497 2021-11-18T01:09:45 Improve Joystick removing semaphores
Francisco Javier Trujillo Mata c3a5e4aa 2022-06-22T00:54:03 Adding GetGamepadMapping to Vita Joystick driver
Ozkan Sezer 7adb08a7 2022-06-22T01:37:00 fixed SDL_BlitMap typedef redefinition errors
Ryan C. Gordon 12b371ee 2022-06-21T14:49:00 x11: Don't send diplay-add events for displays connected at init time. Reference Issue #4977.
Frank Praznik c11bdeeb 2022-06-21T13:28:14 wayland: Round fractional backbuffer sizes halfway away from zero Use SDL_lroundf() to round fractional backbuffer sizes halfway away from zero, as this is the rounding method recommended by the forthcoming Wayland fractional scaling protocol.