Commit Graph

13707 Commits

Author SHA1 Message Date
Ryan C. Gordon
958c4cbf0d cocoa: Use macOS 26.x mouse workaround for all windows, not just fullscreen.
This is a temporary workaround until we understand the issue better.

Reference Issue #15967.
2026-08-03 02:19:24 -04:00
Sanjay Govind
7010faef34 Add support for GIP instruments via hidapi, and drums via gameinput (#16009) 2026-08-02 16:27:46 -07:00
Anthony
228fb8e630 Simplify SDL_IsPhone (#16080) 2026-08-02 08:38:36 -07:00
Александр Андреев
fcd11827f4 iOS: fix SDL_GetUIKitDeviceFormFactor return type
The function returns SDL_FormFactor values but was declared as bool,
so iOS devices were misclassified (e.g. tablets as desktop).
2026-08-02 08:18:53 -07:00
Sam Lantinga
8dc177294b Leave open Xbox devices in the libusb enumerated list on macOS
Fixes https://github.com/libsdl-org/SDL/issues/15961
2026-08-02 08:15:19 -07:00
Michal Trepka
f514394d1c 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
2026-08-02 07:27:32 -07:00
Frank Praznik
fcb5ef8a9c wayland: Handle odd behavior with non-resizable windows in certain tiling compositors
Some tiling compositors will set the maximized state and set their own, preferred dimensions, even if the window is flagged as non-resizable, and the min/max limits are properly set. The spec says that the configure size must be obeyed in the maximized state, so, in these odd cases, use a viewport to make the content fit within the configure dimensions.
2026-08-01 16:26:34 -04:00
Caleb Cornett
730fe555ac render: Fix Xbox Series X|S shader include paths 2026-08-01 08:14:36 -07:00
janusch
c15b6a1457 wayland: don't redeclare getresuid/getresgid
When HAVE_GETRESUID/HAVE_GETRESGID are not defined, SDL_waylandvideo.c defines
static inline fallbacks using the libc names. glibc declares both functions
non-static in <unistd.h>, so on a toolchain where the feature checks fail while
those declarations are still visible the file fails to compile:

  error: static declaration of 'getresuid' follows non-static declaration

Give the fallbacks SDL-private names and call those, so a fallback can never
collide with a libc declaration. Also fixes the fallback getresgid() taking
uid_t* parameters where it should take gid_t*.
2026-08-01 05:55:35 -07:00
Sam Lantinga
ec4bdfd118 Fixed SDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER with IYUV and YV12 pixel buffers 2026-07-31 15:47:28 -07:00
Sam Lantinga
b212874def Fixed support for SDL_PROP_TEXTURE_CREATE_METAL_PIXELBUFFER_POINTER 2026-07-31 15:24:36 -07:00
eafton
7b7a74ebc7 Fix some DBus tray issues 2026-07-31 08:49:03 -07:00
Sam Lantinga
fe85b4782d Support extended interop with the 2D Metal renderer
Also fixed an issue where an external surface couldn't be used with IYUV and YV12 textures.
2026-07-30 19:28:50 -07:00
Nick Waanders
4c69fd050c Metal: Fix for required rebinding when switching pipelines 2026-07-30 18:48:09 -04:00
Anonymous Maarten
5924f36dc6 Make gameinput.cpp c++98-compatible 2026-07-30 20:19:17 +02:00
Anonymous Maarten
b048e8e6f8 windows: vendor GameInput headers 2026-07-30 20:19:17 +02:00
Frank Praznik
331e10c2a3 wayland: Clear references to the clipboard when setting new data
Ensure that references to the clipboard being held by other seats are cleared when new data is being set, or some seats may hold references to invalid data and callbacks.
2026-07-30 12:18:25 -04:00
Frank Praznik
dfcbd16b4c wayland: Don't send nil selections when changing clipboard data
Sending a nil selection followed by immediately destroying the selection offer is redundant, and avoiding intermediate nil offers helps some clipboard managers avoid potential race conditions.
2026-07-30 12:18:25 -04:00
Frank Praznik
db673016fd wayland: Format clipboard code style
Use camel case for non-callback function names to match the coding style of the rest of the backend, and don't enforce a hard 80 column limit.
2026-07-30 12:18:25 -04:00
Frank Praznik
33a1b566e0 wayland: Cleanup clipboard code
The clipboard code often had excessive and unnecessary error checking (e.g. checking if the video backed was initialized, when there is no way that path would be hit if it wasn't), overly complicated some operations, and had several cases where things can be C99-ified. Clean things up a bit to make it easier to read and debug.
2026-07-30 12:18:25 -04:00
Frank Praznik
63bf4c1c79 x11: Register the input context destroyed callback
Register the destroyed callback to handle cases where the IC is suddenly no longer valid (e.g. if ibus or fcitx dies).
2026-07-28 15:46:54 -04:00
Sam Lantinga
1457503bd2 Check for the sRGB color primaries rather than the transfer function 2026-07-28 12:29:42 -07:00
Rachel Blackman
412a7c5db6 Use the modern OnBackInvokedCallback method to trap the back button on newer Android devices (#16052) 2026-07-27 15:43:23 -07:00
Sam Lantinga
f4337eded2 Use the render passes we just created when creating a Vulkan render target 2026-07-27 10:56:49 -07:00
Sam Lantinga
db84871fdf Allow writing to planar YUV textures from application code in the Vulkan renderer 2026-07-27 10:56:49 -07:00
svncibrahim
eba97448ae wayland: Fix maximized check when setting the window size
The logical || made the flag mask evaluate to 1, so only fullscreen was checked and maximized windows were treated as resizable.
2026-07-26 09:50:48 -04:00
Sam Lantinga
855cbec702 Set VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT for planar formats
This allows creating separate image views for the planes of the image if desired.
2026-07-24 16:22:28 -07:00
Nintorch
223490b024 Fix GameInput QueryDeviceName memory leaks 2026-07-24 13:12:13 -07:00
Tim Stahlhut
40fb1b6ccc Cygwin: Fix SDL_GetPlatform
[sdl-ci-filter cygwin]
2026-07-23 18:29:25 -07:00
Sam Lantinga
0f5f708c5a Better check to see whether HDR10 input will have scaling applied 2026-07-23 12:55:14 -07:00
Sam Lantinga
303113b853 Sorted controller mappings
Also fixed line endings for Retro Fighters D6 mappings
2026-07-23 11:38:24 -07:00
Alynne
091261b3bd Add Retro Fighters D6 mappings (#16048) 2026-07-23 11:35:15 -07:00
Sam Lantinga
326694de32 Get the correct HDR values under Gamescope
This also switches log messages in SDL_x11modes.c to use SDL_Log()
2026-07-23 10:32:03 -07:00
Sam Lantinga
604fe14b87 Make sure the PQ shader will output the input value before using the simple shader
Note that we don't account for vertex color here. If HDR10 content needs to be tinted by vertex color, it can't use the simple shader. I'm assuming that the use case for this will be video content which generally won't use vertex color and this optimization is fine.
2026-07-23 10:25:25 -07:00
Sam Lantinga
148241117b Define SCRGB_NITS for use in HDR color calculations 2026-07-23 10:25:25 -07:00
Alynne
b9d64c45a9 Support for Retro Fighters Defender Pro (#16045) 2026-07-23 10:16:51 -07:00
Sam Lantinga
2a623fd224 wayland: set the SDR_white_level for HDR capable displays 2026-07-22 15:24:48 -07:00
Sam Lantinga
23b641070c Added HDR10 display support for the direct3d11, direct3d12, and vulkan renderers 2026-07-22 11:36:32 -07:00
Frank Praznik
cc2713c047 wayland: Don't clear the clipboard when a nil selection is ignored
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.
2026-07-22 12:09:18 -04:00
Sam Lantinga
ae2301e7a5 Added SDR white point for X11 on Steam Deck
Also disabled HDR on X11 for other devices for now, we don't know that they'll be able to display it properly.
2026-07-21 20:24:26 -07:00
Sam Lantinga
75e280618e edid-parse: print the HDR luminance information 2026-07-21 20:24:26 -07:00
Sam Lantinga
c70f111295 Corrected the name of the Razer Raiju V3 Pro controller
Fixes https://github.com/libsdl-org/SDL/issues/16028
2026-07-21 07:47:28 -07:00
Esme Povirk
3fc8509b36 Fix build on arm64ec. 2026-07-21 07:44:17 -07:00
Frank Praznik
ee1c942a92 mouse: Handle explicit warp events
The warp event in Wayland can occur without explicitly warping the mouse, such as if a window changes position under the cursor while the cursor is stationary. Introduce the internal SDL_SendMouseWarp() function to handle updating the absolute cursor position without generating relative motion for these cases.
2026-07-21 09:59:14 -04:00
Frank Praznik
73010447c3 wayland: Add support for the pointer warp event 2026-07-21 09:59:14 -04:00
Sam Lantinga
d98661ff7f Decode the monitor EDID to get HDR metadata on X11 2026-07-20 12:25:17 -07:00
Nintorch
f675aeddeb Use HIDAPI to provide better names for GameInput controllers 2026-07-20 12:18:57 -07:00
Hadrian Tang
a8591d943b Fix #15985 2026-07-19 20:06:04 -07:00
Ryan C. Gordon
5ff9c119fc audio: Fixed linked list when logical devs move to a new default physical dev. 2026-07-19 21:49:31 -04:00
Hadrian Tang
8319d69f72 Clear SDL_PROP_WINDOW_ANDROID_WINDOW_POINTER when ANativeWindow is freed (#16024) 2026-07-18 14:59:22 -07:00