Commit graph

22041 commits

Author SHA1 Message Date
Sam Lantinga
bb3c61390a Fix mistyped output report message for Steam Controller
This caused hiccups in BlueZ BT driver for Linux
2026-05-27 18:20:17 -07:00
Sam Lantinga
f7a8801227 Add support for new Steam Controller input report 2026-05-27 18:19:43 -07:00
Rachel Blackman
a7ecd5f777 OpenVR: Actually quit correctly if we get a close/quit message. 2026-05-27 17:40:30 -07:00
SDL Wiki Bot
8c0add4351 Sync SDL3 wiki -> header
[ci skip]
2026-05-27 23:36:18 +00:00
Evan Hemsley
7911975414
GPU: Clarify some presentation concerns in docs (#15707) 2026-05-27 16:34:48 -07:00
Sam Lantinga
76560f9e47 Revert "android: fixed a possible joystick-related deadlock on application termination"
This reverts commit 6b4ae68460.

It turns out this deadlock is possible for any joystick event delivery combined with an event watcher that locks joysticks. I'm reverting this change for now, and will be working on a better global solution for this problem.
2026-05-27 13:07:46 -07:00
Ryan C. Gordon
c568c46f51 cmake: Preseed the CMake cache for Haiku OS.
This change drops the configure time on my little Haiku virtual machine from
103 seconds to six.  :)

Fixes #15702.
2026-05-27 15:43:16 -04:00
Ryan C. Gordon
d7ba3efe6b
filesystem: Implement SDL_GetExeName() for all platforms. 2026-05-27 15:41:51 -04:00
Ryan C. Gordon
6b780c5ff9
gdk: Just use WIN_GetModulePath().
There's no need to use the "A" version of GetModuleFileName on GDK; it returns
a UTF-8 string directly on this platform, but we can still use the UTF-16 "W"
version and cut down on code duplication.

This code runs once and caches the results, so we can take the one-time string
conversion overhead.
2026-05-27 15:22:10 -04:00
Anonymous Maarten
bb11c6789c docs: bump minimum required Android ndk version 2026-05-27 20:05:50 +02:00
Frank Praznik
6a3b0413dc x11: Fix boolean/enum comparison
This could set the pending flag even if there was no state change requested, which would cause errant sync timeouts in certain situations.
2026-05-27 12:15:21 -04:00
Ryan C. Gordon
22fb9edd5c
x11: SetupWindowData shouldn't add to videodata->windowlist until success.
Fixes #15676.
2026-05-27 11:43:57 -04:00
zanadoman
d7b1255484 GPU: Return early in SDL_WaitForGPUFences if num_fences is 0 2026-05-27 08:24:34 -07:00
Rachel Blackman
ac177763aa
Ensure we release exclusive USB access to controllers when backgrounded. #15694 2026-05-26 17:40:52 -07:00
Ryan C. Gordon
59a302e601 xr: Add fallback for SDL_PROP_GPU_DEVICE_CREATE_XR_APPLICATION_NAME_STRING.
It'll use SDL_GetAppMetadataProperty(SDL_PROP_APP_METADATA_NAME_STRING) if
necessary now.
2026-05-26 20:27:22 -04:00
Ryan C. Gordon
a49ba90257 metadata: SDL_GetAppMetadataProperty() now uses SDL_GetExeName().
(for SDL_PROP_APP_METADATA_NAME_STRING if unset. If SDL_GetExeName() returns
NULL, it'll fallback to good ol' "SDL Application", as usual.)

Fixes #15692.
2026-05-26 20:27:22 -04:00
Ryan C. Gordon
7d29ce8e31 filesystem: Added SDL_GetExeName().
core/unix had a more-limited copy of filesystem/unix's implementation, called
SDL_GetExeName(). Replace that with a real implementation in filesystem, and
allow each platform to implement it as appropriate.

Implemented for Unix and Windows; most implementations are currently FIXME
stubs at the moment.

Reference Issue #15692.
2026-05-26 20:27:22 -04:00
NY00123
199d509820 Android: Skip duplicated joystick axes during poll
Resolves https://github.com/libsdl-org/SDL/issues/15414
2026-05-26 15:54:33 -07:00
Frank Praznik
cd0b796a6e video: Only ignore modes with a lower color depth in SDL_GetClosestFullscreenDisplayMode()
If a mode with a closer refresh was found, but it had the same color depth as the current best match, it was being dropped. Only ignore the new mode if the color depth is below the current best match.
2026-05-26 18:27:25 -04:00
Sam Lantinga
a84dafd5b9 Don't use the HIDAPI driver with Backbone One PlayStation Edition Gen 2
This product doesn't appear to use the DualSense protocol. On Android this shows up as two interfaces that don't send reports that we can parse.
2026-05-26 14:15:43 -07:00
Ryan C. Gordon
6249bac891 dos: Use INT 0x21, operation 0x62 to calculate basepath.
Previously this captured argv[0] and pushed it through searchpath(). It's
probably better to go right to the source to find this info, though.
2026-05-26 14:28:58 -04:00
SDL Wiki Bot
511783b2ba Sync SDL3 wiki -> header
[ci skip]
2026-05-26 14:59:13 +00:00
Gabriel Wang
f2dba2626e
SVE2: Improves SVE2 8888 swizzling performance and important fixes (#15662)
* SVE2 was actually disabled in fdfbbce, this issue is fixed
  - The macro __ARM_FEATURE_SVE  is only defined when the compilation target is set as -march=armv8-m+sve2
* Improves 8888 alpha-blending performance
  - Now, in In-Order AArch64 processors, e.g. A520, SVE2 is better than NEON with the 128bit vector width
  - For Out-of-order processors, NEON is still better than SVE2 (We could improve this in the future), the performance is improved from 3.0 to 3.6.
* The 8888 -> RGB565 performance is also improved (from 7.4 to 9.3)
2026-05-26 07:57:44 -07:00
SDL Wiki Bot
d5438360d2 Sync SDL3 wiki -> header
[ci skip]
2026-05-26 13:58:48 +00:00
Ryan C. Gordon
d0f6264f95
docs: Update notes on SDL_AudioStream format management.
Fixes #15688.
2026-05-26 09:57:06 -04:00
Ozkan Sezer
15dca0766f add GLES headers from Khronos. 2026-05-26 16:56:12 +03:00
Sam Lantinga
1db2b71ef0 testgpurender_msdf: allow changing the text being rendered 2026-05-25 20:21:32 -07:00
Sylvain Becker
d4236dcd85
opengles: Readd an OpenGL ES 1 renderer to SDL3! (#15185)
This readds the "opengles" renderer, updated from SDL2 to work on SDL3.

Fixes #15661.

Co-authored-by: Ryan C. Gordon <icculus@icculus.org>
Co-authored-by: Cameron Cawley <ccawley2011@gmail.com>
2026-05-25 20:41:13 -04:00
SDL Wiki Bot
548057693c Sync SDL3 wiki -> header
[ci skip]
2026-05-25 18:05:17 +00:00
SDL Wiki Bot
259207eb23 Sync SDL3 wiki -> header
[ci skip]
2026-05-25 18:05:03 +00:00
Anonymous Maarten
32c19b9dc8 Fix buffer-overflow access in process_testStdinToStdout
Backing memory of SDL_IOFromDynamicMem is not null-terminated.
2026-05-25 17:29:58 +02:00
Anonymous Maarten
dcf063178c Use pragma to ignore deprecated integer-to-ascii CRT conversion functions 2026-05-25 17:26:09 +02:00
Anonymous Maarten
08e338f45c _uitoa does not exist 2026-05-25 17:26:09 +02:00
Anonymous Maarten
55388abb34 Revert "SDL_itoa(): use _itoa_s(), not _ltoa_s()"
This reverts commit ae07e32269.
This reverts commit 33c9f1a70a.
2026-05-25 17:26:09 +02:00
Carlo Bramini
5e1d8b8a6f Add CYGWIN support for DLL library check
(from https://github.com/libsdl-org/SDL_image/pull/747)
2026-05-25 17:15:37 +03:00
Ozkan Sezer
29f7f08261 pdate openxr headers from khronos. 2026-05-24 18:40:50 +03:00
Cameron Cawley
f162c49dc1 Use SDL_PIXELFORMAT_INDEX8 for the debug font atlas 2026-05-24 08:00:21 -07:00
Ryan C. Gordon
6c55fad411
examples/demo/04-bytepusher: go back to showing help text on load failures.
If the VM was already running, and then a file failed to open at all (a
directory was dropped on the window, etc), this wouldn't go back to showing
the help text.
2026-05-23 23:56:48 -04:00
Ryan C. Gordon
800f347e5e
examples/demo/04-bytepusher: Remove render target.
This doesn't need a render target to function. The comment suggested it was
needed to make debug text look better when scaled, but maybe logical
presentation used to do linear scaling exclusively at the time?
2026-05-23 23:56:18 -04:00
Ozkan Sezer
ae07e32269 SDL_itoa(): use _itoa_s(), not _ltoa_s()
typo introduced by commit 33c9f1a70a
2026-05-23 20:11:10 +03:00
Frank Praznik
0a96d47599
wayland: Remove focus references when a pointer capture ends on a subsurface
The core mouse code will unfocus the window when a capture ends outside the window boundaries, but the backend still needs to update the internal focus references.
2026-05-23 12:20:30 -04:00
0xDEADCADE
3626598675 Remove CenterPad and RightStick from Steam Controller (2015) internal state struct
These values are never used for the Steam Controller (2015), as it does not physically have these inputs.
2026-05-23 07:51:03 -07:00
Frank Praznik
e7b238a6ed
Fix casting errors 2026-05-22 12:30:11 -04:00
Frank Praznik
5f8eb44541
wayland: Handle captured pointer movements over a subsurface
Some compositors will send pointer enter/leave event while moving between surfaces that are part of the same window while mouse capture is active. Maintain window focus in this case, and adjust the coordinates relative to the content surface by the subsurface offset, if necessary.
2026-05-22 11:47:23 -04:00
Ryan C. Gordon
9fe200c215
examples/renderer/20-blending: Note when a blend mode is unsupported. 2026-05-22 10:37:15 -04:00
Ryan C. Gordon
39be8a703f
examples/renderer/20-blending: center alpha and instructional text.
Otherwise, it tends to get lost behind the "Source Code" tab in the web
builds, if the browser window is too small.
2026-05-22 10:37:14 -04:00
Jason Millard
290f0c831f iOS: Fix SDL_EVENT_DROP_FILE lost on cold start from URL open 2026-05-22 07:16:43 -07:00
Bitwolf
2f13731d23 Update Famicom controllers to a more user friendly name. 2026-05-22 07:15:17 -07:00
Vittorio Romeo
7f03da9588 emscripten: dedupe keyboard event listeners across multiple windows 2026-05-22 07:11:10 -07:00
kholo
2bb6df90ad Ignore Huion Tablet Kamvas Pro 22 2026-05-22 07:05:57 -07:00