Commit Graph

21899 Commits

Author SHA1 Message Date
Anonymous Maarten d5af35e3fb surface: cannot set a palette to a non-indexed surface
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
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
Anonymous Maarten 6b26332785 ci+release: build with gameinput support 2026-05-15 03:00:10 +02:00
SDL Wiki Bot ff98125cbd Sync SDL3 wiki -> header
[ci skip]
2026-05-15 00:43:30 +00:00
Petar Popovic 8787895575 SDL_video.h comment update 2026-05-14 17:42:02 -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:
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
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
Sam Lantinga fdfbbcefb2 Fixed error: "SVE support not enabled" building on Android 2026-05-14 12:01:19 -07:00
SDL Wiki Bot 9e07e0c215 Sync SDL3 wiki -> header
[ci skip]
2026-05-14 18:52:22 +00:00
crudelios 439ffd13eb Android: Add support for folder dialogs 2026-05-14 11:50:52 -07:00
Sam Lantinga de08751537 Fixed build for older toolchains that don't have arm_sve.h 2026-05-14 11:42:54 -07:00
Sylvain Becker 11745aad07 Fix build with SVE2 (#15586) 2026-05-14 11:17:53 -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
Anonymous Maarten 0f2c04319f cmake: gameinput.h is a c++-only header 2026-05-14 18:42:46 +02:00
Anonymous Maarten 2fa7ba1e4f stdinc: _Countof is only available in C mode 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
ceski 006959ca87 Add dual touchpad support to testcontroller (#15540)
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
2026-05-13 23:49:01 -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
SDL Wiki Bot a400a70484 Sync SDL3 wiki -> header
[ci skip]
2026-05-14 06:39:08 +00: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
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
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
Joel Auterson c247f06f01 Add libusb-1.0-0-dev to Linux deps doc
libusb-1.0-0 is needed to enable SDL_HIDAPI_LIBUSB. It does not work with the `libusb-dev` package on Ubuntu, which is for the older version.
2026-05-13 18:35:56 -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*()
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
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 716c767b7e Document that you may receive mouse events with SDL_PEN_MOUSEID 2026-05-13 08:11:41 -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
Sam Lantinga c362f1341f Change controller sensor state on the main UI thread on Android
Fixes https://github.com/libsdl-org/SDL/issues/15565
2026-05-13 07:39:02 -07:00
Sam Lantinga 7222c04fbf Synchronize controller access on the Java side on Android 2026-05-13 07:39:02 -07:00
Cameron Cawley 7071efb6a3 Fix switching modes on RISC OS
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
2026-05-12 20:18:02 -07:00
Rachel Blackman 418960bb4e Handle the Amazon Fire TV's weird Bluetooth behavior 2026-05-12 17:40:37 -07:00
SDL Wiki Bot fd8682ccc9 Sync SDL3 wiki -> header
[ci skip]
2026-05-12 23:49:34 +00: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
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
Fixes https://github.com/libsdl-org/SDL/issues/15555
2026-05-11 22:10:20 -07:00
Al. Lopez 4940345a2e added additional examples of paddle/misc buttons for Steam Controller (#15544) 2026-05-11 21:45:10 -07:00
Sam Lantinga bb4eedd67d Fixed a crash if we get a HID device with no path
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
This can happen on Linux if udev_device_get_devnode() fails.
2026-05-11 16:47:26 -07:00
Rachel Blackman e4a327709d Correctly support OG Steam Controller when connected via USB on Android (#15561) 2026-05-11 15:19:57 -07:00