Commit Graph

7474 Commits

Author SHA1 Message Date
Sam Lantinga
3b7a45853c Fixed the PS5 controller face buttons on Amazon Fire TV, Android 11
(cherry picked from commit 09495059df)
2024-10-30 05:23:54 -07:00
Sam Lantinga
d2b9ecd281 Revert "aaudio: Set low-latency audio mode."
This reverts commit 1e016fd5ea.

In order to use low latency mode, you need to set low latency callbacks. This has always been recommended and is apparently required on Android 15. SDL3 has these implemented correctly but SDL2 does not, so we should revert this for now.

Fixes https://github.com/libsdl-org/SDL/issues/11376
2024-10-29 22:32:59 -07:00
Ryan C. Gordon
5b0e838a74 wasapi: Deal with device buffer sizes changing.
Otherwise, it would fill the previous size's worth of data into the current
size's buffer.

Fixes #11122.
2024-10-28 13:43:48 -04:00
Ryan C. Gordon
e5348c611d cocoa: Patched to compile. 2024-10-24 23:59:12 -04:00
Ryan C. Gordon
5cb87ff99f cocoa: Make sure GL context destruction happens on the main thread.
Fixes #10900.

(cherry picked from commit 344546b4ea)
2024-10-24 23:48:58 -04:00
Ryan C. Gordon
00f15dd215 emscripten: scale mousewheel X coordinates correctly, not just Y coordinates.
Fixes #10454.

(cherry picked from commit 4ea26a7771)
2024-10-23 23:39:40 -04:00
Ivan Epifanov
52714d5063 VITA: fix SDL_ShowMessageBox by using different memory type 2024-10-22 12:19:50 -07:00
Ivan Epifanov
86fd4ed83c VITA: fix yuv texture update 2024-10-17 07:54:02 -07:00
Sam Lantinga
b6fa4dc794 Only use Steam Virtual Gamepads if we're running under Steam
Fixes https://github.com/libsdl-org/SDL/issues/11214
Fixes https://github.com/libsdl-org/SDL/issues/11215

(cherry picked from commit 8a30def5f2)
2024-10-16 17:51:50 -07:00
Sam Lantinga
cfb3db01dc Added support for the Steam Virtual Gamepad on macOS Sequoia
(cherry picked from commit d7b1ba1bfc)
2024-10-16 17:51:50 -07:00
Cameron Cawley
23d456e146 3DS: Support simple message boxes 2024-10-12 16:07:34 -07:00
Cameron Cawley
084dbb6410 Allow for more fine tuning of Duff's device routines 2024-10-12 16:06:54 -07:00
Cameron Cawley
90f792f83c Reduce the size of the SDL_blit_0 alpha code 2024-10-12 16:06:54 -07:00
Guldoman
5fe010270a x11: Set correct clipboard target type in SelectionRequest handling 2024-10-09 07:31:43 -07:00
Sam Clegg
3deb07ea39 [emscripten] Fixes for data addresses above 2gb
This includes both wasm64 and wasm32 when addressing more than 2gb of
memory.

Fixes: #9052
2024-10-08 16:35:58 -04:00
Sam Lantinga
da19244f7f Added support for wired XBox controllers on macOS 15.0 Sequoia
Fixes https://github.com/libsdl-org/SDL/issues/11002

(cherry picked from commit 7da728a642)
2024-10-07 16:41:34 -07:00
Sam Lantinga
bb33eb409e Fixed detecting the Steam Virtual Gamepad on macOS 2024-10-07 16:21:44 -07:00
Frank Praznik
a86f8dedb9 wayland: Add support for setting window icons via the xdg-toplevel-icon-v1 protocol 2024-10-07 14:24:33 -04:00
Frank Praznik
ea77d1d385 wayland: Factor out the general SHM buffer allocation/free functions from the cursor code 2024-10-07 14:24:33 -04:00
Ryan C. Gordon
9f7ccbe8d4 opengles2: Restore previous default texture_formats.
They were inadvertently byteswapped when making the rest of the backend
bigendian-friendly.

Fixes #11031.
2024-10-04 02:32:24 -04:00
Frank Praznik
643437f5b0 Reapply "wayland: Don't initialize OpenGL when the window flags didn't specify it"
This reverts commit 120b8d4189.

The issue this was patching over in Vanilla-Conquer was the lack of an exposure event when showing a window, which has since been remedied.

Attaching EGL window objects can also cause protocol violations now that the explicit sync protocol is in use, if SDL creates one and then the client tries to attach one itself, so they really shouldn't be created unless the client specifically requested it.
2024-10-02 13:50:14 -04:00
Vladimir Serbinenko
1edaad1721 Handle wayland touch cancel message
Suppose host has some three-finger gesture. Then we get the following sequence
of events:
DOWN-DOWN-DOWN-MOTION-CANCEL

Note that there is no UP in this sequence. So if we don't handle CANCEL then
we end up thinking that fingers are still touching the screen. Ideally we
should inform the application that cancel has happened as not to trigger
spurious taps but still this is way better than being stuck with phantom
finger touch.
2024-09-26 13:35:31 -04:00
Sam Lantinga
c9f3cbe02f Don't use BlitARGBto555PixelAlpha() for SDL_PIXELFORMAT_ARGB1555
This didn't properly take into account destination alpha.

Fixes https://github.com/libsdl-org/SDL/issues/8401

(cherry picked from commit 1aea43846e)
2024-09-25 21:58:20 -07:00
Cameron Gutman
656b599828 Throttle tickle reports to PS4/PS5 controllers
UpdateDevice() can be called at an arbitrary rate, so we need to
pace ourselves to avoid filling up the rumble queue with these.

(cherry picked from commit 6ec8b1a173)
2024-09-25 07:21:31 -07:00
Cameron Gutman
7eb85b07e0 kmsdrm: Fix one more place that doesn't try to drop master 2024-09-23 18:59:54 -05:00
Cameron Gutman
dab4f856c1 kmsdrm: Keep fd around if we can drop master
Modern kernels (v5.8+) allow non-root usage of drmDropMaster(), so
we can hold on to our fd after dropping master on it. This fixes
populating drm_fd in the KMSDRM SysWMinfo when using Vulkan.

Also add a missing error check for open() while we're here.
2024-09-22 16:36:34 -07:00
Erin Melucci
055ce096f5 Don't call GetMessageTime on Xbox platforms
Fixes a compilation issue due to the GAMES partition of WinAPI not including GetMessageTime
2024-09-20 07:26:38 -07:00
T3hD0gg
ec9a9fee58 Add Thrustmaster TMX VID & PID to wheel device list.
(cherry picked from commit 594edb6bd2)
2024-09-18 22:22:01 -07:00
Cameron Gutman
e239295491 wayland: Fix memory leaks 2024-09-18 20:44:26 -04:00
Ryan C. Gordon
58f2586b44 pulseaudio: Hotplug thread fixes.
This used a tiny stack, which apparently upsets Blender for various
technical reasons. Instead, just use the default stack size, which should
give it plenty of space to work.

If the thread failed to create, we would then wait on a semaphore that would
never trigger, so don't do that anymore!

Fixes #10806.

(cherry-picked from commit b7dc30ca24)
2024-09-12 18:00:58 -04:00
Frank Praznik
8fa99993af wayland: Send exposure events when showing or resizing the window
Clients may rely on this event to signal when they should redraw themselves, so send it when appropriate.
2024-09-10 10:19:48 -04:00
Simon McVittie
54757c29dd x11vulkan: Use the correct SONAME of libX11-xcb.so.1 on Linux, etc.
On most Unix platforms supported by SDL, the canonical name used to load
a library at runtime includes its ABI major version, and the name
without a version is not guaranteed to exist on non-developer systems.
libX11-xcb.so.1 is correct on Linux, and probably on other Unix
platforms like FreeBSD.

A notable exception is OpenBSD, which apparently does not use
ABI-suffixed names, so continue to use libX11-xcb.so there.

Signed-off-by: Simon McVittie <smcv@collabora.com>
(cherry picked from commit 7713a7eec7)
2024-09-09 12:54:02 -07:00
Sam Lantinga
f5ed158d1f SDL_XINPUT_Enabled() returns false until XInput DLL is successfully loaded
We make sure we initialize XInput first, so that anything checking whether it's enabled gets a valid result based on whether we were able to load it or not.

(cherry picked from commit 8f46cb771c)
2024-09-06 11:24:43 -07:00
Sam Lantinga
5aadfd4eaf Fixed race condition at startup that could cause a crash in the XInput driver
(cherry picked from commit 6d7c211faf)
2024-09-06 10:17:37 -07:00
Sam Lantinga
10b4a79379 Make newer DRM and GBM functions optional
Fixes https://github.com/libsdl-org/SDL/issues/10675

(cherry picked from commit d501f6db07)
2024-09-02 11:11:02 -07:00
Anonymous Maarten
57f1ea71ab Increase maximum line length of SDLTest_LogAllocations 2024-09-01 02:18:47 +02:00
Anonymous Maarten
510eda22f1 SDL_test: print stack traces of leaks on Windows
(ported from SDL3)
2024-08-31 23:49:22 +02:00
Anonymous Maarten
877c19da41 SDL_test: do late addres to name conversion, if libunwind supports it 2024-08-31 23:49:22 +02:00
Anonymous Maarten
1260ada519 SDL_test: use mutex based on SDL_atomic_t in memory tracking
SDL_Mutex or SDL_SpinLock cannot be used as these use SDL_malloc internally.

Backport of c7a1876536
2024-08-31 23:49:22 +02:00
Ozkan Sezer
4eac44bed4 RAWINPUT_JoystickOpen: add missing SDL_stack_free() calls.
Fixes https://github.com/libsdl-org/SDL/issues/10574.
(cherry picked from commit 845212388e)
2024-08-25 11:05:50 +03:00
Francisco Javier Trujillo Mata
1b8d5631ef Allow MessageBox to work without window 2024-08-23 11:50:00 -07:00
Sam Lantinga
0de601dc64 Added support for the Retro-bit Controller in PS3 mode
Fixes https://github.com/libsdl-org/SDL/issues/10557

(cherry picked from commit e75175129f)
2024-08-19 16:47:54 -07:00
Sam Lantinga
a3546e5069 PSP: Throw SDL_EVENT_QUIT event upon exit (thanks @sharkwouter!)
Closes https://github.com/libsdl-org/SDL/pull/10565

(cherry picked from commit 59ac561062)
2024-08-18 08:30:03 -07:00
Sam Lantinga
4bd07ea9a4 Revert "PSP: Throw SDL_Quit event upon exit"
This reverts commit e52e68d160.
2024-08-18 08:27:29 -07:00
Wouter Wijsman
e52e68d160 PSP: Throw SDL_Quit event upon exit 2024-08-18 08:22:20 -07:00
Ozkan Sezer
30972d7e7f SDL_x11mouse.c: avoid -Wunused-variable if xinput2 is not available 2024-08-17 11:23:32 +03:00
ds-sloth
2824d138b9 SDL_rwops.c: stdio_seek - skip API call for RW_SEEK_CUR with 0 offset
Reference Issue #10556.
2024-08-16 17:12:34 -04:00
Frank Praznik
8fcbf972c6 wayland: Send fake warp coordinates when emulating warps with relative mode
Send the fake warp coordinates when emulating warps with relative mode to ensure that it appears that the cursor is always reset to where the application expects it to be.

Fixes cases where games can continue moving the camera if the mouse is lifted during motion.
2024-08-16 11:24:13 -04:00
Frank Praznik
5b57573439 x11: Track cursor visibility internally
Cursor visibility in the SDL input layer only reflects whether ShowCursor/HideCursor was called. In the case of relative mode, the cursor can be hidden, but the SDL_Mouse visibility flag will be true.

Track cursor visibility separately in the X11 driver. Fixes the cursor becoming visible when using the warping relative mode with XWayland.

(cherry picked from commit b0713a7d30)
2024-08-16 10:34:36 -04:00
Sam Lantinga
b360214950 Use drmModeAddFB() if drmModeAddFB2WithModifiers() fails
Fixes https://github.com/libsdl-org/SDL/issues/10276

(cherry picked from commit 8e99ec34bb)
2024-08-15 11:53:02 -07:00