Commit Graph

22400 Commits

Author SHA1 Message Date
Sam Lantinga
a4340f1187 Clarify supported Apple deployment targets for SDL 3.0 2026-08-02 08:49:49 -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
Anonymous Maarten
2d81bcb605 cmake: mark the cmake script as compatible with CMake 4.4
CMake improved passing strings through macro borders: CMP0219
Make sure we disable the extra for newer CMake.
2026-07-31 23:20:08 +02:00
Sam Lantinga
691571cc57 Moved GameInput into the gameinput folder in the Visual Studio project 2026-07-31 09:28:33 -07:00
SDL Wiki Bot
7add7ece3c Sync SDL3 wiki -> header
[ci skip]
2026-07-31 15:51:46 +00:00
eafton
7b7a74ebc7 Fix some DBus tray issues 2026-07-31 08:49:03 -07:00
SDL Wiki Bot
09552d5bee Sync SDL3 wiki -> header
[ci skip]
2026-07-31 02:31:40 +00: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
Anthony
513ebb5c47 Add setBackButtonTrapEnabled to proguard 2026-07-30 06:03:05 -07:00
Sam Lantinga
6880bed495 Fixed java.lang.ClassNotFoundException: Didn't find class "android.window.OnBackInvokedCallback" on Android 8.0 2026-07-29 19:45:40 -07:00
Kobi Hikri
91863e149a ci: write the commit message from env instead of through an expanding heredoc 2026-07-29 18:51:26 +02: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
Anonymous Maarten
32ce1aef85 ci: Add Windows 11 ARM64 job
[sdl-ci-filter msvc*]
2026-07-26 17:54:20 +02:00
Anonymous Maarten
81acd92d07 ci: Build Android.mk in parallel 2026-07-26 17:54:20 +02: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
Lucas Alves
3304ec648b Add "_FIRST/_LAST" fields to events subsections. 2026-07-25 12:01:55 -07: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
982787979f testcolorspace: added an additional PQ blend color case 2026-07-23 10:50:23 -07:00
Sam Lantinga
413ac5084d testcolorspace: show the blend color when it's incorrect
Also added an additional PQ blend color case
2026-07-23 10:40:20 -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
9f4a1215e2 testcolorspace: show a reasonable HDR gradient on Wayland
On some Wayland configurations, the SDR white level is 203 nits and the max luminance is 10000 nits, and HDR content in the PQ range is mapped by the compositor into the actual display capabilities. We don't want to show an HDR gradient up to 10000 nits, so let's cap it to ~1000 nits in this case.
2026-07-23 08:01:05 -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
0d21a1aa7a testcolorspace: add optional cycling of colorspaces 2026-07-22 11:36:32 -07:00