Commit Graph

21501 Commits

Author SHA1 Message Date
Sam Lantinga
2385dc6297 Added support for the Flydigi Vader 5 Pro in Xbox 360 mode 2026-02-24 10:18:17 -08:00
Brenton Bostick
c259f969f2 fix unknown argument nBufSize 2026-02-24 09:50:17 -08:00
Brenton Bostick
0d0db08b61 fix JNI parameter types 2026-02-24 09:49:42 -08:00
Brenton Bostick
a5889b0e44 make sure #endif comment matches the macro name 2026-02-24 09:48:57 -08:00
Void Star Caster
4a4ae4a79d Fix GetSampler() bug for INDEX8 pixel format (#15099) 2026-02-24 08:05:30 -08:00
SDL Wiki Bot
5212b82c4f Sync SDL3 wiki -> header
[ci skip]
2026-02-24 15:05:20 +00:00
Vicki Pfau
ab6dd970ac camera: Don't try to fake entire range for FRMIVAL_TYPE_CONTINUOUS
V4L2 is able to advertise that a video device is able to display any frame
interval within a continuous range. SDL does not allow advertising this and
only exposes discrete frame intervals. To work around this, SDL attempted to
generate a subset of the range with a fixed interval. Unfortunately, the way
this was accomplish is inherently broken and led to attempting to allocate a
very large number of formats per resolution and colorspace. With the Magewell
Pro Capture HDMI, which can expose FRMSIZE_TYPE_CONTINUOUS as well, this can
expose a truly astronomical number of formats, exceeding 1 PB of RAM. This will
lead to an OOM kill for any process that tries to initialize the camera
subsystem.

This patch just tests to see if some common frame rates are within the
contiuous range and expose those. SDL still does not handle
FRMSIZE_TYPE_CONTINUOUS in a graceful way so it still uses over a gigabyte of
RAM for each possible combination of sizes, but with this patch it no longer
leads to an OOM kill. The API will need amending for proper support for both
continuous frame sizes and frame intervals.
2026-02-24 06:54:31 -08:00
Vicki Pfau
8a1684fbbc Support SL/SR on Switch 2 controllers, but only in mini-controller mode
It doesn't really make sense to support these in combined mode since they're usually occluded.
2026-02-24 06:52:32 -08:00
Frank Praznik
550394eecd x11: Don't send duplicate key down events when reconciling
Modifier keys shouldn't be repeated.
2026-02-23 15:09:34 -05:00
Sam Lantinga
2e4ac09b1f Fixed cursor mask padding calculation 2026-02-23 09:52:45 -08:00
SDL Wiki Bot
284a3a6ba6 Sync SDL3 wiki -> header
[ci skip]
2026-02-23 16:15:38 +00:00
Aaron Benjamin
7678226f4a test: Add testgpu_spinning_cube_xr (#14943)
Co-authored-by: Ethan Lee <flibitijibibo@gmail.com>
2026-02-23 11:14:19 -05:00
tmkk
bbcc205de9 Detect steam virtual gamepads more accurately on macOS 2026-02-22 11:11:09 -08:00
tmkk
50d0e2ede2 Bring back support for 360Controller driver on macOS 2026-02-22 11:11:09 -08:00
SDL Wiki Bot
2e18cf8d09 Sync SDL3 wiki -> header
[ci skip]
2026-02-22 00:07:28 +00:00
Sam Lantinga
4f06087b36 Improved support for byte array pixel formats
Fixes https://github.com/libsdl-org/SDL/issues/15082
2026-02-21 12:51:26 -08:00
Sam Lantinga
21e10b2e76 Note that SDL_getenv() is case sensitive
Fixes https://github.com/libsdl-org/SDL/issues/15086
2026-02-21 10:49:57 -08:00
SDL Wiki Bot
e4d6383b52 Sync SDL3 wiki -> header
[ci skip]
2026-02-21 15:56:44 +00:00
Alex Threlfo
6583134365 filesystem: Fix Android asset enumeration
Passes expected relative paths to Android's AssetManager API instead of
absolute ones + fixes some indexing logic with trailing slashes.
2026-02-20 15:10:52 -08:00
SDL Wiki Bot
2aacf018f0 Sync SDL3 wiki -> header
[ci skip]
2026-02-20 19:31:49 +00:00
Ryan C. Gordon
69ddf1d6c7 docs: Clarify symlink info in SDL_GetPathInfo, etc.
Fixes #15078.
2026-02-20 14:30:26 -05:00
Anonymous Maarten
bc211aa150 ci: add CFLAGS to pkg-config link command 2026-02-20 11:20:43 -08:00
Sam Lantinga
67c2f61068 Support an alternate GameSir report format 2026-02-20 09:44:14 -08:00
Ethan Lee
8a3820500d cocoa: Don't include KHR_portability_enumeration by default.
This is only useful if the application knows to add the flag introduced by this
extension, and at that point the application can also include the extension
themselves.

Case in point: SDL_gpu_vulkan was already doing this!
2026-02-20 11:29:26 -05:00
Ethan Lee
fa9bad2e4b vulkan: Only enable KHR_portability_enumeration when available 2026-02-20 11:29:26 -05:00
Ryan C. Gordon
1223767b2c include: More \threadsafety documentation.
Reference Issue #7140.
2026-02-20 10:45:39 -05:00
Ryan C. Gordon
c728e2f044 emscripten: Move some EM_ASM blocks to MAIN_THREAD_EM_ASM.
These blocks reference the `navigator` global, which is not available in
background threads.
2026-02-20 10:27:44 -05:00
Jesse Chounard
a79bd26d28 Fix D3D12 DSV creation for array/cube/cube-array depth textures
DSV creation was missing a TEXTURE2DARRAY branch for array, cube, and
cube-array depth textures. It fell through to TEXTURE2D, so
FirstArraySlice was never set and all layers' DSVs targeted layer 0.
This caused incorrect rendering when using depth textures with multiple
layers, such as cubemap shadow maps.
2026-02-20 10:23:47 -05:00
Ryan C. Gordon
3aa531000a n3ds: SDL_SYS_GetPreferredLocales now handles error cases correctly.
Previously it would have reported success but not returned a valid string, and
didn't check for the (probably extremely unlikely) case of overflowing our
locale list array.
2026-02-20 10:14:05 -05:00
Frank Praznik
be82f316c4 video: Check video backend initialization when querying the grabbed window
SDL_GetGrabbedWindow() can be called when the video system is uninitialized, and, since there is no window parameter, _this must be checked for validity to avoid a segfault.
2026-02-19 11:22:03 -05:00
SDL Wiki Bot
72ed7d0f87 Sync SDL3 wiki -> header
[ci skip]
2026-02-19 00:52:16 +00:00
Ryan C. Gordon
28e4269915 include: Added \threadsafety notes to about 60 more functions.
Reference Issue #7140.
2026-02-18 19:49:59 -05:00
Ryan C. Gordon
a3b0403412 filesystem: Fix SDL_GlobDirectory on iOS and Android.
It SDL_SYS_EnumerateDirectory was changing the path string and passing it to
the callback, causing chaos in the glob handler, which expected the original
string to pass through.

Fixes #15057.
2026-02-17 19:41:20 -05:00
Ryan C. Gordon
c9591c515c emscripten: Fix only one mouse button being usable at a time.
Fixes #15056.
2026-02-17 19:00:36 -05:00
Ryan C. Gordon
c043adaeb2 Reapply "MacOS: improve scroll smoothing"
This reverts commit 63c0650321.

This reverts a revert; leaving this in main, where we'll examine it in 3.6.0.

This remains reverted in release-3.4.x

Reference Issue #15058.
2026-02-17 18:51:53 -05:00
Ryan C. Gordon
0f2d415dee emscripten: Allow resize events on fullscreen windows.
Fixes browsers on phone that change screen orientation during fullscreen not
getting a resize event.

Fixes #15024.
2026-02-17 18:40:24 -05:00
William Horvath
06bf8d1924 gpu_vulkan: Set texture container before transitioning to default barrier state.
Avoids a null dereference of currentRegion->vulkanTexture->container in DefragmentMemory:

} else if (!currentRegion->isBuffer && !currentRegion->vulkanTexture->markedForDestroy) {
...
&currentRegion->vulkanTexture->container->header.info
... (among others)

by not "VULKAN_Submit"ting (and thus adding it to the defrag pool) before setting the container.

Although rare (defrag almost never ran), this crash happened in a real-world application.
2026-02-17 14:12:44 -08:00
Sam Lantinga
129627068f Fixed HIDAPI PS5 Bluetooth report format 2026-02-17 08:57:06 -08:00
Ryan C. Gordon
63c0650321 Revert "MacOS: improve scroll smoothing"
This reverts commit 5dab2c73f0.

We'll revisit this in the next SDL release.

Reference Issue #15058.
2026-02-17 10:23:57 -05:00
Cameron Gutman
f0bda7b655 android: Fix scancode for AKEYCODE_CHANNEL_DOWN 2026-02-17 00:18:48 -06:00
Zack Middleton
54de246b4b win32: Set error for SDL_GL_GetSwapInterval() 2026-02-16 22:03:20 -05:00
Sam Lantinga
1dcc6e2135 Fixed detection of the "Android TV Box" as a TV 2026-02-16 12:34:54 -08:00
Sam Lantinga
089f5e1318 Treat the D-pad center button as SDL_SCANCODE_RETURN
This fixes handling of the Android TV remote select button sent over CEC.
2026-02-16 12:34:54 -08:00
Ryan C. Gordon
2b0ce9ae6e examples: Make source code and console tabs take 80% of browser page.
Fixes #14997.

(cherry picked from commit 3d2af85934)
2026-02-16 14:26:51 -05:00
Sam Lantinga
bc623d1af6 Moved mouse/keyboard detection to a separate thread on Windows
Getting device names can hang for a long time on certain devices, so make sure this is done on a separate thread to avoid blocking initialization and the main loop.

Fixes https://github.com/libsdl-org/SDL/issues/12913
2026-02-16 11:23:14 -08:00
Sam Lantinga
a98e49409e Don't re-query HID device vendor and product 2026-02-16 11:23:14 -08:00
Cameron Gutman
8535936401 win32: Fix composition UI being displayed when IME is disabled 2026-02-16 09:00:33 -08:00
Ethan Lee
ad60fa07d7 gpu: Add LogWarn to Vulkan OpenXR load failure, to match D3D12 2026-02-16 11:46:25 -05:00
NateXS
149abe8f85 n3ds: Don't put audio thread in system core on Old 3DS systems 2026-02-16 08:44:17 -08:00
DominusExult
225fb12ae1 Hide deprecation message for controllerPausedHandler (which is still needed for backwards compatibility) 2026-02-15 10:57:07 -08:00