Sam Lantinga
0f10f81b3b
Fixed the 8BitDo Ultimate 2 Wireless for PC controller showing up twice on macOS
2026-01-28 13:37:38 -08:00
Wouter Wijsman
c1e715439a
Fix PSP_QueueGeometry funcion rendering some textures too small
2026-01-28 07:39:04 -08:00
Sam Lantinga
3aa3a357fc
Fixed the 8BitDo Ultimate 2 Wireless controller showing up twice on macOS
...
Fixes https://github.com/libsdl-org/SDL/issues/14902
2026-01-27 14:40:35 -08:00
Sam Lantinga
1fe6bf4982
Fixed the NVIDIA SHIELD Controller showing up twice on macOS
...
Fixes https://github.com/libsdl-org/SDL/issues/14911
2026-01-27 13:52:06 -08:00
Sam Lantinga
72343b9ee2
Fixed hang sending output reports to the NVIDIA SHIELD Controller on macOS
2026-01-27 13:51:16 -08:00
Sam Lantinga
cae2a28f5b
Fixed unaligned access in NVIDIA SHIELD Controller driver
...
Also refactored the LOAD16() and LOAD32() macros into SDL_hidapijoystick_c.h
2026-01-27 11:25:38 -08:00
Sam Lantinga
dd53ecbce8
Fixed Steam Controller battery state
2026-01-27 09:53:04 -08:00
Nintorch
90dabda3b4
Add support for joystick LED for Switch controllers
...
Co-Authored-By: Thiago Lelles Fernandes <125714191+thilelito@users.noreply.github.com>
2026-01-27 09:45:23 -08:00
Anonymous Maarten
ac4f852a6a
stb_image: use SDL_TARGETING("sse2") macro for supporting intrinsics on 386
2026-01-25 18:34:10 +01:00
Anonymous Maarten
0457891d50
stb_image: use SDL_HasSSE2 and <SDL3/SDL_intrin.h> macro's for SSE2 detection
2026-01-25 18:34:10 +01:00
Sam Lantinga
a929eb71b3
Set SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1_BOOLEAN for the GPU renderer
2026-01-25 09:14:29 -08:00
Sam Lantinga
17c375738f
Add the type to SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1
2026-01-25 09:12:15 -08:00
Ethan Lee
16f2037efd
gpu: Add SDL_PROP_GPU_DEVICE_CREATE_METAL_ALLOW_MACFAMILY1 property
2026-01-25 09:09:08 -08:00
Madeline Whitmore
97b177c92f
SDL GPU: Fix features not being enabled with Vulkan 1.1 ( #14885 )
...
Use pre-Vulkan 1.2 structs to request features from a Vulkan 1.1 instance.
2026-01-25 08:18:57 -08:00
Eddy Jansson
248223592a
More prefer SDL_zero*()
...
Transform clearing of arrays into SDL_zeroa(), and
clearing through a T* with size(T) into SDL_zerop().
Extends commit 83fb7b6636 .
2026-01-23 16:02:16 -08:00
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
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
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
Cameron Cawley
fa68a73788
Fix compiler warning in MSVC ARM64 builds
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
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
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
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
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
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
Cameron Cawley
02c9f2045b
Fix touch screen display IDs on the 3DS
2026-01-14 15:06:57 -08:00
Sam Lantinga
77290f9788
You can't change the size of a window while in macOS fullscreen space
2026-01-14 15:05:14 -08:00
Frank Praznik
2a0d04613c
wayland: Increase the read timeout when reading from SDL_GetClipboardData()
...
The default timeout value of 14ms is ideal when querying clipboard data while polling events, to prevent excessive lag if the source takes a long time to respond, however, when reading from SDL_GetClipboardData(), the timeout can be too short if a large amount of data must be processed or transferred. SDL_GetClipboardData() is not called while polling events, so using a longer read timeout to greatly increase the chance of success is acceptable.
Use a 5 second timeout when reading from SDL_GetClipboardData() and GetPrimarySelectionText() to greatly increase the chances of a successful read, even if the requested format requires heavy processing.
2026-01-14 11:00:50 -05:00
Sam Lantinga
206989a22d
Revert "Fix duplicate event dispatch in Cocoa event pump"
...
This reverts commit dd52dd8995 .
After that commit mouse input is not received and the window cannot be closed or resized.
Fixes https://github.com/libsdl-org/SDL/issues/14818
2026-01-13 16:23:41 -08:00