Commit graph

6789 commits

Author SHA1 Message Date
Ryan C. Gordon 9403c9e95a
resampler: Work at double precision on x86-64 machines.
We get audio artifacts if we don't work at the higher precision, but
this is painful on CPUs that have to use a software fallback for this,
so for now (that is, until we have a better solution), get better output
on amd64 chips, where the cost is less painful.

(cherry picked from commit 1e5e8e2fda3796e76e6f7b1c39683925a3e9fed9)
2023-02-22 13:29:31 -05:00
Sam Lantinga 13969f8567 De-duplicate Google Stadia controllers on macOS
(cherry picked from commit 87a83787a3a0a9922b02b35ba809d9da86930fc8)
2023-02-21 15:35:25 -08:00
Sam Lantinga 9be85b846b Rumbling the Google Stadia Controller over Bluetooth works on Linux and macOS
(cherry picked from commit 4aeec9d8c2ad2fa0465999ecb4fd5c20734f1b27)
2023-02-21 15:07:24 -08:00
Sam Lantinga 35c9b1042f Fixed the packet size for Xbox One controllers
(cherry picked from commit 021a7cfa13c20d518ebfb6e96c3305150256983b)
2023-02-21 12:48:10 -08:00
Sam Lantinga 31a57c05dc Fixed the share button on the ThrustMaster eSwap PRO Controller Xbox
(cherry picked from commit e4face7c1d41698067b9afdd8c7f0a8f76774da2)
2023-02-21 12:43:20 -08:00
Sam Lantinga 3dff5d3cbe Added support for the Turtle Beach REACT-R and Recon Xbox controllers
(cherry picked from commit 5fded632d6fa532ac25e76ad9a676c9ea726dd02)
2023-02-21 11:29:45 -08:00
Sam Lantinga 4c9a79dddb Removed duplicated conditional
(cherry picked from commit 1a15d506a69d5d73a53728c569ef84a69db51833)
2023-02-20 18:26:07 -08:00
Sam Lantinga 7c4f5e1def Fixed rumble caps for the Nintendo Joy-Con controllers
(cherry picked from commit 02cea5fca107991774792c431efc96319ef2d060)
2023-02-20 18:25:57 -08:00
Sam Lantinga abe8dbbf1c Added support for the Razer Wolverine V2 controllers
(cherry picked from commit 4994654d4f2d5c96a0faa972ebbb6c653f939d56)
2023-02-20 18:25:38 -08:00
Sam Lantinga 0efb31ef32 cocoa/gles: do not unload EGL when context is destroyed
(cherry picked from commit e8091b89830c3b9bb19eff76463a6e2525f05fa5)
2023-02-20 10:43:15 -08:00
Marc-André Lureau eb22fbc894 windows/gles: do not unload EGL when context is destroyed
It's legitimate to have multiple contexts.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
(cherry picked from commit 93861e1de00a76080fa6ed756a6bd9c764b3ec07)
2023-02-20 10:42:18 -08:00
Marc-André Lureau 479bc2d5ed windows/gles: correct indentation
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
(cherry picked from commit 654965a6286ccb3ef861310d0cff578788641091)
2023-02-20 10:41:45 -08:00
Sam Lantinga 7b06007266 Fixed typo (thanks @Iniquitatis!)
(cherry picked from commit ced02319a6bd001c1c2ce85a48887efe3a7b79d8)
2023-02-19 09:58:07 -08:00
Lauri Kasanen 7d55ccb8b0 Fix GetGlobalMouseState when xi2 is not available at runtime
(cherry picked from commit 0123d6311d5c0059d617324426ef7eef8d577d9b)
2023-02-19 09:56:39 -08:00
Ozkan Sezer da6bce4f76 SDL_x11dyn.h: include XInput2.h also for Xfixes
Fixes https://github.com/libsdl-org/SDL/issues/7343
2023-02-11 23:51:28 +03:00
Le Philousophe 74e8a6451b Fix window size in X11 when window manager refuses to resize
(cherry picked from commit a67ae8eed57f4545c739e6eb3a4b8c1169d3afbc)
2023-02-18 12:33:18 -08:00
Sam Lantinga f741adc86c Added other names for the DragonRise Inc. Wired Wheel (thanks @felimwhiteley!)
(cherry picked from commit eede2066fbcc342e96592fbbbfe94b2420feb524)
2023-02-17 11:30:49 -08:00
Sam Lantinga e86f494317 Hold the joystick lock while opening the HID device on non-Android platforms
On Windows the main thread can be enumerating DirectInput devices while the Windows.Gaming.Input thread is calling back with a new controller available, and in this case HIDAPI_IsDevicePresent() returned false since the controller initialization hadn't completed yet, creating a duplicate controller.

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

(cherry picked from commit ece8a7bb8e2dae9cb53115980cea9ef1213a0160)
2023-02-16 09:53:33 -08:00
Sylvain d948e6c3c5
Fix potential de-referencing null pointer in SDL_EVDEV_kbd_keycode() 2023-02-16 08:23:22 +01:00
Sam Lantinga e7376b7b74 Fixed Steam Runtime sandbox detection
Fixes hotplug issues on Steam Deck for Proton and native games

(cherry picked from commit bcd97b36d23d08226e98a995eafd3d6aa35401b4)
2023-02-15 13:54:50 -08:00
Sam Lantinga 69b2baec5c Map the Android MENU button back to the SDL MENU key
Thanks to @AntTheAlchemist for the investigation!

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

(cherry picked from commit beb6a2afdc74a00f07ec230297c2675920a7bf79)
2023-02-14 18:04:30 -08:00
Sam Lantinga 2c6995778e Fixed handling simple mode PS4 reports
Fixes https://github.com/libsdl-org/SDL/issues/7270

(cherry picked from commit 5925cd4ef377a2211fd057ef6fa9f41141999cb7)
2023-02-14 17:53:37 -08:00
Sylvain 45e5f0f10b
Fixed bug #7302 - Memory 'leak' in SDL_SetMouseSystemScale() 2023-02-13 09:43:13 +01:00
Francisco Javier Trujillo Mata 2b66ef0df4 Fixed audio 2023-02-11 13:22:47 -08:00
Sam Lantinga 7285f0d441 Sorted controller list
(cherry picked from commit 68e2f230662a0b3f2ce7c0085f781f1652901af3)
2023-02-10 17:18:32 -08:00
Alfredo Escobar ca3468cb55 Add Hori Pokken Tournament DX Pro Pad
(cherry picked from commit 76552e4780a57f24ec1cd77fb942b7cabe1219d8)
2023-02-10 17:17:00 -08:00
Bruce Mitchener 7d2012af87 emscripten: Update deprecated calls to EM_ASM*.
`EM_ASM_` and `EM_ASM_INT_V` are calls that have been deprecated
for a long time.

Since the return value isn't used for the call to `EM_ASM_`, it
can be replaced with `EM_ASM`.

`EM_ASM_INT_V` is now (for the last few years) `EM_ASM_INT`.

(cherry picked from commit a8e89f2567b9069c919f9b21996e0a46cd4bb679)
2023-02-10 07:11:31 -08:00
Sylvain 17515f4aef Backport simplify flags PR #7220 2023-02-09 17:19:46 -08:00
Sam Lantinga f71178a16f Fixed MFI controller being opened while HIDAPI controller was being opened
This was the callstack:
    frame #3: 0x00000001004e1930 libSDL3.1.0.0.dylib`IOS_AddJoystickDevice(controller=0x0000600003b0c000, accelerometer=SDL_FALSE) at SDL_mfijoystick.m:528:14
    frame #4: 0x00000001004e1a54 libSDL3.1.0.0.dylib`__IOS_JoystickInit_block_invoke(.block_descriptor=0x0000000100547760, note=@"GCControllerDidConnectNotification") at SDL_mfijoystick.m:673:45
    frame #5: 0x000000018601e578 CoreFoundation`__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 128
    frame #6: 0x00000001860bc074 CoreFoundation`___CFXRegistrationPost_block_invoke + 88
    frame #7: 0x00000001860bbfbc CoreFoundation`_CFXRegistrationPost + 440
    frame #8: 0x0000000185fefbac CoreFoundation`_CFXNotificationPost + 708
    frame #9: 0x0000000186edc72c Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 88
    frame #10: 0x000000019b054a18 GameController`__60-[_GCControllerManagerAppClient _onqueue_publishController:]_block_invoke + 156
    frame #11: 0x0000000185dc19dc libdispatch.dylib`_dispatch_call_block_and_release + 32
    frame #12: 0x0000000185dc3504 libdispatch.dylib`_dispatch_client_callout + 20
    frame #13: 0x0000000185dd1d1c libdispatch.dylib`_dispatch_main_queue_drain + 928
    frame #14: 0x0000000185dd196c libdispatch.dylib`_dispatch_main_queue_callback_4CF + 44
    frame #15: 0x000000018606ad6c CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
    frame #16: 0x00000001860287ec CoreFoundation`__CFRunLoopRun + 2036
    frame #17: 0x00000001860278a4 CoreFoundation`CFRunLoopRunSpecific + 612
    frame #18: 0x00000001003b1194 libSDL3.1.0.0.dylib`process_pending_events at hid.c:509:9
    frame #19: 0x00000001003aebe8 libSDL3.1.0.0.dylib`PLATFORM_hid_open_path(path="USB_054c_05c4_0x11a104290", bExclusive=0) at hid.c:823:2
    frame #20: 0x00000001003b051c libSDL3.1.0.0.dylib`SDL_hid_open_path_REAL(path="USB_054c_05c4_0x11a104290", bExclusive=0) at SDL_hidapi.c:1419:19
    frame #21: 0x00000001004dabdc libSDL3.1.0.0.dylib`HIDAPI_SetupDeviceDriver(device=0x0000600003518000, removed=0x000000016fdfee3c) at SDL_hidapijoystick.c:399:19
    frame #22: 0x00000001004da890 libSDL3.1.0.0.dylib`HIDAPI_AddDevice(info=0x000060000212c2d0, num_children=0, children=0x0000000000000000) at SDL_hidapijoystick.c:843:5
    frame #23: 0x00000001004d9148 libSDL3.1.0.0.dylib`HIDAPI_UpdateDeviceList at SDL_hidapijoystick.c:1000:21
    frame #24: 0x00000001004d9940 libSDL3.1.0.0.dylib`HIDAPI_JoystickDetect at SDL_hidapijoystick.c:1205:13
    frame #25: 0x00000001003bc6d8 libSDL3.1.0.0.dylib`SDL_UpdateJoysticks_REAL at SDL_joystick.c:1703:9
    frame #26: 0x00000001003a13a8 libSDL3.1.0.0.dylib`SDL_PumpEventsInternal(push_sentinel=SDL_FALSE) at SDL_events.c:855:9
    frame #27: 0x00000001003a1340 libSDL3.1.0.0.dylib`SDL_PumpEvents_REAL at SDL_events.c:879:5
    frame #28: 0x000000010038b380 libSDL3.1.0.0.dylib`SDL_PumpEvents at SDL_dynapi_procs.h:572:1
    frame #29: 0x0000000100004524 testgamepad`loop + 40
    frame #30: 0x00000001000063d8 testgamepad`main + 2140

(cherry picked from commit a9650d440a862b86dc5722a402b06bf2bbbec527)
2023-02-09 12:07:42 -08:00
Sam Lantinga d77eb8a8d5 Make sure we synchronously re-enable USB reporting mode for Switch controllers (thanks @SortaCore!)
Fixes https://github.com/libsdl-org/SDL/issues/3450

(cherry picked from commit b7c6fec10a152e47f8fa18350134188b75e9df0b)
2023-02-08 14:31:05 -08:00
Sam Lantinga 3fb9118cb6 Note the Google Stadia controller doesn't support rumble over Bluetooth
(cherry picked from commit 50575ed2233b9924198e10c9a261c10323d9089e)
2023-02-08 14:31:05 -08:00
Sam Lantinga 71fb4e3d76 Fixed mis-detecting the share button on the Xbox controller over NDIS
(cherry picked from commit 00e02de77b615d5faf94af709760fd0f2e749a39)
2023-02-08 14:31:05 -08:00
Sam Lantinga 2518e32de8 Dynamically update the serial number if it isn't available at first
This happens for Xbox One controllers using newer firmware connected over NDIS

(cherry picked from commit d1c72bb0bc54fba41ba89930a3ed98f8767be724)
2023-02-08 14:31:01 -08:00
Sam Lantinga e8938fc66a Enable paddles on the Xbox Elite controller when connected over USB
(cherry picked from commit c4db0725e4cf5eb6ec5239e6f03346958e88b9cf)
2023-02-08 14:27:05 -08:00
Ozkan Sezer fde6323662 fix build after the Logitech ChillStream patch. 2023-02-07 01:11:02 +03:00
Sam Lantinga 7154605982 Added support for the Logitech ChillStream
(cherry picked from commit 6f7edaf8920c504ebd3e797bd04ec1d2e46c4aa9)
2023-02-06 13:28:44 -08:00
Ozkan Sezer 7bf3e28dc6 windows/SDL_systhread.c: remove some dead code. 2023-02-07 00:21:40 +03:00
Sam Lantinga 3fa5a2f794 Fixed warning running a command queue without any vertex operations
(cherry picked from commit f8b41919dac0fb95553f910d02faafc6d7205692)
2023-02-06 11:25:35 -08:00
Sean Ridenour af5efadd9f Setting the same mouse cursor twice is a no-op
This fixes extremely poor event polling performance on MacOS when using
Dear ImGui, which sets the mouse cursor every frame.
2023-02-05 14:14:54 -05:00
Sam Lantinga 5b5a72e33c Sorted controller list
(cherry picked from commit 1c03ddefc320ec9969d5f81c2c3cb988d94a8b4c)
2023-02-05 08:44:46 -08:00
Antonis Geralis 58fa43e7c3 Added Elecom 8button gamepad
(cherry picked from commit 52cd9fcbb074771804f443e7a9b2e9436485fe83)
2023-02-05 08:44:46 -08:00
Leonardo Brondani Schenkel 4266cf8504 Add Linux mapping for 8BitDo Pro 2 Wired Controller for Xbox
Without these mappings, this controller "kinda" works out of the box:
- `SDL_GameControllerMapping()` works because it will notice "Xbox" in
  the name and use the default XInput mappings
- `SDL_GameControllerMappingForGUID()` will not find any mapping

lsusb:
```
ID 2dc8:2000 8BitDo 8BitDo Pro 2 Wired Controller for Xbox
```

In Linux this controller is supported by two drivers:
- `xpad` (built-in to the kernel), exposes the controller name from the
  USB descriptor and the GUID starts with 03 (0x03 = BUS_USB)
- `xone` (https://github.com/medusalix/xone), exposes a virtual
  controller which is always named "Microsoft X-Box One pad" and the
  GUID starts with 06 (0x06 = BUS_VIRTUAL)

This commit adds the 2 GUIDs from both drivers so mappings will always
be found and the real controller name will always be reported.
2023-02-05 08:44:37 -08:00
Alynne 92779a5bd8 Adds Stadia BT mapping
(cherry picked from commit 4dea13e02fbfd2ac9eeb0a5cbb35cf5d1d53f549)
2023-02-03 15:02:47 -08:00
Ozkan Sezer 06b305d232 dynapi: cast GetProcAddress() result to void* 2023-02-03 17:40:40 +03:00
Sam Lantinga c4a493de97 Don't accept official mappings for controllers that aren't unique
For example, the DragonRise Inc. Generic USB Joystick
See https://github.com/gabomdq/SDL_GameControllerDB/issues/202 for details

(cherry picked from commit 673bc5764942e3f645f1ff7d64f3d6a2059e3cdb)
2023-02-02 08:41:57 -08:00
Sam Lantinga 4a87abc966 Fixed sort_controllers.py and resorted game controller database
(cherry picked from commit 917607c335a87edcb3870b8504247609bea3c04d)
2023-02-02 08:41:36 -08:00
Sam Lantinga 2290d71338 Added gamepad mappings for the Xin-Mo Dual Arcade Fightstick
(cherry picked from commit d29e1f363239b45aedf5f81683fbb6cf52029bc2)
2023-02-01 23:07:47 -08:00
Sasha Szpakowski 17ecb11ed6 macOS: fix initial Metal drawable size in certain multi-display setups
(cherry picked from commit baca26d72701655157c2a1ab678c2d5af0830d53)
2023-02-01 22:42:12 -08:00
Ryan C. Gordon 7ac43cfb6b
Note that version.rc is public domain.
This avoids potential concerns that customizing would qualify a build
of SDL as an "altered source version" under the zlib license.
2023-01-29 11:46:22 -05:00
Matt Durgavich dfc56cfc0e Fix For issue #6948 (#6991)
MessageBoxes attached to a window in macOS should use modal APIs and not
use a poll/sleep pattern on the main thread. Sleeping the main thread
makes the NSWindow message loop sluggish and interferes with external
applications that need to send messages to that window, such as
VoiceOver.
2023-01-28 15:49:51 -08:00
Anonymous Maarten 33ec2a5e94 vita: fix reformatting error in SDL_vtagl_pvr.c 2023-01-25 00:22:50 +01:00
ds-sloth 038ccd764a Support MIN/MAX blend on opengles2 2023-01-23 06:09:58 -08:00
ds-sloth 9670f233cc Support MIN/MAX blend on OpenGL + ES 2023-01-22 13:48:13 -08:00
Frank Praznik ea179abdb7 wayland: Enforce or override libdecor minimum window size
libdecor plugins can change the min/max window size values internally to enforce a minimum window size, and errors and crashes can result if the window size is below the internal limit.

On versions of libdecor >= 0.1.1, the minimum width and height can be queried and the minimum required window size will be enforced. The application requested window size is still respected, however, the actual window may be slightly larger than the drawable area to accommodate the required libdecor minimum size.

On version 0.1.0 of libdecor, which lacks the function to retrieve the minimum size, the internal limits are overridden before committing a frame, so that the internal limits always match the window size as a workaround, even if the window is technically smaller than the plugin would normally allow.

(cherry picked from commit 423a82cd4b65cf72668551093bfdf58d49bce9ce)
2023-01-22 08:20:34 -08:00
raphasamp eabd88ed28 Update SDL_vitagles_pvr.c
This was broken unintentionally during #6545.(cherry picked from commit 9211c0b639ad32865efa4980d07fc24f3f4a1577)
2023-01-22 17:32:50 +03:00
PARTY MAN X a44b646105 Blacklist Konami Amusement Controllers From HIDAPI.
Fixes issue #7118 by adding all Konami Amusement controllers to the
blacklist.  Additionally, the blacklist is changed to exclude a whole
vendor when the PID 0x0000 is used.
2023-01-21 22:03:57 -08:00
Guldoman 7b8f0ba8b7 wayland: Set APPLICATION scancode name to Menu
This mimics the behavior of the other platforms.

(cherry picked from commit 6c06f5ce93c55fe0f5779d5aeb68bec1bd935455)
2023-01-19 15:06:18 -08:00
Fabian Greffrath 8efa1f8fc6 add support for libsamplerate's "linear" resampling mode
Fixes #6998
2023-01-16 16:31:34 -05:00
Sylvain 5d1e6b28d9
SDL_test_harness: fix memory leak when generated seed 2023-01-16 10:43:28 +01:00
Sylvain c638b4a682
SDL_CreateAudioStream: check for invalid parameters 2023-01-16 09:26:05 +01:00
Francisco Javier Trujillo Mata 381312a02a Use filesystem drivers 2023-01-13 09:58:33 -08:00
Frank Praznik f836b465aa Revert "wayland: Don't try to restore non-resizable windows"
This reverts commit e35c3872dc6a8f7741baba8b786b202cef7503ac.

(cherry picked from commit 180afcdf3998e5175b744d3f2d87147802809450)
2023-01-12 18:00:11 -08:00
Frank Praznik a47a045128 wayland: Don't try to restore non-resizable windows
Libdecor can crash if attempting to un-maximize a window that was not set as resizable.

(cherry picked from commit e35c3872dc6a8f7741baba8b786b202cef7503ac)
2023-01-12 13:35:33 -08:00
Frank Praznik e8ae155585 wayland: Perform a round trip when maximizing and restoring windows
Perform a round trip when maximizing and restoring windows so the changes have already taken effect when the associated functions return.

(cherry picked from commit 50f2eb7d41fbba7c82630e55ead4ecf9c32f4c69)
2023-01-12 13:35:20 -08:00
happyharryh 2cb422360c Fixed the hat_map to avoid segmentation fault
(cherry picked from commit 57e78f4cf53b0fc84900a047120263c3c71e721c)
2023-01-12 06:56:59 -08:00
Narr the Reg fa934dd4df hidapi: switch: Add user calibration support
(cherry picked from commit 9fa55d9cabc93532cd5cf44105ec589a4db1d097)
2023-01-12 06:38:37 -08:00
Ozkan Sezer 6a52017724 SDL_dynapi.c: add extern "C" guards, just in case.. 2023-01-12 14:01:02 +03:00
Francisco Javier Trujillo Mata 32fd45cf48 Using UV instead of STQ 2023-01-11 15:12:14 -08:00
Francisco Javier Trujillo Mata c5a09ca7a9 Remove dummy flag 2023-01-11 15:12:14 -08:00
Sam Lantinga 0479df53ca Updated copyright for 2023 2023-01-09 09:48:21 -08:00
Sam Lantinga ebc2fb411f Fixed infinite loop shutting down WGI controllers
We are guaranteed that the lock will be held during shutdown, so if we are in InvokeRemoved(), it's because we're shutting down controllers and need to remove them from our internal list.

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

(cherry picked from commit ac99db9fc8d528a79abb98a5641e0fd94aa20a9e)
2023-01-08 09:35:55 -08:00
Guldoman ad0d1e2ad5 wayland: Fallback to default cursor if chosen one wasn't found
(cherry picked from commit 5a4283134542d4bdb3d968a836387a750ce80517)
2023-01-06 14:55:06 -08:00
Sylvain 7bf4319eb2
fix computation of alpha in BlitRGBtoRGBPixelAlphaMMX3DNOW (see #6990)
( same as BlitRGBtoRGBPixelAlphaMMX )
2023-01-06 21:24:24 +01:00
Sylvain 0ebda87425 Fixed bug #6990: fix computation of alpha in BlitRGBtoRGBPixelAlphaMMX 2023-01-06 08:50:33 -08:00
Sam Lantinga 988866ca4a Fixed line wrapping for HID packet dump
(cherry picked from commit e85839cd5694a79f69ac16f48a5d845cdc62f809)
2023-01-03 15:14:00 -08:00
Sam Lantinga 2cb7a0a0bb Added support for the ThrustMaster eSwap PRO Controller Xbox
(cherry picked from commit dacdb1c310d97ca3c3e6492cae0611f86b281b34)
2023-01-03 15:13:50 -08:00
Sylvain 0a9f61fbf1
Wayland / Drag and Drop: find the current window 2023-01-03 19:07:28 +01:00
Ozkan Sezer c7f22f0324 render/SDL_yuv_sw.c: fix build after commit d234f7a 2023-01-02 20:51:56 +03:00
Sylvain Becker d234f7a498
SDL2: backport SDL_CalculateYUVSize() that checks for YUV size overflow (#6972) 2023-01-02 09:09:57 -08:00
Ozkan Sezer 5b904a103a windows: more HANDLE -> HMODULE changes. 2022-12-31 08:00:20 +03:00
Ozkan Sezer 0a8f9777a7 SDL_dynapi.c: LoadLibraryA() returns HMODULE. 2022-12-30 11:11:10 +03:00
Sam Lantinga 74229d4a41 Fixed keyboard scancode mapping for parenthesis
(thanks to @meyraud705 for tracking down the root cause!)

Fixes https://github.com/libsdl-org/SDL/issues/6787
Closes https://github.com/libsdl-org/SDL/pull/6937

(cherry picked from commit e1bd5bd071d066e7009261f96c896423f6fd8fd0)
2022-12-29 14:55:46 -08:00
Sam Lantinga 29a4c5ebc2 Fixed getting the VID/PID of a virtual joystick
(cherry picked from commit e40a96155fc488feaeeeb79f947eb43399faa481)
2022-12-28 12:52:17 -08:00
Sam Lantinga 903df79b2d Make sure we match the same way when adding a mapping and looking up a mapping
Fixes https://github.com/libsdl-org/SDL/issues/6898

(cherry picked from commit 3db9112ef4cbb936b11f941f8a98c1704e37e140)
2022-12-27 12:21:13 -08:00
Sam Lantinga 3dbc6a40ae render: only enable clipping when the rectangle is valid
Fixes https://github.com/libsdl-org/SDL/issues/6896

(cherry picked from commit 00f05dcf49602889733262fc810386592ff51736)
2022-12-26 10:25:23 -08:00
João Henrique af54c82138 kmsdrm: Fix wrong check on KMSDRM_CreateWindow.
A previous cleanup commit inverted a statement that checked the return value of
a KMSDRM_CreateSurfaces call during KMSDRM_CreateWindow, which causes the video
backend to always fail despite success.

This commit restores the intended behavior.

Fixes: 3c501b963dd8 ("Clang-Tidy fixes (#6725)").
(cherry picked from commit 0187209f461b84d22fc49a03369506e06448f47f)
2022-12-23 09:29:49 -08:00
Rudolf-Walter Kiss-Szakacs 232ed540db Add SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS. 2022-12-22 08:59:56 -08:00
Caleb Cornett c542aef600 Fix GDK OpenGL build error 2022-12-20 23:22:55 -05:00
Caleb Cornett abffa1194a Fix dynapi signature for SDL_GDKSuspendComplete 2022-12-20 23:17:50 -05:00
Caleb Cornett 3b3c141ff9 gdk: Add support for building with OpenGL on Xbox 2022-12-19 17:57:17 -05:00
Sam Lantinga 6969b3be3b Don't send Razer devices the Sony third-party query feature report
Some of them lock up or reset, and the vast majority of devices are not actually game controllers.

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

(cherry picked from commit 83b29f9ce1fe6caa06769544c3b5f6c10ea97a0f)
2022-12-19 09:16:59 -08:00
Maido 311b02f0b5
Android active driver check (#6850)
Check if a driver is active before attempting to handle the devices.
Otherwise an assertion will fail.
2022-12-19 16:02:42 +01:00
Sylvain Becker 36c87d9f27
Android JAVA DetectDevices: 'is_capture' is inverted (#6845)
* Android JAVA DetectDevices: 'is_capture' is inversed
* Android Audio: adding audio device. also inverted capture, from jni side
2022-12-18 16:56:43 +01:00
Sylvain Becker 4e3fc0c1dc
Android: make Detect devices common between aaudio and android driver. (#6828)
remove VLA, dynamic alloc, check max length get using GetIntArrayRegion
2022-12-18 12:08:24 +01:00
Sam Lantinga 187708e542 Fixed compiler warning
```
 ./src/thread/pthread/SDL_syssem.c:140:12: warning: variable 'retval' is used uninitialized whenever 'while' loop exits because its condition is false [-Wsometimes-uninitialized]
    while (sem_trywait(&sem->sem) != 0) {
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/thread/pthread/SDL_syssem.c:149:12: note: uninitialized use occurs here
    return retval;
           ^~~~~~
./src/thread/pthread/SDL_syssem.c:140:12: note: remove the condition if it is always true
    while (sem_trywait(&sem->sem) != 0) {
```

This was a legitimate bug, thank you clang!

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

(cherry picked from commit b678a9802435152324e0603055e4bb190d0ae526)
2022-12-17 06:59:19 -08:00
Sam Lantinga 3b0cd44158 Fixed compiler warning
```
 ./src/joystick/SDL_joystick.c:105:12: warning: no previous extern declaration for non-static variable 'SDL_joystick_lock' [-Wmissing-variable-declarations]
SDL_mutex *SDL_joystick_lock = NULL; /* This needs to support recursive locks */
           ^
./src/joystick/SDL_joystick.c:105:1: note: declare 'static' if the variable is not intended to be used outside of this translation unit
SDL_mutex *SDL_joystick_lock = NULL; /* This needs to support recursive locks */
^
```
1 warning generated.
2022-12-17 06:51:02 -08:00
Maido 741499dea7
Android audio device selection (#6824)
Make it possible to select a specific audio device for Android
2022-12-16 16:38:57 +01:00
Sam Lantinga a53382e460 Sorted PS4 controllers, note that the NACON Wireless Controller for PS4 actually reports as an XInput device 2022-12-15 18:00:51 -08:00
Sam Lantinga e99b9ca9c0 Note that the NACON Daija Arcade Stick is an arcade stick 2022-12-15 17:58:29 -08:00
Sam Lantinga 7a9966af9d Fixed crash in SDL_PrivateGameControllerRefreshMapping() 2022-12-14 14:24:58 -08:00