Commit Graph

21263 Commits

Author SHA1 Message Date
Eddy Jansson
83fb7b6636 Prefer SDL_zero()/SDL_zerop()
Replace uses of 'SDL_memset(E, 0, sizeof(E))' and similar
with the SDL_zero()/SDL_zerop() macros.
2026-01-23 11:23:27 -08:00
Sam Lantinga
fe403220f0 Don't load libdecor if SDL_HINT_VIDEO_WAYLAND_ALLOW_LIBDECOR is false
Fixes https://github.com/libsdl-org/SDL/issues/14887
2026-01-23 11:20:26 -08:00
Frank Praznik
79b40ad397 wayland: Don't try to set the seat cursor when no pointer object exists 2026-01-23 09:02:42 -05:00
Sam Lantinga
7fe30b04bf Revert "cmake: rpi videocore needs brcmegl as well"
This reverts commit cd31381185.

Linking libbrcmEGL.so explicitly breaks (causes segmentation faults) in other code that links and runs the X11 EGL.

Reopens https://github.com/libsdl-org/SDL/issues/14749

At least in my Raspbian Stretch build environment, the vc_dispmanx symbols that were missing are found in libbcm_host.so, which is linked by default.
2026-01-22 17:53:47 -08:00
Sam Lantinga
e0659d1956 Call dbus_message_set_no_reply() when not expecting a reply 2026-01-22 09:39:59 -08:00
Sam Lantinga
453d3e5c8c Retain the dbus reply when getting string results
The string result points at memory in the reply, so we can't unref that until the string is no longer needed.

Fixes https://github.com/libsdl-org/SDL/issues/14839
2026-01-22 09:39:59 -08:00
SDL Wiki Bot
7d27ca282e Sync SDL3 wiki -> header
[ci skip]
2026-01-21 22:25:12 +00:00
Anonymous Maarten
0f89d64623 release: synchronize build-scripts/build-release.py 2026-01-21 21:49:41 +01:00
Anonymous Maarten
1d587e94e1 cmake: only mark SDL_{SHARED,STATIC} as cache variables if they were already cache variables 2026-01-21 21:36:10 +01:00
Simon McVittie
9ceb982a63 dummy: Only initialize evdev input devices in the evdev driver
This avoids some misleading error messages when running unit tests with
the dummy driver: on a typical desktop Linux system, it's normal for
opening keyboards and mouse in `/dev/input/*` to fail with `EACCES`,
and in container technologies that share `/sys` but not `/dev` with the
container, we can find that we fail to open them with `ENOENT`.

Resolves: https://github.com/libsdl-org/SDL/issues/14872
Signed-off-by: Simon McVittie <smcv@collabora.com>
2026-01-20 14:17:15 -08:00
Sam Lantinga
b1362f8a42 Fixed divide by zero handling Nintendo Switch 2 controller 2026-01-20 11:04:20 -08:00
Frank Praznik
4b83933298 wayland: More pointer related code deduplication 2026-01-20 13:50:40 -05:00
Aubrey Hesselgren
5c15d74394 Fix Horipad bluetooth gyro stutter issues using simulated sensor timing approach (based on packet rate observation)
By observation: wired is 250hz/4000ms, and bluetooth is 120hz/8333ms for IMU sensor.
2026-01-19 15:25:45 -08:00
Thour
124c5922aa Fix incorrect type in SDL_GetMice() and SDL_GetKeyboards() allocation (#14870) 2026-01-19 15:23:55 -08:00
Anonymous Maarten
f3a3c803ca cmake: avoid re-running checks by wrapping check_c_compiler_flag 2026-01-19 22:18:24 +01:00
Anonymous Maarten
c34b67250c cmake: use readelf to extract soname from shared elf library 2026-01-19 22:18:24 +01:00
Anonymous Maarten
8a62d6d406 cmake: don't set <PackageName>_FOUND to FALSE before pkg_search_modules 2026-01-19 22:18:24 +01:00
Cameron Cawley
fa68a73788 Fix compiler warning in MSVC ARM64 builds 2026-01-19 10:16:35 -08:00
Cameron Cawley
20adb97305 Support building for ARM64 with the MSVC project 2026-01-19 10:16:35 -08:00
Cameron Cawley
3ee909f01e Add missing files for the examples to the MSVC project 2026-01-19 10:16:35 -08:00
Cameron Cawley
18ba444352 Update the filters for the MSVC project 2026-01-19 10:16:35 -08:00
Cameron Cawley
a04ddb394f Add missing examples to the MSVC project 2026-01-19 10:16:35 -08:00
Cameron Cawley
3681a94c66 Automatically select the default platform toolset for examples in MSVC builds 2026-01-19 10:16:35 -08:00
Cameron Cawley
4dcf886322 Remove duplicate MSVC projects 2026-01-19 10:16:35 -08:00
Wolf3s
0d845e8689 Fix the video size matching the renderer. 2026-01-19 10:10:33 -08:00
Cameron Cawley
07be29b625 Support 16-bit packed texture formats with the Vulkan renderer 2026-01-19 08:29:01 -08:00
Brad Smith
d4d66e77cc cmake: Replace sys/types.h usage with stdint.h with CheckUSBHID 2026-01-18 16:18:26 -08:00
Cameron Cawley
cd72f6b02e Fix B4G4R4A4_UNORM swizzle with the Metal GPU driver 2026-01-18 12:48:24 -08:00
Cameron Cawley
ab7d275113 Support 16-bit packed texture formats with the GPU renderer 2026-01-18 12:48:24 -08:00
Cameron Cawley
25583798a0 Fix mapping between surface and GPU pixel formats 2026-01-18 12:48:24 -08:00
Brad Smith
410a35fbee cmake: Fix header detection with CheckUSBHID
Make use of check_include_files to be able to also include
stdint.h when checking for the headers. Fixes detection of
usbhid.h on OpenBSD.

/usr/include/usbhid.h:40:2: error: unknown type name 'uint32_t'
   40 |         uint32_t _usage_page;
      |         ^
2026-01-18 10:29:51 -08:00
Cameron Cawley
01d8e37a16 Support 16-bit packed texture formats with the Direct3D 12 renderer 2026-01-18 10:08:59 -08:00
Cameron Cawley
285147c627 Support 16-bit packed texture formats with the Direct3D 11 renderer 2026-01-18 10:08:59 -08:00
Sam Lantinga
3f0e0975d8 SDL_CreateGPURenderState() doesn't modify the createinfo parameter 2026-01-17 20:48:30 -08:00
ROllerozxa
064096bf61 Fix SDL_SetWindowIcon on singlethreaded Emscripten builds (#14850) 2026-01-17 20:38:36 -08:00
Frank Praznik
34b620c3f8 event: Only consider topmost windows when generating SDL_QUIT
Otherwise, the quit event can be sent prematurely. The topmost status must be queried and cached before sending the close request event, as the window may be destroyed in an event handler.
2026-01-17 15:52:04 -05:00
Frank Praznik
56e121f6e3 wayland: Dedup pointer entry handling code
Small cleanup, and needed for future work.
2026-01-17 10:40:14 -05:00
Ryan C. Gordon
1f4906e61e examples/misc/03-locale: Fixed thumbnail to have right locale count.
I had forced the example to a hardcoded locale list for screenshot purposes
and forgot to update the count of items at the top of the list.
2026-01-17 00:05:16 -05:00
Ryan C. Gordon
022e2747b9 examples/misc/03-locale: Added thumbnail.png for examples.libsdl.org. 2026-01-16 23:59:59 -05:00
Cameron Cawley
4af4c97e44 Support 16-bit packed texture formats with the Metal renderer 2026-01-16 17:29:39 -08:00
Void Star Caster
b1aaa41921 gpu renderer: always pass tex_coord to fragment shader
As suggested in #14843, pass vertex tex_coord to vertex shader and to fragment shader even when no texture is bounded so they can be used by custom fragment shaders.
2026-01-16 16:22:06 -08:00
Cameron Cawley
15ceaffcb5 examples: Added misc/03-locale 2026-01-16 12:55:57 -08:00
Cameron Cawley
1077486872 Support more texture formats with the Direct3D 9 renderer 2026-01-16 11:01:14 -08:00
Frank Praznik
202fdb2795 wayland: Only destroy tool frame callbacks if the cursor is the one being destroyed 2026-01-16 12:31:10 -05:00
ocelote_ml
008aa18810 updated png texture example
the example was updated to use png's but they didn't update the error message nor the comments
2026-01-16 12:21:30 -05:00
Frank Praznik
35a80bdf1f wayland: Also check tools for cursor usage during cursor destruction 2026-01-16 11:39:35 -05:00
Frank Praznik
5e2977709b wayland: Don't clear the cursor on leave events
Stop the frame callback and flag the cursor for a refresh when the pointer re-enters the surface, but don't set a null cursor, as it may have already been set after entering a surface that is part of the window decorations, resulting in an unwanted invisible cursor.
2026-01-16 11:39:35 -05:00
Frank Praznik
55ba268e66 wayland: Don't process null leave events in the pointer frame handler
This can cause the cursor to become invisible when passing over libdecor surfaces.
2026-01-16 11:39:35 -05:00
William Horvath
f9395a766f thread: Use a flexible array member for "array" in SDL_TLSData.
Avoids UBSan warning (among other similar ones in SDL_thread.c):
src/thread/SDL_thread.c:109:13: runtime error: index 1 out of bounds for type 'struct (unnamed struct at src/thread/SDL_thread_c.h:70:5)[1]'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior src/thread/SDL_thread.c:109:13
2026-01-16 08:32:06 -08:00
Frank Praznik
e62d6a95b9 events: Raise keyboard keys before sending the focus lost message
Otherwise, the key raises may end up being ignored.
2026-01-15 15:02:43 -05:00