Commit Graph
21801 Commits
Author SHA1 Message Date
Sam Lantinga 147a8ee32d Updated to version 3.4.14 for release release-3.4.14 2026-08-03 14:55:14 -07:00
Evan Hemsley e1015700c6 GPU: Allow combinations of read flags on buffers (#16111)
(cherry picked from commit 5538d52430)
2026-08-03 13:16:38 -07:00
Ryan C. Gordon 1ef4551c6d cocoa: SDL_GetClipboardData() needs to conform the mimetype.
Fixes #16077.

(cherry picked from commit f17fc121aa)
2026-08-03 11:52:29 -04:00
Ryan C. Gordon c3e06fe741 cocoa: Use macOS 26.x mouse workaround for all windows, not just fullscreen.
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
This is a temporary workaround until we understand the issue better.

Reference Issue #15967.

(cherry picked from commit 958c4cbf0d)
2026-08-03 02:21:05 -04:00
Sanjay Govind f16d4e81ea Add support for GIP instruments via hidapi, and drums via gameinput (#16009)
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
(cherry picked from commit 7010faef34)
2026-08-02 16:28:28 -07:00
Sam Lantinga 1fc5a58e3a GameInput: don't say the device is present if we won't handle it
(cherry picked from commit 71d0d069ed)
2026-08-02 15:57:17 -07:00
Sam Lantinga 9d8087305d Clarify supported Apple deployment targets for SDL 3.0
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
(cherry picked from commit a4340f1187)
2026-08-02 08:50:01 -07:00
Sam Lantinga 5cb568dbec Leave open Xbox devices in the libusb enumerated list on macOS
Fixes https://github.com/libsdl-org/SDL/issues/15961

(cherry picked from commit 8dc177294b)
2026-08-02 08:17:30 -07:00
Michal Trepka cecc16ea51 cocoa: Workaround for an issue with incorrect window position after exiting fullscreen on some displays
Fix for https://github.com/libsdl-org/SDL/issues/15920

(cherry picked from commit f514394d1c)
2026-08-02 07:28:03 -07:00
Nick Waanders bcbdcaf6e4 Metal: Fix for required rebinding when switching pipelines
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
(cherry picked from commit 4c69fd050c)
2026-07-30 17:10:03 -07:00
Frank Praznik 105ad5e875 x11: Register the input context destroyed callback
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
Register the destroyed callback to handle cases where the IC is suddenly no longer valid (e.g. if ibus or fcitx dies).

(cherry picked from commit 63bf4c1c79)
2026-07-28 15:47:34 -04:00
Sam Lantinga b0e329b322 Use the render passes we just created when creating a Vulkan render target
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
(cherry picked from commit f4337eded2)
2026-07-27 10:57:23 -07:00
Alynne c9ad296376 Add Retro Fighters D6 mappings (#16048)
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
(cherry picked from commit 091261b3bd)
2026-07-23 11:35:56 -07:00
Alynne 6fefc36b21 Support for Retro Fighters Defender Pro (#16045)
(cherry picked from commit b9d64c45a9)
2026-07-23 10:17:44 -07:00
Frank Praznik 01997ebebd wayland: Don't clear the clipboard when a nil selection is ignored
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
If the previous selection offering was recursive, a nil selection should be ignored, or clearing the clipboard may clear the backing memory of the client's selection offering as well.

(cherry picked from commit cc2713c047)
2026-07-22 12:10:06 -04:00
Frank Praznik 13f58a7608 test: Fix memory leak in testclipboard
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
(cherry picked from commit d63137082a)
2026-07-21 14:39:18 -04:00
Sam Lantinga dcea23748a Corrected the name of the Razer Raiju V3 Pro controller
Fixes https://github.com/libsdl-org/SDL/issues/16028

(cherry picked from commit c70f111295)
2026-07-21 07:48:05 -07:00
Esme Povirk b0f529381e Fix build on arm64ec.
(cherry picked from commit 3fc8509b36)
2026-07-21 07:44:35 -07:00
Hadrian Tang 0a7820fca3 Fix #15985
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
(cherry picked from commit a8591d943b)
2026-07-19 21:10:27 -07:00
Ryan C. Gordon 5e53f67155 audio: Fixed linked list when logical devs move to a new default physical dev.
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
(cherry picked from commit 5ff9c119fc)
2026-07-19 21:52:17 -04:00
Hadrian Tang 7eaceaa1d7 Clear SDL_PROP_WINDOW_ANDROID_WINDOW_POINTER when ANativeWindow is freed (#16024)
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
(cherry picked from commit 8319d69f72)
2026-07-18 14:59:52 -07:00
Ryan C. Gordon 4c776b5e33 android: Fix pen creating phantom mouse events in relative mode.
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
This mostly just unifies code that was handling this case elsewhere already.

Fixes #15620.

(cherry picked from commit df7b937361)
2026-07-17 13:01:22 -04:00
Vlad Zahorodnii 3e536ede68 wayland: Add support for wl_fixes.ack_global_remove
Build (All) / Create test plan (push) Canceled after 0s
Build (All) / level1 (push) Canceled after 0s
Build (All) / level2 (push) Canceled after 0s
The wl_fixes.ack_global_remove request signals the compositor that the
client will not bind the removed global. It can be used by the
compositor to decide when it is safe to actually destroy the
corresponding global. If a global is destroyed too soon, some clients may
get disconnected.

See also https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/533

(cherry picked from commit 6eba2f2efe)
2026-07-16 12:32:29 -04:00
Anonymous Maarten 29d07d3ed1 ci: treat CMake deprecated and development warnings as errors
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
[sdl-ci-filter *]

(cherry picked from commit 64067c11ac)
2026-07-16 03:55:55 +02:00
Frank Praznik 7626a9c313 x11: Don't block when withdrawing unmapped windows
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
Some window managers will mark minimized or offscreen windows as unmapped. When hiding a window, unconditionally call XWithdrawWindow, and don't wait for an UnmapNotify event if the window is already in the unmapped state, or it will block indefinitely waiting for an event that never arrives.

(cherry picked from commit e442a9a5e1)
2026-07-15 12:05:33 -04:00
Frank Praznik d8b18a7e18 cocoa: Clear state on failure to enter fullscreen
A fullscreen exit event doesn't always accompany an entry error, so ensure that all relevant state is cleared if the window fails to enter fullscreen.

(cherry picked from commit 1a9801a16f)
2026-07-15 11:32:24 -04:00
Sam Lantinga 558f62eb07 Don't accidentally switch the Horipad Mini into Switch report mode
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
The PS3 probing switches the HORI Horipad Mini into Nintendo Switch report mode, which we don't recognize since it's still using the Xbox 360 endpoint.

(cherry picked from commit 2d7f300783)
2026-07-14 15:37:05 -07:00
Sam Clegg 4ad0d1f7eb [emscripten] Remove support for legacy webkitGetUserMedia
This modern navigator.mediaDevices.getUserMedia has been
available since Chrome 53 / Firefox 38 / Safari 11.

See https://github.com/emscripten-core/emscripten/pull/27347

(cherry picked from commit 31bd4ff77a)
2026-07-14 12:31:37 -07:00
Frank Praznik 432719facc wayland: Refine window raising for new windows
Generate activation tokens for new windows when necessary, and check the hint for activating windows when shown. This will allow new windows to correctly take focus in environments with elevated focus stealing prevention when possible, and it will try to prevent new windows from being activated if the hint is set to false.

(cherry picked from commit 8586f63d2a)
2026-07-14 13:37:09 -04:00
Ryan C. Gordon 5b5713b955 properties: Fixed a typo in a comment.
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
2026-07-13 18:38:30 -04:00
Ryan C. Gordon ecd15e9535 assert: make disabled asserts work with bitfield conditions.
We don't care _what_ the `sizeof` results are, we just want it to vaporize
the condition's code out of the build. So we check it with a `? 1 : 0`, so it
always boils down to a `sizeof (int)`, no matter what data type the condition
actually is.

This works with bitfields, pointers, anything that can be "truthy." If it
isn't truthy, it would fail when assertions are enabled anyhow.

Fixes #15990.

(cherry picked from commit daf519ae05)
2026-07-13 18:23:46 -04:00
Tim Stahlhut 758e323b93 Rewrite five SDL_DIRECTX header checks
Co-authored-by: Anonymous Maarten <madebr@users.noreply.github.com>

[sdl-ci-filter msvc-*]
[sdl-ci-filter msys2-*]
[sdl-ci-filter cygwin]
[sdl-ci-filter ngage]

(cherry picked from commit c97d9feb13)
2026-07-13 09:07:58 -07:00
Nintorch 5311486a9a Emscripten: Convert joystick axis 9 to a hat
Build (All) / Create test plan (push) Has been cancelled
Build (All) / level1 (push) Has been cancelled
Build (All) / level2 (push) Has been cancelled
(cherry picked from commit d11e3e087a)
2026-07-11 08:01:54 -07:00
Sam Lantinga 6ebd9cf86b testffmpeg_vulkan: enable the VK_KHR_video_maintenance1 extension
This is used by ffmpeg, so we'll enable it if it's available

(cherry picked from commit 9149eca207)
2026-07-10 11:41:14 -07:00
Sam Lantinga 1453f46178 testffmpeg_vulkan: fixed goto jump past variable initialization
(cherry picked from commit 094213b3be)
2026-07-10 10:09:06 -07:00
Sam Lantinga da8614ff0f testffmpeg: added a --nodelay command line option
(cherry picked from commit 4a00b98c91)
2026-07-10 10:09:06 -07:00
Sam Lantinga 99ca7097d2 testffmpeg_vulkan: use C++ compatible code structure
(cherry picked from commit 573fc51938)
2026-07-10 10:09:06 -07:00
Sam Lantinga 480ab44f9e testffmpeg_vulkan: fixed usage of timeline semaphores
(cherry picked from commit 6ce3d843fc)
2026-07-10 10:09:06 -07:00
Sam Lantinga 5671b0f3ce Fixed Vulkan validation errors when using ffmpeg video decode
(cherry picked from commit c1d4376d3c)
2026-07-10 08:21:02 -07:00
Sam Lantinga dcb3da5489 Revert "Cygwin: Reduce warning"
This reverts commit 3eb9b5e49a.
2026-07-09 09:14:38 -07:00
Tim Stahlhut 3eb9b5e49a Cygwin: Reduce warning
[sdl-ci-filter cygwin]
[sdl-ci-filter msys2-*]
[sdl-ci-filter msvc-*]

(cherry picked from commit bb74b618ac)
2026-07-09 09:04:00 -07:00
Epifanov Ivan e5648d4437 VITA: invalidate texture in render state on update (#15957)
(cherry picked from commit 425c6a2695)
2026-07-08 07:11:33 -07:00
meta-legend af5b015b21 Avoid unnescessarily updating fullscreen display modes
(cherry picked from commit e90bdfb5ea)
2026-07-07 21:37:53 -07:00
ExtremelyLazyCat 4f629701fb Add Mayflash N64 Controller Adapter mapping
(cherry picked from commit 5403934fd3)
2026-07-07 14:05:17 -07:00
Sam Lantinga ffc7381337 Only skip the Flydigi driver when checking to see if a device is handled by HIDAPI
(cherry picked from commit cf6a235a41)
2026-07-07 09:30:49 -07:00
Isabella Basso 27e6b7a119 cocoa: restore discrete mouse wheel ticks
(cherry picked from commit 1f3f714393)
2026-07-07 11:08:20 -04:00
Sam Lantinga b18591f4a0 Fixed the 8BitDo Pro 3 controller showing up twice on macOS
Fixes https://github.com/libsdl-org/SDL/issues/15890

(cherry picked from commit 03f81ab4aa)
2026-07-06 17:04:42 -07:00
8BitDo 1ac361c3fe support 8bitdo ultimate 3 (#15927)
(cherry picked from commit efa0e2d5ed)
2026-07-06 05:51:06 -07:00
Caleb Cornett 6c10cdb6eb gpu: Metal fence fixes
(cherry picked from commit 3561f81400)
2026-07-06 05:44:50 -07:00
Alex Tselousov 7e593a2b4f 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)

(cherry picked from commit 514b26e4c4)
2026-07-06 05:44:50 -07:00