Ryan C. Gordon
5066910bf5
audio: Make pregenerated resampler kaiser filter more precise.
2022-04-26 13:32:42 -04:00
Ryan C. Gordon
111c3add73
audio: Resampler optimizations.
...
- Calculate `j * RESAMPLER_SAMPLES_PER_ZERO_CROSSING` once per loop
iteration since we use it multiple times.
- Do the left-wing loop in two sections: while `srcframe < 0` and then
the remaining calculations when `srcframe >= 0`. This bubbles a conditional
out of every iteration of a tight loop, giving us a boost. We could
_probably_ do this to the right-wing loop too, but it's less straightforward
there.
- The real win: Use floats instead of doubles. This almost doubles the speed
of the entire function on Intel CPUs, and for embedded things without
hardware-level support for doubles, the speedup is enormous. This in
theory might reduce audio quality, though, and I had to put a check in
place to avoid a division-by-zero that we avoided at higher precision, but
this is likely to be worth keeping for at least the Sony PSP and other
smaller platforms, if not everyone.
2022-04-26 13:32:42 -04:00
Ryan C. Gordon
de019568dc
audio: Prebake the resampler's kaiser table instead of doing it at runtime.
2022-04-26 13:32:42 -04:00
Ryan C. Gordon
f6eb4b0759
pulseaudio: Feed audio data in response to write callbacks.
...
Instead of waiting until the entire buffer from the SDL callback is ready
to be accepted by PulseAudio, we use pa_stream_set_write_callback and
feed some portion of the buffer as callbacks come in asking for more.
This lets us remove the halving of the buffer size during device open,
and also (hopefully) solves several strange hangs that happen in unusual
circumstances.
Fixes #4387
Fixes #2262
2022-04-26 13:22:32 -04:00
Sam Lantinga
01ef98a5d0
Don't force keyboard auto-repeat on, if the user has disabled it for some reason
...
Fixes https://github.com/libsdl-org/SDL/issues/2400
2022-04-26 10:19:52 -07:00
FriendlyAI
795744fc75
Turn off relative mouse before window checks as well
2022-04-26 10:07:26 -07:00
FriendlyAI
e2d268a399
SDL_cocoamouse.m: SetRelativeMouseMode even if out of focus
...
Should fix #3087
2022-04-26 10:07:26 -07:00
Jibb Smart
d7c07d6b09
Read motion sensor scale from Switch controllers ( #5555 )
...
* Read IMU scale data from Switch controllers. Up until now, SDL has used hard-coded scaling which isn't correct with some supported controllers.
* Moved declarations to beginning of code blocks to better fit with SDL style requirements
2022-04-26 09:57:17 -07:00
Mirko Galimberti
76afb8583b
Introduces Cocoa_GetWindowDisplayIndex. This enable a proper management for dpi when switching between retina and non-retina displays.
2022-04-26 09:51:31 -07:00
Dimitriy Ryazantcev
c39df2fb0c
joystick: get HID top-level collection preparsed data directly from RawInput API.
2022-04-26 09:48:35 -07:00
Eddy Jansson
8c1584e8e8
WhatsNew: Start block for 2.0.24
2022-04-26 09:21:40 -07:00
Ozkan Sezer
e9ff4fdd49
add SDL_bsearch
2022-04-26 04:03:25 +03:00
Mathieu Eyraud
0b2a55ea7d
Fix typo
2022-04-25 15:46:17 -07:00
meyraud705
3dcfe86082
Add joystick battery event
2022-04-25 15:46:17 -07:00
meyraud705
0964c84d77
Always use SDL_PrivateJoystickBatteryLevel to update battery level
...
But do not use it for initialisation.
2022-04-25 15:46:17 -07:00
Sam Lantinga
fa29e2d7f7
Updated to version 2.0.23 for development
2022-04-25 13:45:51 -07:00
Ryan C. Gordon
53dea98309
x11: revert checks for _NET_WM_STATE_FULLSCREEN changes.
...
This reverts commit 85977354fb
.
This reverts commit 0249df9d96
.
Fixes #5572 .
Reopens #5390 .
2022-04-25 14:00:04 -04:00
Sam Lantinga
981e1e3c44
Fixed logical size synchronization issue on macOS
...
https://discourse.libsdl.org/t/sdl-2-0-22-prerelease/35306/6
2022-04-23 10:35:05 -07:00
Ozkan Sezer
7a5743031d
hidapi, libusb: import mainstream commit 536bad201e
2022-04-23 20:01:40 +03:00
Sam Lantinga
fa073ed01a
Revert "Fix relative mouse input for Unvanquished (unvanquished.net)"
...
This reverts commit 3318590796
.
Fixes https://github.com/libsdl-org/SDL/issues/5569
2022-04-22 22:31:04 -07:00
Sam Lantinga
8986efd643
Added support for the Backbone One controller on iOS
2022-04-22 14:21:46 -07:00
Sam Lantinga
2ca0837888
SDL: sometimes the PS5 controller doesn't report having to power even when connected over USB. Possibly related to being completely charged? Either way we already know that it's USB or BT so let's use the driver's knowledge instead.
2022-04-22 14:21:41 -07:00
Sam Lantinga
04bf7c9434
Fixed build
2022-04-22 09:36:39 -07:00
Sam Lantinga
d9b5805ba5
Return a correlation error when trigger rumble is attempted without correlation
2022-04-22 09:13:40 -07:00
Eddy Jansson
0288de8529
SDL_Rect: Add \sa documentation block to SDL_FRect
2022-04-22 12:09:13 -04:00
Sam Lantinga
ba62ead5ec
Handle potential out of memory condition when working with hints
2022-04-21 08:47:41 -07:00
Cameron Gutman
145824f6ab
WGI: Only call RoUninitialize() if RoInitialize() succeeded
2022-04-21 08:47:22 -07:00
Cameron Gutman
00b2e10a7a
WGI: Keep a reference to the MTA to avoid crashing on COM teardown
...
Fixes #5552
Fixes #5270
2022-04-21 08:47:22 -07:00
Cameron Gutman
8982d9f403
windows: Fix RoInitialize() failure after a CoInitializeEx() call using apartment threading
...
This mirrors the same codepath in WIN_CoInitialize() which handles STA and MTA.
2022-04-21 08:47:22 -07:00
Cameron Gutman
923cb4463e
windows: Fix calling convention for RoInitialize/RoUninitialize
...
Fixes #5563
2022-04-20 21:02:40 -05:00
Ryan C. Gordon
d4a01bfef0
os2: SDL_DestroyMutex should ignore NULL mutexes.
...
Every other backend does this, so this should match, now.
It's possible this was harmless, but we can avoid the system call
and the (likely?) debug message when it fails, though!
2022-04-20 14:08:09 -04:00
Eddy Jansson
a40405d724
hidapi: Wrap CopyHIDDeviceInfo in define checks.
...
The purpose of this is to silence a 'defined but not used'
warning.
2022-04-20 09:33:40 -07:00
Eddy Jansson
5bc2933425
test: Basic tests for SDL_FRectEquals
...
Based on the integer version. These tests mostly check that input
isn't mangled and that invalid input gives the expected negative
result.
2022-04-20 08:38:53 -07:00
Eddy Jansson
fc944859d1
SDL_Rect: Use a default epsilon in SDL_FRectEquals()
...
Add SDL_FRectEqualsEpsilon() for when more control over
equality test is required.
2022-04-20 08:38:53 -07:00
Eddy Jansson
00feca27b0
Add SDL_FLT_EPSILON.
2022-04-20 08:38:53 -07:00
Eddy Jansson
5d4a1f8356
WhatsNew.txt: Add SDL_FRectEqualsEpsilon()
2022-04-20 08:38:53 -07:00
Frank Praznik
aeadbdd788
Remove an unused function prototype
2022-04-20 09:39:34 -04:00
Frank Praznik
c8c59a2139
Fix a -Wshadow warning
2022-04-20 09:39:34 -04:00
Jaylon Gowie
d9009388c8
SceKernelMemBlockType to unsigned int
2022-04-19 14:17:27 -07:00
Jaylon Gowie
3753a7b1c3
Fix recent changes in VitaSDK
2022-04-19 14:17:27 -07:00
Sam Lantinga
02225aa738
Fixed build
2022-04-18 22:57:03 -07:00
Ryan C. Gordon
49a2e4b0ea
x11: Revert "Fix keymap updating for X11 backend"
...
This reverts commit de6d290266
.
This patch had multiple issues, discussed in #5520 .
2022-04-19 00:37:39 -04:00
Sam Lantinga
b9fe6ba0e7
Fixed compile warnings
2022-04-18 13:09:08 -07:00
Sam Lantinga
57927a2458
Don't call scandir() inside of scandir()
...
This works around a crash in address sanitizer
2022-04-18 12:57:28 -07:00
Sylvain
1ede941f5c
SDL_render.c: internally change viewport/cliprect type from SDL_FRect to SDL_DRect (double precision). (see bug #5547 )
2022-04-18 12:26:32 -07:00
Sam Lantinga
9919d1a7a5
Remove HWND_TOPMOST for fullscreen windows
...
Fixes https://github.com/libsdl-org/SDL/issues/5509
2022-04-18 11:51:54 -07:00
pionere
009a0ff95f
use explicit GetModuleFileNameW
2022-04-18 14:12:22 -04:00
pionere
de711e1685
simplify SDL_GetBasePath on windows
...
- use GetModuleFileName directly (as recommended)
2022-04-18 14:12:22 -04:00
Jan Beich
7c140429a8
Enable evdev-based gamecontrollerdb on FreeBSD
2022-04-18 09:57:49 -07:00
Sam Lantinga
e7b01ee745
Added controller mapping for the Thrustmaster Dual Analog 3.2 on Linux
2022-04-18 09:55:52 -07:00