Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
510 commits
Select commit Hold shift + click to select a range
0d9e542
Respect SDL_HINT_RENDER_DRIVER when creating an accelerated window su…
slouken Jun 29, 2024
288aea3
Fixed build
slouken Jun 29, 2024
cd8ea5e
Only use the default gamepad mapping if an automatic mapping isn't av…
slouken Jul 3, 2024
845ebbb
Added support for the ROG RAIKIRI
slouken Jul 3, 2024
944dc47
render: Manage memory for SDL_Renderer* at higher level.
icculus Jul 4, 2024
1413d67
render: SDL_DestroyWindow hollows out its renderer but doesn't free it.
icculus Apr 18, 2024
5f0f337
vitagxm: Patched to compile.
icculus Jul 4, 2024
2c32fd2
Revert "render: Set renderer->window to NULL in SDL_DestroyRendererWi…
icculus Jul 4, 2024
b47deb5
vitagxm: Patched to compile.
icculus Jul 5, 2024
a4cbba1
Try to create an accelerated renderer for the window surface even if …
slouken Jul 5, 2024
22770e6
Drain HIDAPI buffer in SDL_hidapi_steamdeck.c.
mmmaisel Jul 5, 2024
6a10309
SDL_hidapi.c: work-around watcom build error when libusb is enabled
sezero Jul 5, 2024
4c44450
Improved detection of Nintendo Switch Pro controller report mode
slouken Jul 6, 2024
58e179c
wgl/glx: Fix attribute list for SDL_GL_FLOATBUFFERS
mariob92 Jul 6, 2024
849c905
wayland: Always create a viewport for the window if available
Kontrabant Jun 20, 2024
e22c895
Make sure we're actually running on Windows before using D3D renderers
slouken Jul 8, 2024
026dfc6
Fixed build
slouken Jul 8, 2024
3899cb1
Revert "Fixed build"
slouken Jul 8, 2024
b80f6ec
emscripten: don't consume key down/up events if the user disabled them
theartful Jul 10, 2024
a2215ff
KMSDRM: fix unsupported modifiers
substring Jul 10, 2024
663411f
haiku: Don't change the cwd on startup if launched from a Terminal.
icculus Jul 11, 2024
956a8bf
ci: bump FreeBSD
sezero Jul 11, 2024
5511648
Added TLS initialization and shutdown functions
slouken Jul 11, 2024
b13dcf2
Fixed OS/2 build
slouken Jul 11, 2024
b378bc5
Make sure timers are initialized before any threads start
slouken Jul 12, 2024
b057159
Make sure SDL subsystems are initialized before starting threads
slouken Jul 12, 2024
bba5187
cmake: only link SDL2 against test executables
madebr Jul 7, 2024
a25f94c
ci: run VC tests under sdlprocdump
madebr Jul 7, 2024
bc39952
cmake: only add SDL_LIBC=0 compile options to SDL2 libraries
madebr Jul 12, 2024
3b7eafe
Add a Windows mapping for SplitFish Game Controller
ceski-1 Jul 12, 2024
2eeb392
pthread: timespec.tv_nsec must be less then 1000000000 ns
madebr Jul 14, 2024
256269a
sdl2-config.in: use backtics instead of $() for older shells
madebr Jun 27, 2024
3f9591b
README-macos: fixed some text.
icculus Jul 16, 2024
ccade50
Fix warning for Android NDK compiler: "function declaration without a…
akk0rd87 Jul 17, 2024
9e6b8d5
Add SDL_VIDEO_DOUBLE_BUFFER support to the Wayland backend.
vanfanel Jul 17, 2024
5ab1151
Fix KMSDRM double buffering.
vanfanel Jul 18, 2024
11c0dfb
Fix UWP build in non-UNICODE mode
madebr Jul 18, 2024
7fb8b62
cmake: fix building UWP with non-MSVC generator
madebr Jul 18, 2024
ab4370c
cmake: detect ARM64EC and enable SDL_LIBC by default
madebr Jul 18, 2024
fd32342
ci: build MSVC workflows using Ninja generator
madebr Jul 18, 2024
6e931be
emscripten: restore key event prevent default behaviour
Daft-Freak Jul 19, 2024
5d606ea
stdinc: c23 deprecated _Static_assert in favor of static_assert
madebr Jul 21, 2024
86b4d03
SDL_stdinc.h (SDL_COMPILE_TIME_ASSERT): Keep C++ case alone (after PR…
sezero Jul 22, 2024
7306649
testshader.c: include stdlib.h for exit()
sezero Jul 22, 2024
50a6a39
cmake: use genexes for linking against apple frameworks
madebr Jul 27, 2024
5d1ca1c
wayland: Don't fail to retrieve a system cursor if no window is focused
Kontrabant Jul 28, 2024
2cb2897
SDL_mslibc.c: revert PR/10303 changes
sezero Jul 28, 2024
e306cbc
Updates CheckLibUDev() to match main, fixing missing HAVE_LIBUDEV
spiderkeys Jul 29, 2024
0ba3d98
SDL_RWFromFile: On Apple platforms, offer a hint to not look in resou…
icculus Jul 29, 2024
eee439d
Sync SDL2 wiki -> header
SDLWikiBot Jul 29, 2024
15c73f5
Fixed whitespace
slouken Jul 29, 2024
7fdf794
Fixed crash with joystick rumble after disconnection
slouken Jul 29, 2024
0b6eff4
Fixed building on macOS with OpenGL disabled
slouken Aug 1, 2024
230f1de
Fixed macOS build
slouken Aug 1, 2024
7cf3234
cmake: SDL2 target is not always available
madebr Aug 4, 2024
5c013a4
ci: add GDK
madebr Aug 4, 2024
2efbe7f
Implemented left-justification in SDL_PrintString()
slouken Aug 5, 2024
8f5d3ca
Added SDL_CreateRenderer to the "see also" for SDL_RenderPresent()
slouken Aug 5, 2024
1512013
Added detail about why a file couldn't be opened (thanks mgerhardy!)
slouken Aug 6, 2024
81252eb
add failsafe for querying cache line size on linux
Aug 6, 2024
5ca0639
Fixed crash when the current mouse capture window is destroyed
slouken Aug 7, 2024
a5bff78
kmsdrm: free the connector when looking for available devices
slouken Aug 8, 2024
5ecbc00
Add Cammus C12 VID & PID to wheel device list.
KaJe5380 Aug 9, 2024
155c3bb
SDL_GLattr: formatted wiki documentation to be wikiheaders-friendly.
icculus Aug 12, 2024
586a2dc
Fixed secondary screens on KMSDRM (#10535)
bigfatbrowncat Aug 13, 2024
70890b1
Fixed build
slouken Aug 13, 2024
354a35c
cmake: port back Apple changes from SDL3
madebr Aug 12, 2024
248cb3c
Fix -Wdeclaration-after-statement warnings
madebr Aug 12, 2024
3d7007f
testgles: ignore GLES deprecation on Apple platforms
madebr Aug 14, 2024
5209004
cmake: ios and tvos applications need to link to SDL2main library
madebr Aug 14, 2024
764c44d
cmake/test: don't test swift on ios/tvos platform
madebr Aug 14, 2024
dd6c663
SDL_vitatouch.c: Fixed the incorrect touch device IDs
Wohlstand Aug 14, 2024
b360214
Use drmModeAddFB() if drmModeAddFB2WithModifiers() fails
slouken Aug 15, 2024
5b57573
x11: Track cursor visibility internally
Kontrabant Jul 22, 2024
8fcbf97
wayland: Send fake warp coordinates when emulating warps with relativ…
Kontrabant Aug 16, 2024
2824d13
SDL_rwops.c: stdio_seek - skip API call for RW_SEEK_CUR with 0 offset
ds-sloth Aug 16, 2024
30972d7
SDL_x11mouse.c: avoid -Wunused-variable if xinput2 is not available
sezero Aug 17, 2024
e52e68d
PSP: Throw SDL_Quit event upon exit
sharkwouter Aug 18, 2024
4bd07ea
Revert "PSP: Throw SDL_Quit event upon exit"
slouken Aug 18, 2024
a3546e5
PSP: Throw SDL_EVENT_QUIT event upon exit (thanks @sharkwouter!)
slouken Aug 18, 2024
0de601d
Added support for the Retro-bit Controller in PS3 mode
slouken Aug 19, 2024
1b8d563
Allow MessageBox to work without window
fjtrujy Aug 22, 2024
4eac44b
RAWINPUT_JoystickOpen: add missing SDL_stack_free() calls.
sezero Aug 25, 2024
1260ada
SDL_test: use mutex based on SDL_atomic_t in memory tracking
madebr Aug 30, 2024
564765d
ctest: fail if there are outstanding allocations
madebr Aug 30, 2024
622b511
Copy sdlprocdump from SDL3
madebr Aug 30, 2024
877c19d
SDL_test: do late addres to name conversion, if libunwind supports it
madebr Aug 31, 2024
510eda2
SDL_test: print stack traces of leaks on Windows
madebr Aug 31, 2024
47a5256
ci: build in RelWithDebInfo mode
madebr Aug 31, 2024
2ae8b4c
test: use SDL_test for parsing arguments in all non-interactive tests
madebr Aug 31, 2024
57f1ea7
Increase maximum line length of SDLTest_LogAllocations
madebr Sep 1, 2024
10b4a79
Make newer DRM and GBM functions optional
slouken Sep 2, 2024
2834d8b
Revert "Sync SDL2 wiki -> header"
slouken Sep 4, 2024
37d3eea
testlocale, testplatform, testqsort: replace exit(1) calls with return 1
sezero Sep 4, 2024
a75227a
Use atomic variables for thread communication
slouken Sep 5, 2024
224a37f
Fixed memory leak in testthread
slouken Jul 28, 2024
5aadfd4
Fixed race condition at startup that could cause a crash in the XInpu…
slouken Sep 6, 2024
f5ed158
SDL_XINPUT_Enabled() returns false until XInput DLL is successfully l…
slouken Sep 6, 2024
54757c2
x11vulkan: Use the correct SONAME of libX11-xcb.so.1 on Linux, etc.
smcv Sep 9, 2024
8fa9999
wayland: Send exposure events when showing or resizing the window
Kontrabant Sep 10, 2024
ea820ed
Sync SDL2 wiki -> header
SDLWikiBot Sep 10, 2024
58f2586
pulseaudio: Hotplug thread fixes.
icculus Sep 12, 2024
d9b4b7d
Spell "unknown" correctly
AJenbo Sep 13, 2024
bc9d12e
Typo fix
TheGiraffe3 Sep 15, 2024
1b26b54
Verify that the subsystems were successfully initialized
slouken Sep 15, 2024
d6b7be8
autotools, libtool, win32: add 'aarch64' support to the file magic test.
sezero Sep 17, 2024
46ee6a3
update config.guess and config.sub from mainstream
sezero Sep 18, 2024
e239295
wayland: Fix memory leaks
cgutman Sep 19, 2024
ec9a9fe
Add Thrustmaster TMX VID & PID to wheel device list.
t3hd0gg Sep 13, 2024
055ce09
Don't call GetMessageTime on Xbox platforms
sykhro Sep 20, 2024
c43b976
Sync SDL2 wiki -> header
SDLWikiBot Sep 21, 2024
a4a8a29
cmake: don't check c++ compiler flags for asan when CXX is not enabled
cgutman Sep 21, 2024
dab4f85
kmsdrm: Keep fd around if we can drop master
cgutman Sep 21, 2024
7eb85b0
kmsdrm: Fix one more place that doesn't try to drop master
cgutman Sep 23, 2024
656b599
Throttle tickle reports to PS4/PS5 controllers
cgutman Sep 25, 2024
c9f3cbe
Don't use BlitARGBto555PixelAlpha() for SDL_PIXELFORMAT_ARGB1555
slouken Sep 26, 2024
1edaad1
Handle wayland touch cancel message
phcoder Sep 26, 2024
8291b1b
Port SDL3 release scripts to SDL2
madebr Sep 16, 2024
2b2907d
Add docs to mingw release and don't modify libtool files in mingw's M…
madebr Oct 1, 2024
643437f
Reapply "wayland: Don't initialize OpenGL when the window flags didn'…
Kontrabant Oct 2, 2024
9f7ccbe
opengles2: Restore previous default texture_formats.
icculus Oct 4, 2024
ef05f66
.wikiheaders-options: Declare SDL3 the current stable API!
icculus Oct 4, 2024
2c60d95
.wikiheaders-options: fix redundant language.
icculus Oct 4, 2024
e4126d8
Add parametrized release script
madebr Oct 3, 2024
ea77d1d
wayland: Factor out the general SHM buffer allocation/free functions …
Kontrabant Oct 7, 2024
a86f8de
wayland: Add support for setting window icons via the xdg-toplevel-ic…
Kontrabant Oct 7, 2024
bb33eb4
Fixed detecting the Steam Virtual Gamepad on macOS
slouken Oct 7, 2024
da19244
Added support for wired XBox controllers on macOS 15.0 Sequoia
slouken Oct 7, 2024
3deb07e
[emscripten] Fixes for data addresses above 2gb
sbc100 Oct 7, 2024
5fe0102
x11: Set correct clipboard target type in `SelectionRequest` handling
Guldoman Oct 9, 2024
da4608e
Fixed typo in SDL_audio.h
slouken Oct 10, 2024
e2f2736
testdrawchessboard: Allow using the standard render API
ccawley2011 May 1, 2024
90f792f
Reduce the size of the SDL_blit_0 alpha code
ccawley2011 Oct 12, 2024
084dbb6
Allow for more fine tuning of Duff's device routines
ccawley2011 Oct 12, 2024
d7bb56f
3DS: Only bundle resources with tests that need them
ccawley2011 Oct 12, 2024
23d456e
3DS: Support simple message boxes
ccawley2011 Oct 12, 2024
3782344
VisualC: Set the correct component to false.
FtZPetruska Oct 13, 2024
a976f7f
SDL_stdinc.h: provide a prototype for strdup for __clang_analyzer__ case
sezero Oct 16, 2024
cfb3db0
Added support for the Steam Virtual Gamepad on macOS Sequoia
slouken Oct 16, 2024
b6fa4dc
Only use Steam Virtual Gamepads if we're running under Steam
slouken Oct 16, 2024
86fd4ed
VITA: fix yuv texture update
isage Oct 17, 2024
4ca7a19
Sync SDL2 wiki -> header
SDLWikiBot Oct 19, 2024
1af0b39
Sync SDL2 wiki -> header
SDLWikiBot Oct 20, 2024
bcf1397
Sync SDL2 wiki -> header
SDLWikiBot Oct 20, 2024
52714d5
VITA: fix SDL_ShowMessageBox by using different memory type
isage Oct 22, 2024
00f15dd
emscripten: scale mousewheel X coordinates correctly, not just Y coor…
icculus Oct 24, 2024
5cb87ff
cocoa: Make sure GL context destruction happens on the main thread.
icculus Oct 24, 2024
e5348c6
cocoa: Patched to compile.
icculus Oct 25, 2024
a22baaf
docs: Explain events for already plugged in controllers
xordspar0 Oct 27, 2024
96e7306
Sync SDL2 wiki -> header
SDLWikiBot Oct 27, 2024
5b0e838
wasapi: Deal with device buffer sizes changing.
icculus Oct 28, 2024
478dff3
SDL_vulkan.h: undefine VK_DEFINE_HANDLER and VK_DEFINE_NON_DISPATCHAB…
Dv-Senna Oct 29, 2024
d2b9ecd
Revert "aaudio: Set low-latency audio mode."
slouken Oct 30, 2024
3b7a458
Fixed the PS5 controller face buttons on Amazon Fire TV, Android 11
slouken Oct 30, 2024
7cbb131
PSP: Allow building tests in parallel
sharkwouter Nov 1, 2024
15bc3f2
Sync SDL2 wiki -> header
SDLWikiBot Nov 1, 2024
48aa1cc
Port build-script from SDL3
madebr Nov 1, 2024
67b537c
.wikiheader-options: Treat SDL int types (Uint64, etc) as API prefixes.
icculus Nov 2, 2024
74ff82f
Support multiple joystick buttons bound to the same gamepad button
slouken Nov 5, 2024
761ea32
Fix SDL_PRIs64 to use standard PRId64
zturtleman Nov 8, 2024
b308172
testautomation keyboard: use `space` instead of `a`
Lzard Nov 8, 2024
f1a3a18
Removed SDL_HINT_ENABLE_STEAM_CONTROLLERS
slouken Nov 8, 2024
17b9ed7
audio: Favor OpenSL ES over AAudio.
icculus Nov 13, 2024
6dcf757
SDL_vitatouch.c: re-enable front touch on Vita
rsn8887 Nov 10, 2024
d1af211
Always Use Next Display Index
jimtahu Nov 15, 2024
51570d9
build system: disable 3dNow! support by default
sezero Nov 17, 2024
c672c0e
ci: pin MSVC ARM Windows SDK version to 10.0.22621.0
madebr Nov 17, 2024
e924f12
cmake: Compatibility with CMake < 3.10 will be removed in a future CM…
madebr Nov 17, 2024
f9c50e1
Add proguard rules for SDL2
a1batross Nov 20, 2024
f39c5cf
PSP: Add locale support
sharkwouter Nov 22, 2024
dface78
ci: don't do 'brew install pkg-config' anymore
madebr Nov 22, 2024
ba433e4
ci: merge all workflows
madebr Nov 23, 2024
9f07ac8
Speed up full-surface fills
Starbuck5 Nov 23, 2024
a5da9be
Fixed build
slouken Nov 25, 2024
b64540d
DirectFB: fix DirectFB_SetTextureScaleMode() declaration
pseiderer Nov 27, 2024
6428cee
Vita: implement mousewheel and buttons 4/5
isage Nov 26, 2024
a4ec0b1
Fix order of events in case audio buffer size changes
StephenCWills Nov 18, 2024
8d00ca0
dynapi: order for a reproducible build
cpaelzer Dec 2, 2024
e539135
Fixed potential buffer overflow
slouken Dec 3, 2024
91bb1bb
wayland: Check the returned display value for null
Kontrabant Dec 3, 2024
c46bec0
vc: bump CMake compatibility version of sdl2-config.cmake
madebr Dec 5, 2024
af94954
Add test sources to mingw release artifact
madebr Dec 7, 2024
d890d25
Add build-release.py updates from satellite libraries
madebr Dec 8, 2024
3c142ab
Build optimized stripped MinGW binary releases
madebr Dec 9, 2024
9791069
Fixed Chinese locales on PSP (thanks @ccawley2011!)
slouken Dec 10, 2024
bc88a43
.wikiheaders-option: Filled in quickref metadata.
icculus Dec 12, 2024
ad93f50
emscriptenaudio: Removed comment about Firefox not supporting userAct…
icculus Dec 12, 2024
7f880c9
Fixed crash if the controller product name is NULL
slouken Feb 28, 2024
9740984
Enable high refresh rates on iOS
slouken Dec 18, 2024
9491389
Remove EXTRA_CFLAGS.
Wolf3s Dec 20, 2024
884c8b6
Allow rendering during the modal resize loop on macOS
slouken Dec 23, 2024
e79b0ce
Use `pthread_setname_np` also on Android
blaztinn Dec 24, 2024
348bb53
Corrected CoreAudio surround sound channel layouts
slouken Dec 24, 2024
ddfdb0c
Don't overwrite non-CRC gamepad mapping with a new mapping that speci…
slouken Dec 27, 2024
c6e1806
misc: Fix SDL_OpenURL on newer iOS releases.
icculus Dec 26, 2024
e55a230
misc: Make SDL_OpenURL work with VisionOS, tvOS, etc.
icculus Dec 26, 2024
96b4535
misc: Fixed typo in iOS error message.
icculus Dec 27, 2024
e02f651
cmake: Solaris' SunPro has alternative way to link to pthread libraries
madebr Dec 28, 2024
5ac94b5
cmake: disable xrandr by default on Solaris
madebr Dec 28, 2024
fc608ff
cmake: really disable xrandr by default on Solarir
madebr Dec 28, 2024
89977d0
Update SDLActivity.java
quimmedes Sep 15, 2024
0efb7c7
Fixed spacing
slouken Dec 30, 2024
2b5b8fd
Updated copyright for 2025
slouken Jan 1, 2025
a326ebc
Backed out Vita touch ID change for SDL2
slouken Jan 1, 2025
5a25183
Revert "Backed out Vita touch ID change for SDL2"
slouken Jan 1, 2025
adb5184
Fixed N3DS_TOUCH_ID, 0 is an invalid touch ID
slouken Jan 1, 2025
8406384
testautomation: port back SDL3's strtol and strtod tests
madebr Dec 30, 2024
123b967
Port back nolibc SDL_strtol implementations from SDL3 to SDL2
madebr Jan 2, 2025
ed0eb77
showAlert: legacy OS compatibility fix
jmroot Jan 2, 2025
d58f026
windowWillStartLiveResize: legacy OS compatibility fix
jmroot Jan 2, 2025
6024c27
prepare_audioqueue: legacy OS compatibility fix
jmroot Jan 2, 2025
9dc8c82
Sync SDL2 wiki -> header
SDLWikiBot Jan 3, 2025
1fa2174
Avoid undefined signed overflow in SDLTest_RandomIntegerInRange
madebr Jan 4, 2025
20574c0
coreaudio: Workaround for crash when disconnecting a bluetooth audio …
icculus Jan 4, 2025
c9c991b
test_fuzzer: Patched to compile on Visual Studio.
icculus Jan 4, 2025
fe54687
cmake: consider X11 as not available when xext.h is not found
madebr Jan 5, 2025
db29975
Let SDL_IM_MODULE=fcitx override Wayland as a workaround to fix key r…
danielzgtg Jan 5, 2025
793103e
comment out signed multiplication overflow ub in testplatform
z-erica Jan 6, 2025
f804293
fix integer overflow ub in testautomation_sdltest
z-erica Jan 6, 2025
ebe561f
Revert "cmake: consider X11 as not available when xext.h is not found"
madebr Jan 6, 2025
e5a3fcd
wayland: Apply toplevel bounds to windows
Kontrabant Jan 6, 2025
0efeb82
wayland: Only apply the toplevel bounds to resizable windows
Kontrabant Jan 6, 2025
aa9b4ec
Sync SDL2 wiki -> header
SDLWikiBot Jan 11, 2025
91b76f5
Fixed potentially overlapping memcpy() to use memmove()
slouken Jan 14, 2025
d7825af
ci: bump FreeBSD to 14.2
madebr Jan 3, 2025
220a23d
Sync SDL2 wiki -> header
SDLWikiBot Jan 15, 2025
780ec8f
Set EGL surface for foreign X11 windows
CasualPokePlayer Aug 31, 2024
9f25821
Fixed detection of function keys on Emscripten
slouken Jan 15, 2025
ab8bd0e
fix emscripten builds
sezero Jan 16, 2025
878ea48
Vita: Fix off-by-one error for synthetic mouse events
rollerozxa Jan 16, 2025
4b19f7e
Added support for the 8BitDo Ultimate 2C Wireless in Bluetooth mode
slouken Jan 18, 2025
529ed10
Translate conditional effect direction instead of hardcoding it to 0
Lawstorant Jan 20, 2025
5bf8955
Use proper polar direction when creating FF_RUMBLE effect
Lawstorant Jan 21, 2025
3f02118
ci: bump to NetBSD 10.1
madebr Jan 22, 2025
d3a4d62
.wikiheaders-options: Removed wikipreamble setting.
icculus Jan 24, 2025
0efe889
Skip IsRegularFileOrPipe() check on Emscripten
slouken Jan 28, 2025
934d695
Fixed crash when trying to disconnect secondary display on iOS
deveee Jan 27, 2025
55a7587
Improved XInput controller detection
slouken Jan 2, 2025
da0cf3f
Fixed detecting Steam Deck controller on Proton 9.04
slouken Jan 31, 2025
482d964
Don't filter out controllers when launched by Steam under Proton
slouken Dec 6, 2024
799ede8
testatomic: destroy threads + free all memory at quit to fix --trackmem
madebr May 13, 2024
2847273
Fixed mis-cherry-pick
slouken Feb 1, 2025
b84adb3
fix: do note assume "make", use $(MAKE)
miniupnp Feb 5, 2025
466cedc
fix: in sdl2.pc libdir was changed to prefix
miniupnp Feb 5, 2025
ed7e7ed
Don't use the HIDAPI driver for Thrustmaster wheels
slouken Feb 6, 2025
d2693d4
dynapi: Don't use SDL_getenv; it might malloc before the app sets an …
icculus Feb 6, 2025
dab0205
Delete src/thread/n3ds/SDL_syscond.c
ds-sloth Jan 29, 2025
3e97d41
Updated to version 2.31.1 for RC build
slouken Feb 8, 2025
7a44b1a
Updated to version 2.32.0 for release
slouken Feb 8, 2025
9a5e26a
Merge tag 'release-2.32.0'
jayschwa Feb 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@
public class SDLActivity extends Activity implements View.OnSystemUiVisibilityChangeListener {
private static final String TAG = "SDL";
private static final int SDL_MAJOR_VERSION = 2;
private static final int SDL_MINOR_VERSION = 30;
private static final int SDL_MICRO_VERSION = 12;
private static final int SDL_MINOR_VERSION = 32;
private static final int SDL_MICRO_VERSION = 0;
/*
// Display InputType.SOURCE/CLASS of events and devices
//
Expand Down Expand Up @@ -790,6 +790,9 @@ public void handleMessage(Message msg) {
window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
SDLActivity.mFullscreenModeActive = false;
}
if (Build.VERSION.SDK_INT >= 28 /* Android 9 (Pie) */) {
window.getAttributes().layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
}
}
} else {
Log.e(TAG, "error handling message, getContext() returned no Activity");
Expand Down
3 changes: 1 addition & 2 deletions build.zig
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ pub fn build(b: *std.Build) void {
.style = .{ .cmake = b.path("include/SDL_revision.h.cmake") },
.include_path = "SDL_revision.h",
}, .{
.SDL_REVISION = "SDL-2.30.12",
.SDL_REVISION = "SDL-2.32.0",
.SDL_VENDOR_INFO = "allyourcodebase.com",
});
lib.addConfigHeader(revision_header);
Expand Down Expand Up @@ -686,7 +686,6 @@ const unknown_src_files = [_][]const u8{
"src/test/SDL_test_memory.c",
"src/test/SDL_test_random.c",

"src/thread/n3ds/SDL_syscond.c",
"src/thread/n3ds/SDL_sysmutex.c",
"src/thread/n3ds/SDL_syssem.c",
"src/thread/n3ds/SDL_systhread.c",
Expand Down
2 changes: 1 addition & 1 deletion build.zig.zon
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.{
.name = "SDL",
.version = "2.30.12",
.version = "2.32.0",
.minimum_zig_version = "0.13.0",
.dependencies = .{},
.paths = .{
Expand Down
4 changes: 1 addition & 3 deletions include-pregen/SDL_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,7 @@

#include "SDL_platform.h"

/**
* \file SDL_config.h
*/
/* WIKI CATEGORY: - */

/* Add any platform that doesn't build using the configure system. */
#if defined(__WIN32__)
Expand Down
5 changes: 3 additions & 2 deletions include/SDL.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
* Main include header for the SDL library
*/


#ifndef SDL_h_
#define SDL_h_

Expand Down Expand Up @@ -70,6 +69,8 @@
extern "C" {
#endif

/* WIKI CATEGORY: Init */

/* As of version 0.5, SDL is loaded dynamically into the application */

/**
Expand Down Expand Up @@ -130,7 +131,7 @@ extern "C" {
* call SDL_Quit() to force shutdown). If a subsystem is already loaded then
* this call will increase the ref-count and return.
*
* \param flags subsystem initialization flags
* \param flags subsystem initialization flags.
* \returns 0 on success or a negative error code on failure; call
* SDL_GetError() for more information.
*
Expand Down
12 changes: 7 additions & 5 deletions include/SDL_assert.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ assert can have unique static variables associated with it.
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "brk #22\n\t" )
#elif defined(__APPLE__) && defined(__arm__)
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "bkpt #22\n\t" )
#elif defined(_WIN32) && ((defined(__GNUC__) || defined(__clang__)) && (defined(__arm64__) || defined(__aarch64__)) )
#define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "brk #0xF000\n\t" )
#elif defined(__386__) && defined(__WATCOMC__)
#define SDL_TriggerBreakpoint() { _asm { int 0x03 } }
#elif defined(HAVE_SIGNAL_H) && !defined(__WATCOMC__)
Expand Down Expand Up @@ -191,8 +193,8 @@ extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *,
* A callback that fires when an SDL assertion fails.
*
* \param data a pointer to the SDL_AssertData structure corresponding to the
* current assertion
* \param userdata what was passed as `userdata` to SDL_SetAssertionHandler()
* current assertion.
* \param userdata what was passed as `userdata` to SDL_SetAssertionHandler().
* \returns an SDL_AssertState value indicating how to handle the failure.
*/
typedef SDL_AssertState (SDLCALL *SDL_AssertionHandler)(
Expand All @@ -212,8 +214,8 @@ typedef SDL_AssertState (SDLCALL *SDL_AssertionHandler)(
* This callback is NOT reset to SDL's internal handler upon SDL_Quit()!
*
* \param handler the SDL_AssertionHandler function to call when an assertion
* fails or NULL for the default handler
* \param userdata a pointer that is passed to `handler`
* fails or NULL for the default handler.
* \param userdata a pointer that is passed to `handler`.
*
* \since This function is available since SDL 2.0.0.
*
Expand Down Expand Up @@ -254,7 +256,7 @@ extern DECLSPEC SDL_AssertionHandler SDLCALL SDL_GetDefaultAssertionHandler(void
* data, it is safe to pass a NULL pointer to this function to ignore it.
*
* \param puserdata pointer which is filled with the "userdata" pointer that
* was passed to SDL_SetAssertionHandler()
* was passed to SDL_SetAssertionHandler().
* \returns the SDL_AssertionHandler that is called when an assert triggers.
*
* \since This function is available since SDL 2.0.2.
Expand Down
82 changes: 38 additions & 44 deletions include/SDL_atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,38 +20,29 @@
*/

/**
* \file SDL_atomic.h
* # CategoryAtomic
*
* Atomic operations.
*
* IMPORTANT:
* If you are not an expert in concurrent lockless programming, you should
* only be using the atomic lock and reference counting functions in this
* file. In all other cases you should be protecting your data structures
* with full mutexes.
* IMPORTANT: If you are not an expert in concurrent lockless programming, you
* should not be using any functions in this file. You should be protecting
* your data structures with full mutexes instead.
*
* The list of "safe" functions to use are:
* SDL_AtomicLock()
* SDL_AtomicUnlock()
* SDL_AtomicIncRef()
* SDL_AtomicDecRef()
* ***Seriously, here be dragons!***
*
* Seriously, here be dragons!
* ^^^^^^^^^^^^^^^^^^^^^^^^^^^
*
* You can find out a little more about lockless programming and the
* subtle issues that can arise here:
* http://msdn.microsoft.com/en-us/library/ee418650%28v=vs.85%29.aspx
* You can find out a little more about lockless programming and the subtle
* issues that can arise here:
* https://learn.microsoft.com/en-us/windows/win32/dxtecharts/lockless-programming
*
* There's also lots of good information here:
* http://www.1024cores.net/home/lock-free-algorithms
* http://preshing.com/
*
* These operations may or may not actually be implemented using
* processor specific atomic operations. When possible they are
* implemented as true processor specific atomic operations. When that
* is not possible the are implemented using locks that *do* use the
* available atomic operations.
* - https://www.1024cores.net/home/lock-free-algorithms
* - https://preshing.com/
*
* These operations may or may not actually be implemented using processor
* specific atomic operations. When possible they are implemented as true
* processor specific atomic operations. When that is not possible the are
* implemented using locks that *do* use the available atomic operations.
*
* All of the atomic operations that modify memory are full memory barriers.
*/
Expand Down Expand Up @@ -94,7 +85,7 @@ typedef int SDL_SpinLock;
* ***Please note that spinlocks are dangerous if you don't know what you're
* doing. Please be careful using any sort of spinlock!***
*
* \param lock a pointer to a lock variable
* \param lock a pointer to a lock variable.
* \returns SDL_TRUE if the lock succeeded, SDL_FALSE if the lock is already
* held.
*
Expand All @@ -111,7 +102,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_AtomicTryLock(SDL_SpinLock *lock);
* ***Please note that spinlocks are dangerous if you don't know what you're
* doing. Please be careful using any sort of spinlock!***
*
* \param lock a pointer to a lock variable
* \param lock a pointer to a lock variable.
*
* \since This function is available since SDL 2.0.0.
*
Expand All @@ -128,7 +119,7 @@ extern DECLSPEC void SDLCALL SDL_AtomicLock(SDL_SpinLock *lock);
* ***Please note that spinlocks are dangerous if you don't know what you're
* doing. Please be careful using any sort of spinlock!***
*
* \param lock a pointer to a lock variable
* \param lock a pointer to a lock variable.
*
* \since This function is available since SDL 2.0.0.
*
Expand Down Expand Up @@ -257,20 +248,23 @@ typedef void (*SDL_KernelMemoryBarrierFunc)();


/**
* \brief A type representing an atomic integer value. It is a struct
* so people don't accidentally use numeric operations on it.
* A type representing an atomic integer value.
*
* It is a struct so people don't accidentally use numeric operations on it.
*/
typedef struct { int value; } SDL_atomic_t;
typedef struct SDL_atomic_t {
int value;
} SDL_atomic_t;

/**
* Set an atomic variable to a new value if it is currently an old value.
*
* ***Note: If you don't know what this function is for, you shouldn't use
* it!***
*
* \param a a pointer to an SDL_atomic_t variable to be modified
* \param oldval the old value
* \param newval the new value
* \param a a pointer to an SDL_atomic_t variable to be modified.
* \param oldval the old value.
* \param newval the new value.
* \returns SDL_TRUE if the atomic variable was set, SDL_FALSE otherwise.
*
* \since This function is available since SDL 2.0.0.
Expand All @@ -289,8 +283,8 @@ extern DECLSPEC SDL_bool SDLCALL SDL_AtomicCAS(SDL_atomic_t *a, int oldval, int
* ***Note: If you don't know what this function is for, you shouldn't use
* it!***
*
* \param a a pointer to an SDL_atomic_t variable to be modified
* \param v the desired value
* \param a a pointer to an SDL_atomic_t variable to be modified.
* \param v the desired value.
* \returns the previous value of the atomic variable.
*
* \since This function is available since SDL 2.0.2.
Expand All @@ -305,7 +299,7 @@ extern DECLSPEC int SDLCALL SDL_AtomicSet(SDL_atomic_t *a, int v);
* ***Note: If you don't know what this function is for, you shouldn't use
* it!***
*
* \param a a pointer to an SDL_atomic_t variable
* \param a a pointer to an SDL_atomic_t variable.
* \returns the current value of an atomic variable.
*
* \since This function is available since SDL 2.0.2.
Expand All @@ -322,8 +316,8 @@ extern DECLSPEC int SDLCALL SDL_AtomicGet(SDL_atomic_t *a);
* ***Note: If you don't know what this function is for, you shouldn't use
* it!***
*
* \param a a pointer to an SDL_atomic_t variable to be modified
* \param v the desired value to add
* \param a a pointer to an SDL_atomic_t variable to be modified.
* \param v the desired value to add.
* \returns the previous value of the atomic variable.
*
* \since This function is available since SDL 2.0.2.
Expand Down Expand Up @@ -356,9 +350,9 @@ extern DECLSPEC int SDLCALL SDL_AtomicAdd(SDL_atomic_t *a, int v);
* ***Note: If you don't know what this function is for, you shouldn't use
* it!***
*
* \param a a pointer to a pointer
* \param oldval the old pointer value
* \param newval the new pointer value
* \param a a pointer to a pointer.
* \param oldval the old pointer value.
* \param newval the new pointer value.
* \returns SDL_TRUE if the pointer was set, SDL_FALSE otherwise.
*
* \since This function is available since SDL 2.0.0.
Expand All @@ -375,8 +369,8 @@ extern DECLSPEC SDL_bool SDLCALL SDL_AtomicCASPtr(void **a, void *oldval, void *
* ***Note: If you don't know what this function is for, you shouldn't use
* it!***
*
* \param a a pointer to a pointer
* \param v the desired pointer value
* \param a a pointer to a pointer.
* \param v the desired pointer value.
* \returns the previous value of the pointer.
*
* \since This function is available since SDL 2.0.2.
Expand All @@ -392,7 +386,7 @@ extern DECLSPEC void* SDLCALL SDL_AtomicSetPtr(void **a, void* v);
* ***Note: If you don't know what this function is for, you shouldn't use
* it!***
*
* \param a a pointer to a pointer
* \param a a pointer to a pointer.
* \returns the current value of a pointer.
*
* \since This function is available since SDL 2.0.2.
Expand Down
Loading