Commit Graph

13731 Commits

Author SHA1 Message Date
Caleb Cornett
f2c4ef111d gdk: Update to GDK April 2026 Update 3 (#16134) 2026-08-18 10:51:48 -04:00
Caleb Cornett
c80d68fde5 gdk: Send window resize events on Xbox (#16158) 2026-08-16 12:12:09 -04:00
Christmas-Missionary
11a9d3212e SDL_VideoQuit to SDL_QuitVideo
- Refers to SDL3 internal function, NOT SDL2 public function
2026-08-15 01:30:12 -04:00
Christmas-Missionary
23401052e5 SDL_CameraInit to SDL_InitCamera 2026-08-15 01:30:12 -04:00
Christmas-Missionary
19758eb15d SDL_VideoInit to SDL_InitVideo
- Refers to SDL3 internal function, NOT SDL2 public function
- FIXME comment is removed as naming convention is established
2026-08-15 01:30:12 -04:00
Revincx
b640b804a8 evdev: Fix vertical high-resolution mouse wheel scaling
This commit fixes a regression introduced by c44fa5bb

The evdev backend currently uses high_res_hwheel to select the
normalization denominator for both horizontal and vertical wheel
events.

This causes devices which advertise REL_WHEEL_HI_RES but not
REL_HWHEEL_HI_RES to report vertical wheel movement 120 times
larger than intended.

Use the corresponding high-resolution capability independently for
each axis, restoring the behavior before c44fa5bb.
2026-08-10 09:08:21 -07:00
xentripetal
b340ddcd7b metal: Fix inverted return value in METAL_QueryFence
SDL_QueryGPUFence is documented to return true when the fence is signaled (complete). Since 514b26e it returns METAL_INTERNAL_IsFenceBusy directly, so it returns true when the fence is still busy, breaking usage of SDL_AcquireGPUSwapchainTexture.
2026-08-09 11:59:42 -07:00
Sawkez
700cf42a9d Haiku: Fix incorrect version macro in SDL_SYS_OpenURL 2026-08-06 10:35:15 -07:00
Mathieu Eyraud
ad19bafd12 Fix tray menu pointer check 2026-08-06 07:46:30 -07:00
XRenWu
eba3c7ae0a feat: add GameSir-Tarantula 8K controller support
- Add VID/PID and button mapping for Tarantula 8K
- Remove outdated joystick dead zone algorithm, pass raw data directly
- Correct naming of extension keys
2026-08-05 10:23:49 -07:00
Frank Praznik
2afc369e8a wayland: Use the correct parameter type in the capabilities callback
The capabilities parameter is a uint32_t in the function signature in the header, not an enum.

Fixes a clang-tidy warning.
2026-08-05 11:05:12 -04:00
Frank Praznik
b23ae0eec7 wayland: Fix a circular include issue
The event header being included before a header guard was hiding a circular include issue.
2026-08-05 10:57:34 -04:00
Frank Praznik
2bf7014836 wayland: Move include after the guard 2026-08-05 10:38:52 -04:00
capitalistspz
355d1ac848 camera: Detect exclusive_caps v4l2loopback devices (#16116) 2026-08-05 07:32:57 -07:00
zuiki_inn
f1c274038b add EVOTOP AXIS controller support (#16117) 2026-08-05 07:29:17 -07:00
Frank Praznik
b07d488216 wayland: Place the data source creation functions in the proper source file
These functions were declared in the SDL_waylanddatamanager.h header, but the implementations were in SDL_waylandevents.c

Move the implementations to the SDL_waylanddatamanager.c source file, where one would expect to find them.
2026-08-04 13:01:53 -04:00
Ozkan Sezer
f661f37ace update khronos headers from mainstream. 2026-08-04 03:28:10 +03:00
Evan Hemsley
c1aa9f43fa GPU: Fix another OpenXR zero-length copy 2026-08-03 14:48:50 -07:00
Evan Hemsley
5538d52430 GPU: Allow combinations of read flags on buffers (#16111) 2026-08-03 13:16:20 -07:00
Evan Hemsley
eeb832d8a1 GPU OpenXR: Fix zero-length copy (#16112) 2026-08-03 13:11:32 -07:00
Caleb Cornett
f0fc9316f0 gpu: D3D12 driver cleanup (#16104)
- Clean up unused code in D3D12 driver
- Set accurate array sizes in D3D12_INTERNAL_Create*RootSignature
- Clean up D3D12 conversion functions
2026-08-03 13:11:10 -07:00
Caleb Cornett
52cea907e0 gpu: Use DXBC for D3D12 blit shaders on Windows (#16095) 2026-08-03 13:10:30 -07:00
Ryan C. Gordon
f17fc121aa cocoa: SDL_GetClipboardData() needs to conform the mimetype.
Fixes #16077.
2026-08-03 11:52:13 -04:00
Sanjay Govind
591b584b27 Add back metadata reset change that was accidentally reverted 2026-08-03 08:14:05 -07:00
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