Commit Graph

13742 Commits

Author SHA1 Message Date
Dario Binacchi
e721af3baf Fix build on PowerPC with uClibc
PPC_FEATURE_HAS_ALTIVEC is not defined by all C libraries. The following
error was raised while testing SDL3 in Buildroot with a PowerPC toolchain
using uClibc-ng:

  src/cpuinfo/SDL_cpuinfo.c: In function 'SDL_GetAltiVecFeatures':
  src/cpuinfo/SDL_cpuinfo.c:351:37: error: 'PPC_FEATURE_HAS_ALTIVEC' undeclared (first use in this function)
    351 |     altivec = getauxval(AT_HWCAP) & PPC_FEATURE_HAS_ALTIVEC;
        |                                     ^~~~~~~~~~~~~~~~~~~~~~~

Provide a fallback definition when it is not defined.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
2026-08-23 10:35:08 -07:00
Sam Lantinga
8b1e4aa41b Show the child process wait code instead of turning it into an error string
The exit code of the child process may not fit in 8 bits, it's more useful to provide the full child process status.

Fixes https://github.com/libsdl-org/SDL/issues/16188
2026-08-23 10:32:18 -07:00
Jaan Soulier
a2b27528db fix SDL_gpu_vulkan validation warning 2026-08-22 08:43:21 -07:00
Sam Clegg
f0b84476f9 [emscripten] Use keyEvent->key instead of deprecated charCode
keyEvent->charCode is deprecated in DOM Level 3 and marked deprecated
in Emscripten's html5.h. Use keyEvent->key instead.
2026-08-22 07:33:14 -07:00
Anonymous Maarten
eda0859c8b cpu is always SDL_CPU_ANY in SDL_GeneratedBlitFuncTable 2026-08-21 08:14:13 -07:00
Anonymous Maarten
36b7ce3b4e The spinning cube GPU example triggers a few parameter validation errors for an offscreen renderer 2026-08-21 07:44:30 -07:00
Cameron Cawley
199770a1ec n3ds: Fix joystick hat input 2026-08-20 08:03:09 -07:00
muzikbike
2ca12ab2cf Separate KEY_KPJPCOMMA from KEY_MUHENKAN
Both were mapped to "International 5", but this seems wrong
2026-08-20 08:02:09 -07:00
Cameron Cawley
6f3d0c1337 Include transparency information for icon.png in the image data 2026-08-20 07:57:18 -07:00
Ryan C. Gordon
c5491474de pen: If a pen leaves proximity, force all its pressed buttons to released.
Some platforms do this for us, but just in case there is a badly-behaved one,
this will help keep application state correct.

Reference Issue #16125.
2026-08-18 16:08:21 -04:00
Ryan C. Gordon
3bdb7d00d5 pen: Report SDL_PenInputFlags in SDL_PenProximityEvent.
Fixes #16125.
2026-08-18 16:07:51 -04:00
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