Commit Graph

22368 Commits

Author SHA1 Message Date
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
Sam Lantinga
e10457d52f testcolorspace: added an HDR10 gradient 2026-07-22 11:36:32 -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
Frank Praznik
d63137082a test: Fix memory leak in testclipboard 2026-07-21 14:38:48 -04: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
SDL Wiki Bot
377150b59e Sync SDL3 wiki -> header
[ci skip]
2026-07-19 16:47:13 +00:00
Hadrian Tang
8319d69f72 Clear SDL_PROP_WINDOW_ANDROID_WINDOW_POINTER when ANativeWindow is freed (#16024) 2026-07-18 14:59:22 -07:00
Frank Praznik
f52f31ef5a notification: Fix Win32 delegate structs
Cast from the generic implementation, which has space for the refcount.
2026-07-18 17:46:02 -04:00
Frank Praznik
a0bffd4a92 notification: Use interface availability to check for Windows version suitability
Explicit version checks require application manifests on Win10, or an older version will be reported. Check for the toast notification history interface, which is only available on Win10+, and use that to determine if the Windows version is high enough to support notifications.
2026-07-18 17:46:02 -04:00
Sam Lantinga
08b9c55393 Fixed error: cast from pointer to integer of different size 2026-07-17 22:08:39 -07:00
Sam Lantinga
f00052ffe2 testffmpeg: fixed memory leak using DRM frames with the Vulkan renderer 2026-07-17 19:24:46 -07:00
Anonymous Maarten
5133849627 IsEqualGUID uses memcmp behind the scenes, thwarting a NOLIBC build 2026-07-18 02:40:33 +02:00
Sam Lantinga
762f4abbd0 Fixed an error with goto crossing variable initialization 2026-07-17 16:56:23 -07:00
Sam Lantinga
332e7a050e testffmpeg: added support for VA-API and DRM frames when using Vulkan rendering 2026-07-17 16:23:48 -07:00
meta-legend
ac9ef17bcc Avoid RLE for software render alpha subrect copies (#15982) 2026-07-17 15:09:42 -07:00
Ryan C. Gordon
df7b937361 android: Fix pen creating phantom mouse events in relative mode.
This mostly just unifies code that was handling this case elsewhere already.

Fixes #15620.
2026-07-17 12:59:26 -04:00
Vlad Zahorodnii
6eba2f2efe wayland: Add support for wl_fixes.ack_global_remove
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
2026-07-16 12:30:58 -04:00
Antonio Ospite
d330686798 test: Remove superfluous null byte from ps3_hid_report_descriptor
Remove a superfluous null byte at the end of ps3_hid_report_descriptor,
as it might confuse some more stricter parser.

The data in ps3_hid_report_descriptor probably comes for a libinput
recording, and sometimes those can have superfluous null byte at the
end.

This is mentioned for example in the hidreport project:
64d4067403/tools/libinput-recording-extract-hid-descriptor.py (L25-L27)

As a proof that the original HID report descriptor of the actual device
is 148 bytes long, the following lsusb capture can be compared:
http://ps3.jim.sh/sixaxis/usb/lsusb.txt

Signed-off-by: Antonio Ospite <antonio.ospite@collabora.com>
2026-07-16 08:53:14 -07:00
Anonymous Maarten
64067c11ac ci: treat CMake deprecated and development warnings as errors
[sdl-ci-filter *]
2026-07-16 03:50:19 +02:00
Frank Praznik
e442a9a5e1 x11: Don't block when withdrawing unmapped windows
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.
2026-07-15 12:05:00 -04:00
klirktag
8408a664e2 Android: restore the system bars when leaving fullscreen on API 30+
My old PR #15867 switched the fullscreen path to WindowInsetsController.hide() for API 30+, because the legacy setSystemUiVisibility() flags are ignored on API 30+.

The leaving fullscreen path was left untouched: it still calls setSystemUiVisibility(SYSTEM_UI_FLAG_VISIBLE), which is equally ignored on API 30+.

As a result, once fullscreen had hidden the status/navigation bars, they never came back when returning to windowed mode.
2026-07-15 08:15:18 -07:00
rewine
edafd519b9 wayland: bind xdg-decoration-manager-v1 at protocol version 2
v2 removes v1's strict ordering requirement (decoration object must be created and configured before any buffer is attached), allowing xdg_toplevel_decoration to be created even after a buffer has already been attached/committed
2026-07-15 10:35:17 -04:00
Frank Praznik
1a9801a16f 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.
2026-07-15 10:32:51 -04:00