Commit Graph
22182 Commits
Author SHA1 Message Date
SDL Wiki Bot da8ee4d5cc Sync SDL3 wiki -> header
[ci skip]
2026-06-21 15:34:46 +00:00
SemphrissandGitHub d474769878 Detect device form factor (#12584) 2026-06-21 08:33:13 -07:00
klirktagandSam Lantinga 5317703567 Android: hide system bars via WindowInsetsController on API 30+
The immersive-fullscreen code hid the status and navigation bars with the
deprecated View.setSystemUiVisibility() flags plus FLAG_FULLSCREEN. On
Android 15+ (API 35), edge-to-edge is enforced for apps targeting SDK 35+
and those flags are ignored, so the bars never hide (e.g. on a Samsung
S25). Android 14 and below still honour them, which is why older devices
were unaffected.

Hide/show the system bars with WindowInsetsController on API 30+ (using
BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE for sticky-immersive), keeping the
legacy setSystemUiVisibility() path for API < 30. The minimum supported
version is unchanged.

(cherry picked from commit a442367706)
2026-06-21 08:26:48 -07:00
Caleb CornettandSam Lantinga 3561f81400 gpu: Metal fence fixes 2026-06-21 10:08:01 -05:00
Christian SemmlerandRyan C. Gordon e575093c83 Fix Apple performance frequency to match nanosecond counter
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
The counter returns ns via clock_gettime_nsec_np, so the frequency must be SDL_NS_PER_SECOND.
2026-06-20 23:01:33 -04:00
Gabriel FordandSam Lantinga 49879ba0d6 free capacitive sensors on joystick close
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
Fixes: #15856
2026-06-19 20:05:28 -05:00
Ryan C. Gordon d7e25c92c0 examples/input/03-gamepad-polling: Render axes in blue.
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
It's easier to see against white than yellow was.
2026-06-19 14:35:10 -04:00
Ryan C. Gordon 3a1cfbc147 main: If SDL_MAIN_CALLBACK_RATE="waitevent", have at least one iteration run.
This way apps can at least draw an initial image to their windows before going
into a deep, blocking wait for user interaction.

Fixes #15027.
2026-06-19 14:14:13 -04:00
Ryan C. Gordon e63b247738 io_uring: Annotate for ThreadSanitizer, since the ring is serializing access.
This doesn't _suppress_ the warnings, it annotates our memory access pattern
so ThreadSanitizer knows that threads aren't in conflict, since TSan doesn't
know about io_uring's mechanisms.

Fixes #15083.
2026-06-19 13:42:10 -04:00
Frank Praznik b3f8367134 wayland: Make external window reconfiguration more robust
External window surfaces can't be destroyed and recreated, so try our best to reconfigure them when switching between GL profiles, or between GL and Vulkan.
2026-06-19 13:07:16 -04:00
Frank Praznik 4c28a67cd5 gles: Try to reconfigure the window instead of recreating it
SDL_ReconfigureWindow will fall back to recreation if necessary.
2026-06-19 10:25:39 -04:00
Ryan C. Gordon f8dc19e65a examples/storage/01-user: Set up for web builds.
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
2026-06-19 00:10:56 -04:00
Ethan Lee e19a6544a2 examples: Add an example for SDL_Storage user data
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
2026-06-18 20:44:15 -04:00
Ryan C. Gordon d5dca1ec3d dos: Don't do parameter validation in SDL_SYS_GetPrefPath.
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
The higher level did it already.
2026-06-18 13:46:13 -04:00
Ryan C. Gordon 7134ed5c1c wikiheaders: Fix links in manpage generation.
Fixes #15665.
2026-06-18 13:46:13 -04:00
Frank Praznik 06795b00ad wayland: Attach EGL objects to custom and external surfaces during reconfiguration
They are required when using EGL with an external surface.
2026-06-18 10:56:20 -04:00
Frank Praznik dbfddb6409 wayland: External windows are never hidden
Needed for the GPU renderer to function properly.
2026-06-18 10:56:20 -04:00
Anonymous MaartenandSam Lantinga 9b230dfb36 cmake: add SDL_LIBUDEV_SHARED option
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
2026-06-18 03:47:07 -07:00
Christmas-MissionaryandRyan C. Gordon c3e29282b3 updated Raw Mouse Input section in docs 2026-06-18 00:45:49 -04:00
Christmas-MissionaryandRyan C. Gordon 2536a22012 Enforce the minimum version of macOS to be 10.12
- clock_gettime_nsec_np is not defined until 10.12
2026-06-18 00:45:49 -04:00
Christmas-MissionaryandRyan C. Gordon 225001b53b replaced mach_absolute_time()
- Addresses issue #15115
- mach_absolute_time can be misused for fingerprinting. This is bad.
- Apple docs prefer clock_gettime_nsec_np(CLOCK_UPTIME_RAW) in time.h
- Since HAVE_NANOSLEEP is defined, time.h is included
2026-06-18 00:45:49 -04:00
Vicki PfauandSam Lantinga ca67f19c8f Fix discrete Joy-Con mappings on Linux 2026-06-17 20:49:28 -07:00
SDL Wiki Bot ae429cf5ee Sync SDL3 wiki -> header
[ci skip]
2026-06-17 23:50:18 +00:00
Sam Lantinga c9b6581210 Added SDL_HINT_ENABLE_STEAM_SCREEN_KEYBOARD 2026-06-17 16:48:54 -07:00
stahta01andGitHub 3686cbdca2 cmake: correctly report SDL_LEAN_AND_MEAN state at end of configuration
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
2026-06-17 20:35:37 +02:00
tmkkandSam Lantinga cee2cb8ed1 hidapi: do not enumerate XInput devices owned by a kernel driver via libusb on macOS 2026-06-17 06:52:42 -07:00
Anonymous MaartenandSam Lantinga 2ebb96b881 cmake: add SDL_LEAN_AND_MEAN CMake option 2026-06-17 06:50:35 -07:00
Anonymous MaartenandSam Lantinga 9228b91da2 cmake: use 'LINKER:SHELL:' prefix for detecting version script support 2026-06-17 06:46:15 -07:00
Anonymous MaartenandGitHub 71b9adda21 ci: do a full cron build every day, and limit builds per push or pr (#15839) 2026-06-17 06:44:15 -07:00
Anonymous MaartenandSam Lantinga da8aa39222 doc: use testspriteminimal instead of testgles in android example
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
testgles depends on SDL_test so would need ../src/test/*.c as an additonal argument.
2026-06-16 16:56:55 -07:00
Sam Lantinga 54e672ec0d Added a note about where to set global platform properties 2026-06-16 16:50:33 -07:00
Alex TselousovandSam Lantinga 514b26e4c4 Removed busyloop from SDL_GPUFence on MacOS
Before, MetalFence was implemented as simply a busy loop on an atomic
int on metal, meaning the cpu would busy wait on the gpu to finish
taking power from it and decreasing battery life. This was the only kind
of cpu-gpu syncing (apart from requesting a swapchain)
2026-06-16 16:38:27 -07:00
Roman FominandGitHub b0a9aa3db0 Fix the "redundant redeclaration" warning for __debugbreak when using MinGW (#14264) 2026-06-16 18:58:23 -04:00
Anonymous MaartenandGitHub ae3869bf85 ci: don't trigger on documentation-only commits 2026-06-16 22:30:14 +02:00
Craig McLureandRyan C. Gordon 0c161c9e9c Add support for Virtual Pipewire Source Nodes 2026-06-16 14:18:41 -04:00
ItchyTrackandGitHub a3e47fb4dc Add "/usr/local/lib/libvulkan.dylib" as a path checked when loading Vulkan on MacOS 2026-06-16 11:13:43 -07:00
Ryan C. Gordon 8138f91e5c docs: Clarify the purpose of SDL_PROP_PROCESS_CREATE_BACKGROUND_BOOLEAN.
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
Reference Issue #14435.
2026-06-16 13:04:01 -04:00
Sam Lantinga ca66808c80 Reduce log message verbosity when shutting down KMSDRM
Fixes https://github.com/libsdl-org/SDL/issues/13569
2026-06-16 09:18:13 -07:00
Ryan C. Gordon e936ac8748 video: Removed FIXME for something we cannot fix.
Reference Issue #11992.
2026-06-16 11:50:04 -04:00
Ozkan Sezer 6180b71d7c SDL_dbus.h: define DBUS_TYPE_UNIX_FD_AS_STRING if missing. 2026-06-16 12:00:24 +03:00
SDL Wiki Bot f860d9d592 Sync SDL3 wiki -> header
[ci skip]
2026-06-16 02:19:11 +00:00
Ryan C. Gordon 0e2e605593 cmake: Fixed some copy/paste errors in comments.
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
2026-06-15 01:40:52 -04:00
Pierre de La MorinerieandSam Lantinga 51e214a012 SDL_joystick: add Austgame adapter to gamecube devices
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
"Austgame GameCube to USB converter" is an GameCube-to-USB adapter.
2026-06-14 08:43:08 -07:00
NintorchandSam Lantinga 7bbd9d5c2c Add normalized name for Emscripten joysticks
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
2026-06-13 07:20:33 -07:00
arnau.nauandSam Lantinga 46d0ecead0 hidapi: fix function pointer type mismatch in backend table
The HIDAPI backend table used function pointers that didn't match the
macro-renamed backend function types, which trips Clang's function sanitizer.

Adding small wrappers so the backend table has the correct function types and
the cast to the backend-specific device type happens inside a direct call.
fixes #15821.
2026-06-13 07:18:23 -07:00
Sam Lantinga 9c30a7cc82 Revert "Add an invalid #define for SDL_ThreadID() to SDL_oldnames.h (#15801)"
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
This reverts commit b04d026458.

This caused problems building sdl2-compat:
https://github.com/libsdl-org/sdl2-compat/actions/runs/27378527337/job/81120423041
2026-06-12 14:59:22 -07:00
SDL Wiki Bot e93f8e19fd Sync SDL3 wiki -> header
[ci skip]
2026-06-12 17:26:25 +00:00
Daniel GibsonandGitHub b04d026458 Add an invalid #define for SDL_ThreadID() to SDL_oldnames.h (#15801)
in SDL2 SDL_ThreadID() was a function that's now
SDL_GetCurrentThreadID(), but in SDL3 SDL_ThreadID is a type, so
in C++ `x = SDL_ThreadID()` is valid code (default constructor which
in case of integers means 0), so that's a massive footgun.

See the big comment in SDL_oldnames.h for more details.

Added `#undef SDL_ThreadID` in SDL_dynapi.c because it has one of the
(quite rare) cases  where "SDL_ThreadID" followed by a "(" is actually
correct and necessary (function pointer returning SDL_ThreadID).
2026-06-12 10:24:56 -07:00
NintorchandSam Lantinga 4f031ea5da Fix Xbox One controller detection on the web 2026-06-12 09:02:58 -07:00
NintorchandSam Lantinga 4a0d66116f Fix web crash for joystick without vibration 2026-06-12 08:53:07 -07:00