Commit Graph

7565 Commits

Author SHA1 Message Date
Wohlstand 7a43692bdf Vita Render: Limit the scope of cliprect to viewport
Don't allow cliprect be larger than viewport's scope

(cherry picked from commit 6701f938f7)
2025-06-20 13:16:59 -07:00
Wohlstand 99ad0871b1 Vita: Fixed absence of clipping when viewport is set
#13034

(cherry picked from commit 1c09a7117a)
2025-06-20 13:16:59 -07:00
ceski f901079dd5 Read Switch controller gyro/accel sensitivity coeffs (SDL2)
These vary by controller, so using the stored values should improve the accuracy of the sensor data.

(cherry picked from commit 9eb50a906a)
2025-06-13 12:19:16 -07:00
Sam Lantinga 98d1f3a45a Updated to version 2.32.8 for release 2025-06-02 16:00:39 -07:00
Ryan C. Gordon 1226e6b2bc Revert "opengles2: Restore previous default texture_formats."
This reverts commit 9f7ccbe8d4.

Fixes #13109.

(cherry picked from commit 3c08172d06)
2025-06-02 09:38:50 -07:00
Francisco Javier Trujillo Mata 213b074697 Fix wrong callback type
(cherry picked from commit c89357bf60)
(cherry picked from commit d0c2d8bc40)
2025-05-20 11:12:16 -07:00
Sam Lantinga 4177e06c09 Fixed rare crash trying to interrupt SDL_WaitEvent()
Fixes https://github.com/libsdl-org/SDL/issues/12797

(cherry picked from commit 992e4c59bd)
(cherry picked from commit 33eb167da8)
2025-05-19 14:24:41 -07:00
Joe [ReRezd] 4318013777 Fix: GameCube controller adapter hotplug not working
SDL_PrivateJoystickAdded was called before setting the InstanceId in the adapters ctx->joysticks array.  This would eventually broadcast the SDL_EVENT_JOYSTICK_ADDED event with the new InstanceId, if your program listens for the added events and opens joysticks at that point it would always fail because there would be no matching InstanceId in the ctx->joysticks array.

(cherry picked from commit afd1e51023)
(cherry picked from commit 4b4f6b3e22)
2025-05-19 08:26:52 -07:00
Sam Lantinga 3364486f56 Define illegal_instruction() when it will be actually used
(cherry picked from commit 29d2116495)
(cherry picked from commit 2163887f29)
2025-05-08 13:10:28 -07:00
Sam Clegg dc69988fdf [emscripten] Remove reference to Module['createContext']
Backported from https://github.com/libsdl-org/SDL/pull/12970

(cherry picked from commit c0f78dee5e)
2025-05-06 14:46:53 -07:00
A. Wilcox 4ed1fc5bff cpuinfo: Use auxv for AltiVec on Linux if possible
The SIGILL handler is not very reliable and can cause crashes.

Linux provides the CPU's AltiVec support status in getauxval.

(cherry picked from commit 7490471796)
(cherry picked from commit 17e6208c1b)
2025-05-04 14:02:12 -07:00
Sam Lantinga a5fad8b0cb Updated to version 2.32.7 for development 2025-05-04 09:18:06 -07:00
Sam Lantinga 6510d6ccbf Updated to version 2.32.6 for release 2025-05-04 08:52:05 -07:00
Derek Schuff b0b50da4b6 Port #12581 to SDL2
This fixes undefined behavior resulting from adding offsets to nullptr.

(cherry picked from commit a220e7c422)
2025-05-01 21:36:53 -07:00
Sam Lantinga 8b7a088efc Call IOHIDDeviceClose() if needed in hid_close() on macOS
Unregistering the input report callback marks the device as disconnected, so IOHIDDeviceClose() would never be called if the device wasn't already disconnected  when hid_close() was called.

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

(cherry picked from commit 2442c85cb8)
2025-04-29 11:24:27 -07:00
Sam Lantinga 7fc5edab8e Revert "Don't leak device handle in macOS 10.10 or newer"
This reverts commit 5925c27efb.

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

(cherry picked from commit 5b951141d2)
2025-04-29 11:24:27 -07:00
Cameron Gutman 24ccde693e events: Fix undefined behavior when disabling some event types
Shifting a signed int left by 31 is UB.

(cherry picked from commit 15fd3fcdc2)
2025-04-29 00:32:43 -05:00
Sam Lantinga f46ef5d76d Fixed reliability of initializing Switch controllers on macOS
It looks like both macOS (15.1.1) and SDL are trying to talk to the controller at the same time, which can cause interleaved replies or even locking up the controller. Waiting a bit before talking to the controller seems to take care of this.

(cherry picked from commit 45b01d16b1)
2025-04-28 20:23:37 -07:00
Sam Lantinga 64ad33884d Updated to version 2.32.5 for development 2025-03-31 12:58:50 -07:00
Sam Lantinga 2359383fc1 Updated to version 2.32.4 for release 2025-03-31 09:12:51 -07:00
Sam Lantinga b2a95b2482 Default SDL_HINT_ACCELEROMETER_AS_JOYSTICK to 0 on Linux
The Linux joystick driver supports associating sensor devices with the related controller device, so enable that by default.

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

(cherry picked from commit 3e47181800)
2025-03-25 09:09:59 -07:00
Carl Åstholm 2708e08f40 emscripten: Don't use legacy JS library functions for assertions
(cherry picked from commit 54f5b73333)
(cherry picked from commit a8f0eb4c33)
2025-03-20 16:36:25 -07:00
Sam Lantinga 9b048e73a2 Fixed raw input device GUIDs changing randomly between runs
On Windows 11, apparently HidD_GetManufacturerString() and HidD_GetProductString() can return TRUE without actually filling in any string data.

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

(cherry picked from commit 4fc9509ab7)
(cherry picked from commit 52146cf067)
2025-03-17 13:57:58 -07:00
Sam Lantinga d3bb91522f Fixed crash if info->path is NULL
(cherry picked from commit 715301cef5)
(cherry picked from commit 46a51b4298)
2025-03-17 09:48:13 -07:00
Sam Lantinga f08a5cfcab Fixed sscanf("026", "%1x%1x%1x", &r, &g, &b)
Fixes https://github.com/libsdl-org/SDL/issues/12510

(cherry picked from commit be6ed6e9c4)
(cherry picked from commit 1caae3e9e4)
2025-03-10 15:45:43 -07:00
Neal Gompa 9e079fe9c7
pipewire: Ensure that the correct struct is used for enumeration APIs
PipeWire now requires the correct struct type is used, otherwise
it will fail to compile.

Reference: 188d920733

Fixes: https://github.com/libsdl-org/SDL/issues/12224
(cherry picked from commit d35bef64e9)
(cherry picked from commit 6be87ceb33)
2025-03-06 14:37:46 -05:00
Sam Lantinga 53c022c880 Updated to version 2.32.3 for development 2025-03-01 18:13:50 -08:00
Sam Lantinga e11183ea6c Updated to version 2.32.2 for release 2025-03-01 18:03:11 -08:00
Sam Lantinga 024c27645a Added support for the "%n" sscanf format specifier
(cherry picked from commit 6980325310)
(cherry picked from commit ab44451578)
2025-02-25 08:08:55 -08:00
Tomasz Pakuła 220895d4d2 [SDL2] Add SDL_HINT_JOYSTICK_HAPTIC_AXES
Allows users to overwrite the number of haptic axes defined for a given
joystick. Also supports a "wildcard" VID:PID of 0xFFFF/0xFFFF

(cherry picked from commit 0809be4ec5)
2025-02-25 08:08:55 -08:00
Petter Reinholdtsen 282f7a84fc Changed PULSEAUDIO_FlushRecording() to only flush audio present when called.
When the flushing is not able to keep up with the audio stream coming in,
it will end up flushing forever and block API clients from getting any audio.

Fixes #9706

(cherry picked from commit 24693ac285)
2025-02-25 08:08:55 -08:00
Paper 155f99a4e6 thread/windows: fix stack overflow in exception naming
(cherry picked from commit 1a853973ab)
(cherry picked from commit 6421f12d7f)
2025-02-20 08:20:58 -08:00
Ozkan Sezer 63bb1a8583 dynapi: use DosScanEnv() for os/2.
(cherry picked from commit ee49025f80)
2025-02-20 11:50:04 +03:00
Sam Lantinga 8b0c9e1dce Don't leak device handle in macOS 10.10 or newer
Merged upstream fix for macOS:
cdc473dfe4

In one of the early versions of macOS, when you try to close the device
with IOHIDDeviceClose() that is being physically disconnected.
Starting with some version of macOS, this crash bug was fixed,
and starting with macSO 10.15 the opposite effect took place:
in some environments crash happens if IOHIDDeviceClose() is _not_ called.

This patch is to keep a workaround for old versions of macOS,
and don't have a leak in new/tested environments.

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

(cherry picked from commit 5925c27efb)
2025-02-19 17:00:05 -08:00
Sam Clegg 7f74c1ed63 Fix SDL_emscriptenaudio.c under wasm64
Verified locally by running `browser64.test_sdl2_mixer_wav` in
emscripten.

(cherry picked from commit aa00738a21)
2025-02-19 17:00:05 -08:00
Sam Lantinga 7a44b1ab00 Updated to version 2.32.0 for release 2025-02-08 09:10:22 -08:00
Sam Lantinga 3e97d41da4 Updated to version 2.31.1 for RC build 2025-02-08 08:56:53 -08:00
ds-sloth dab0205174 Delete src/thread/n3ds/SDL_syscond.c 2025-02-06 18:12:31 -08:00
Ryan C. Gordon d2693d4c7d
dynapi: Don't use SDL_getenv; it might malloc before the app sets an allocator.
Use platform-specific code instead, so SDL's allocator never comes into play.
2025-02-06 12:40:13 -05:00
Sam Lantinga ed7e7edb70 Don't use the HIDAPI driver for Thrustmaster wheels
Closes https://github.com/libsdl-org/SDL/pull/12173

(cherry picked from commit 6782cfe2c5)
2025-02-05 17:21:48 -08:00
Sam Lantinga 482d964733 Don't filter out controllers when launched by Steam under Proton
Fixes https://github.com/libsdl-org/SDL/issues/11579
Fixes https://github.com/libsdl-org/SDL/issues/12106

(cherry picked from commit 3060105cfa)
2025-01-31 15:40:21 -08:00
Sam Lantinga da0cf3f634 Fixed detecting Steam Deck controller on Proton 9.04
Newer versions of Proton properly pass through the Steam virtual gamepad VID/PID, but older Proton (9.x and older) don't, so we have to rely on Steam and Proton hiding controllers we shouldn't have access to.

Fixes https://github.com/libsdl-org/SDL/issues/12106
2025-01-31 15:32:33 -08:00
Sam Lantinga 55a75875f0 Improved XInput controller detection
Sometimes we'll get a Windows.Gaming.Input callback before the raw input device is even in the list, so try some other methods to better detect XInput devices.
2025-01-31 08:45:20 -08:00
Deve 934d6954e2 Fixed crash when trying to disconnect secondary display on iOS 2025-01-29 14:45:49 -08:00
Sam Lantinga 0efe8892d6 Skip IsRegularFileOrPipe() check on Emscripten
The sandbox guarantees that this will be true.

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

(backported from from commit 1c7cc60286)
2025-01-28 10:47:10 +03:00
Tomasz Pakuła 5bf8955b25 Use proper polar direction when creating FF_RUMBLE effect
Uses proper polar direction of 90 degrees. Previous value probably came from mistakenly using spherical system default.
2025-01-20 16:52:11 -08:00
Tomasz Pakuła 529ed102fc Translate conditional effect direction instead of hardcoding it to 0
Provious code wrongly assumed that direction is not an important part
of conditional effect. Moreover, if there's need to hardcode polar
direction, the default should be 0x4000 (north).

For one axis affects, a direction of 0 means complete lack of force, if
a FFB-enabled device takes direction into force calculation. A sine function
graph can be used to represent the resulting forces where X is the input
direction and Y is the force multiplier (360 degrees equals to 1).

This fixes conditional effect playback on Moza Racing devices, which do
not ignore direction field.
2025-01-20 16:52:11 -08:00
Sam Lantinga 4b19f7e012 Added support for the 8BitDo Ultimate 2C Wireless in Bluetooth mode
Closes https://github.com/libsdl-org/SDL/pull/11415

(cherry picked from commit c7d1fd90ea)
2025-01-18 07:07:12 -08:00
ROllerozxa 878ea48b60 Vita: Fix off-by-one error for synthetic mouse events
(cherry picked from commit cdc5483cf9)
2025-01-16 11:59:25 -08:00
Ozkan Sezer ab8bd0ef86 fix emscripten builds 2025-01-16 18:50:00 +03:00