Commit Graph

2950 Commits

Author SHA1 Message Date
Daniel Gibson
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
SDL Wiki Bot
7c60bcd83c Sync SDL3 wiki -> header
[ci skip]
2026-06-11 18:34:25 +00:00
Anonymous Maarten
f70ea37517 Hide SDL_wcstoll and SDL_wcstoull for compilers not supporting long long (#15808)
Co-authored-by: Sam Lantinga <slouken@libsdl.org>
2026-06-11 20:33:06 +02:00
SDL Wiki Bot
3e588d5bcc Sync SDL3 wiki -> header
[ci skip]
2026-06-10 17:29:25 +00:00
Frank Praznik
068e405912 Add notification framework with test and dummy driver 2026-06-10 13:25:38 -04:00
SDL Wiki Bot
c91c5c7d85 Sync SDL3 wiki -> header
[ci skip]
2026-06-08 16:02:29 +00:00
Frank Praznik
96919c37c9 stdlib: Add SDL_wcstoul(), SDL_wcstoll(), and SDL_wcstoull()
Includes the appropriate stdlib checks and automated tests.
2026-06-08 11:58:47 -04:00
Sam Lantinga
55908f14f8 Added SDL_aligned_alloc_zero() 2026-06-05 13:55:32 -07:00
Sam Lantinga
f9d49358d2 Create a global event lock for hardware that generates events
This prevents ABBA deadlocks caused by taking a hardware resource lock then delivering events at the same time another thread is taking a hardware resource lock from an event watch callback.

Fixes https://github.com/libsdl-org/SDL/issues/15709
2026-06-02 16:51:58 -07:00
SDL Wiki Bot
38e7155cd6 Sync SDL3 wiki -> header
[ci skip]
2026-05-31 02:51:28 +00:00
Ryan C. Gordon
098a066f20 docs: Update documentation for SDL_stack_free.
Reference Issue #15727.
2026-05-30 22:49:38 -04:00
Ryan C. Gordon
67e6f5b7ee stdinc: make SDL_stack_free evaluate to ((void)(data)) when alloca is usable.
Fixes #15727.
2026-05-30 22:45:33 -04:00
Anonymous Maarten
dd0536b170 stdinc: only use _Countof for SDL_arraysize when using a C standard > C23 2026-05-30 13:39:01 +02: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
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
SDL Wiki Bot
259207eb23 Sync SDL3 wiki -> header
[ci skip]
2026-05-25 18:05:03 +00:00
Ryan C. Gordon
9a56bc66b5 assert: fixed compiler warning with LLVM + x86_64-pc-windows-msvc target.
Fixes #15578.
2026-05-20 13:02:41 -04:00
Sam Lantinga
33e237eb67 visionos: persist all configurable window settings
Save the gaze indicator and dimmed mode setting as well as curvature
2026-05-17 11:35:30 -07:00
Cameron Gutman
6d3404e4bb gamepad: Add SDL_GAMEPAD_TYPE_STEAM for Steam Controllers 2026-05-17 11:19:16 -07:00
SDL Wiki Bot
31d6acef64 Sync SDL3 wiki -> header
[ci skip]
2026-05-17 15:51:20 +00:00
Sam Lantinga
63d2635719 Added SDL_HINT_AUDIO_DUCK_OTHERS
Previously default audio on Apple platforms would duck other audio streams. This is unexpected, so by default we won't do that and you can use the hint SDL_HINT_AUDIO_DUCK_OTHERS to re-enable that behavior.
2026-05-17 08:47:36 -07:00
ceski
5b98c1cc2f Add capacitive sense gamepad events (#15627) 2026-05-17 08:26:29 -07:00
Ozkan Sezer
968b0c6910 update gl/egl headers from khronos. 2026-05-17 16:29:03 +03:00
Ozkan Sezer
75c94e9b31 SDL_opengl_glext.h, src/video/directx/d3d12.h: revert unintended changes from commit d70578b9aa 2026-05-17 16:28:29 +03:00
Ozkan Sezer
d4fa4b4634 SDL_opengles2_khrplatform.h: add cygwin bit missed in commit 2cd5cd2a. 2026-05-17 11:50:10 +03:00
Ozkan Sezer
2cd5cd2a42 cygwin: patch egl/opengles headers for EGLAPIENTRY 2026-05-17 09:55:31 +03:00
Anonymous Maarten
71979477c7 include: add sve2 to documentation of SDL_HINT_CPU_FEATURE_MASK 2026-05-17 04:41:56 +02:00
Ozkan Sezer
774506c2b7 SDL_opengl.h: clean-up SDL's cygwin customization. 2026-05-16 09:24:33 +03: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
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
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
Anonymous Maarten
2fa7ba1e4f stdinc: _Countof is only available in C mode 2026-05-14 18:42:46 +02: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
Cameron Cawley
e50faf4e6a Support the full set of standard CSS cursors 2026-05-13 20:24:44 -07:00
Cameron Cawley
c6b232f5d4 Support loading JPEG images through SDL_LoadSurface() 2026-05-13 16:11:53 -07:00
Sam Lantinga
716c767b7e Document that you may receive mouse events with SDL_PEN_MOUSEID 2026-05-13 08:11:41 -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
Al. Lopez
4940345a2e added additional examples of paddle/misc buttons for Steam Controller (#15544) 2026-05-11 21:45:10 -07:00
SDL Wiki Bot
c7df6fe847 Sync SDL3 wiki -> header
[ci skip]
2026-05-05 17:47:49 +00:00