ceski
c00d7b4bf5
Add Steam Controller mapping ( #15601 )
...
Also fixed Hori QAM button mapping
2026-05-15 19:18:38 -07:00
John Schoenick
0ffb0bdd87
unix: Fix infinite looping in SDL_FriBidi_Process if len > 127
...
start/end should be FriBidiStrIndex here -- using FriBidiLevel makes
them `signed char` and the loop here will become infinite if `end` is
> 127.
2026-05-15 15:40:29 -07:00
Rachel Blackman
d83e7bf79e
Add Gamesir Supernova in Xinput mode to controller list
2026-05-15 13:25:41 -07:00
Evan Hemsley
86296ac8f0
GPU: Set missing fields on Vulkan swapchain texture ( #15606 )
2026-05-15 11:43:57 -07:00
Sam Lantinga
aeacf42e06
gameinput: only add the share button for known Xbox Series X controllers
...
The HID descriptor for the latest firmware always includes the share button, and GameInput will report it as always available, so double check against our list of classic Xbox One controllers and don't include the button on controllers that don't have it.
2026-05-15 11:01:31 -07:00
Sam Lantinga
a95ce7e734
Detect the GameSir Super Nova in Xbox 360 mode
2026-05-15 10:13:15 -07:00
stahta01
6586bebfec
Fix Cygwin building and add CI ( #15566 )
...
Co-authored-by: TrueCat17 <truecat17@gmail.com >
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com >
Co-authored-by: Ozkan Sezer <sezeroz@gmail.com >
2026-05-15 08:48:24 -07:00
Ryan C. Gordon
be97a18d82
android: Don't allow access to the asset tree with a path of "".
...
Reference Issue #15587 .
2026-05-15 10:34:30 -04:00
Ryan C. Gordon
e1fa336ac4
android: Don't ever enumerate absolute paths from the assets tree.
...
This could happen if opendir() failed for a reason other than the directory
missing (for example, `opendir("/")` fails with EACCES.
Reference Issue #15587 .
2026-05-15 10:29:42 -04:00
Anonymous Maarten
d5af35e3fb
surface: cannot set a palette to a non-indexed surface
...
This fixes a UBSAN warning later in this function where it calculates
(1 << SDL_BITSPERPIXEL(surface->format)). The bpp might be >= 32 and
out of range for a bit shift.
2026-05-14 20:53:45 -07:00
Rachel Blackman
eb340388fc
Fix HIDAPI support for Flydigi Vader 5 Pro ( #15594 )
2026-05-14 17:32:25 -07:00
Evan Hemsley
f286e420af
GPU: Refactor Vulkan barriers to fix defrag segfault ( #15593 )
2026-05-14 17:01:13 -07:00
Sam Lantinga
c9bb41bd9c
Fixed build when GameInput is enabled
2026-05-14 16:52:40 -07:00
ceski
f3faf67c64
Add Steam Controller touchpads, capacitive touch for sticks, and grip sense ( #15528 )
2026-05-14 16:26:26 -07:00
Ozkan Sezer
4d95a63fe3
fix build after commit 2c4e6ed358:
...
move SDL_UsingGameInputForXInputControllers() to core/windows/SDL_gameinput.cpp
because joystick/gdk/SDL_gameinputjoystick.cpp isn't always added to build.
2026-05-14 23:11:22 +03:00
Ryan C. Gordon
0e07b7c5e2
android: Comment out debug logging.
...
Reference Issue #15587 .
2026-05-14 15:58:15 -04:00
crudelios
439ffd13eb
Android: Add support for folder dialogs
2026-05-14 11:50:52 -07:00
Sam Lantinga
2c4e6ed358
Enable GameInput v3 by default if it's available
...
GameInput is now the most functional Windows API for handling XInput controllers.
2026-05-14 10:18:58 -07:00
Anonymous Maarten
d57c3b685c
gameinputjoystick: %02hhX emits a -Wformat warning
2026-05-14 18:42:46 +02:00
Anonymous Maarten
8122b8f2ac
gameinput.h emits a few Wundef warnings (WINAPI_PARTITION_* macros)
2026-05-14 18:42:46 +02:00
Cameron Cawley
a3376acc2e
Replace custom NEON cast macros with vreinterpret_*_*
2026-05-14 09:16:25 -07:00
Sam Lantinga
0defb4ddfc
Added controller sensor support for GameInput v3
...
Verified working with the DualSense controller
2026-05-13 23:41:29 -07:00
Vlad-Florin Ilie
b333c04ccc
Fix Steam Controller 2026 (triton) rumble ( #15558 )
2026-05-13 23:40:55 -07:00
Gabriel Wang
0f175891a6
Add SVE2 SIMD Alpha-Blending Blitter ( #15504 )
...
SVE/SVE2 is a new SIMD extension for AArch64. Compared to NEON, SVE/SVE2 brings the following benefits that are good for SDL projects:
- Lane prediction: we don't have to treat the tail part of a stride separately when the width is n times the hardware vector size
- Although the performance is almost no difference from NEON when the hardware vector size is 128bits, when the hardware provides a longer vector size, e.g. 256, 512, ... 2048, we can enjoy the large performance gain without modifying the source code or recompiling a library.
The functional correctness is validated in a dedicated [qemu project](https://github.com/GorgonMeducer/aarch64_qemu_mac_template/tree/SDL-SVE2-Acceleration-Validation ).
The performance is tested on [Radxa Orion 6 N](https://radxa.com/products/orion/o6n/ ), which provides 4x A720 and 4x A520 processors. Since the vector size is 128 bits, which is the same as NEON, the performance is almost the same (or no worse than) the NEON acceleration.
2026-05-13 23:37:46 -07:00
Sam Lantinga
0e5e772ba9
Fixed windows getting the wrong size when setting size and aspect ratio back to back
2026-05-13 20:39:38 -07:00
Cameron Cawley
e50faf4e6a
Support the full set of standard CSS cursors
2026-05-13 20:24:44 -07:00
Sam Lantinga
4884dbbe56
Added SDL_SendGamepadEffect() support for the new Steam Controller
2026-05-13 20:14:50 -07:00
Cameron Cawley
c6b232f5d4
Support loading JPEG images through SDL_LoadSurface()
2026-05-13 16:11:53 -07:00
Ryan C. Gordon
9672f5b68b
android: Change how apps access their APK's "assets" directory.
...
Now they can explicitly access it with "assets://" filenames, and
SDL_GetBasePath() returns "assets://"
Fixes #15347 .
Fixes #5044 .
2026-05-13 17:12:36 -04:00
Brenton Bostick
e8127a9a11
Fix #15500 : deprecation warning on Android for slCreateEngine
2026-05-13 16:44:19 -04:00
Eddy Jansson
4eb221881a
DOS: Replace SDL_memset() with SDL_zero*()
2026-05-13 11:28:54 -07:00
Eddy Jansson
70159c34f6
DOS & Tray: Don't do NULL-checks before SDL_free()
2026-05-13 11:28:54 -07:00
Sam Lantinga
3dbd3e43e2
Return the touch device name for SDL_TOUCH_MOUSEID
2026-05-13 09:07:36 -07:00
Cameron Cawley
b1f390255a
Allow formats with alpha channels for window textures
...
Because the blend mode is explicitly set to SDL_BLENDMODE_NONE, it doesn't matter if there's a transparency channel in the texture format or not for opaque windows. This ensures that a 32-bit format is used with Metal instead of SDL_PIXELFORMAT_RGB565.
2026-05-13 08:52:30 -07:00
Sam Lantinga
fcaf5bbf8c
Use predefined names for constant keyboard and mouse IDs
...
Fixes https://github.com/libsdl-org/SDL/issues/15563
2026-05-13 08:11:41 -07:00
Ozkan Sezer
36e1efccb4
revert parts of CodeSpell commit d870911202 from 3rd party sources
2026-05-13 18:00:02 +03:00
Cameron Cawley
7071efb6a3
Fix switching modes on RISC OS
2026-05-12 20:18:02 -07:00
Sam Lantinga
5cf16e4522
Added curved window mode on visionOS 26 ( #15298 )
2026-05-12 16:48:06 -07:00
Sam Lantinga
f30ec9940a
Removed Wooting 60HE (ARM) from the controller blacklist
...
Fixes https://github.com/libsdl-org/SDL/issues/15555
2026-05-11 22:10:20 -07:00
Sam Lantinga
bb4eedd67d
Fixed a crash if we get a HID device with no path
...
This can happen on Linux if udev_device_get_devnode() fails.
2026-05-11 16:47:26 -07:00
Rachel Blackman
fd3cfb97c1
Ensure Android gamepad mappings don't lose the first button.
2026-05-11 12:59:30 -07:00
Evan Hemsley
76f8705c12
GPU: Fix segfault when copying to Vulkan swapchain ( #15543 )
2026-05-11 11:42:11 -07:00
Rachel Blackman
7ec70d39c4
*Only* preserve report byte for feature reports. Oops.
2026-05-11 11:33:11 -07:00
Nintorch
287e2573cd
Ignore Keychron K10 Pro and Huion Tablet_GS1331
2026-05-11 07:15:14 -07:00
Cameron Gutman
7439a94ed2
atomic: Implement loads on MSVC without RMW operations
...
This fixes faults when loading from read-only memory and avoids
cache line bouncing across cores which reduces performance.
2026-05-11 06:43:08 -07:00
Frank Praznik
f48525aa70
x11: Store the mouse button serial for emulated pointer events as well
...
Otherwise, filtered emulated button events, such as for mouse wheels, can slip through the core event handler.
2026-05-10 14:16:49 -04:00
Evan Hemsley
cbe3fbe9f3
GPU: Validate that 2D textures don't have layers ( #15535 )
2026-05-07 19:20:21 -07:00
Evan Hemsley
d08ef12b12
GPU: Allow depth texture arrays ( #15534 )
2026-05-07 16:34:32 -07:00
Frank Praznik
04d8a654d8
wayland: Ensure the viewport size is always non-zero
...
A viewport size of zero is a protocol error, so guard against it when adjusting the aspect ratio.
2026-05-07 13:16:50 -04:00
Frank Praznik
ba3577f584
wayland: Ensure window dimensions are greater than zero after adjusting for aspect
...
Resizing to zero can cause a bad viewport size error.
2026-05-07 13:16:50 -04:00