Ryan C. Gordon
9f56c7cf02
audio: Remove 5.1->X SIMD converters, add SSE mono->stereo.
...
The 5.1 versions didn't use the new algorithm, and making that new
algorithm work took so many permutes that it was significantly slower
than just using the scalar versions.
However, mono-to-stereo is an extremely common conversion, and it's
trivial to accelerate it with plain SSE, so that was added!
2022-07-20 18:41:53 -04:00
Ryan C. Gordon
b83ae9f24c
audio: Replaced some debug-printfs with debug-SDL_Logs. :)
2022-07-20 18:41:53 -04:00
Ryan C. Gordon
f73d07da5f
audio: Headers said 5 channel is quad+center, but it's 4.1.
2022-07-20 18:41:53 -04:00
Ryan C. Gordon
49ec8db5f8
audio: Generate the channel converter code from a program.
2022-07-20 18:41:53 -04:00
Ryan C. Gordon
f06cc3e945
audio: "SL" means "surround left" not "side left", etc.
2022-07-20 18:41:53 -04:00
Ryan C. Gordon
5a0c819863
audio: Add channel convert filter _after_ choosing an SIMD version.
2022-07-20 18:41:53 -04:00
Ryan C. Gordon
fe16084075
audio: LOG_DEBUG_CONVERT should use SDL_Log, not fprintf(stderr).
2022-07-20 18:41:53 -04:00
Ryan C. Gordon
257277903e
audio: first attempt at rewriting the channel converters.
...
This is not ready for production use!
2022-07-20 18:41:53 -04:00
Sam Lantinga
be3a945a8b
Added support for the 8BitDo Ultimate Wired Controller for Xbox
2022-07-20 11:05:55 -07:00
Ozkan Sezer
b700a32630
audio, pipewire: fix signatures of pw_get_library_version and pw_init.
...
Reference issue: https://github.com/libsdl-org/SDL/issues/5938
2022-07-20 07:01:10 +03:00
Ozkan Sezer
6e210d3797
audio, pipewire: pipewire_version_xx globals out of dynamic loading
...
Fixes build with --disable-pipewire-shared
Reference issue: https://github.com/libsdl-org/SDL/issues/5938
2022-07-20 07:01:10 +03:00
David Gow
78bad66773
video: wayland: Resize the window before sending the SDL_RESIZE event
...
Currently, the SDL_WINDOWEVENT_RESIZED event is sent before the actual
window is resized (and various internal state, such as the desired
GL/Vulkan backbuffer size, are updated). This makes sense, as SDL will
discard a no-op resize, which would be the case if we had resized before
sending the event (indeed, there are existing hacks to prevent this).
However, this means that SDL_{GL,Vulkan}_GetDrawableSize() will still
use the old size in the SDL_WINDOWEVENT_RESIZED handler. In the case of
SDL_Renderer, this means the drawable size it uses will be wrong, and
the viewport will get "updated" to the old value.
This then results in bug #5899 .
2022-07-18 09:21:15 -07:00
Sam Lantinga
53e685168d
Fixed declaration-after-statement warning
2022-07-18 07:31:23 -07:00
Sam Lantinga
6ad7fdecce
Fixed infinite loop for values bigger than 0x40000000
...
Fixes https://github.com/libsdl-org/SDL/issues/5930
2022-07-18 07:26:29 -07:00
Sam Lantinga
986818143d
Fixed missing imports in SDLActivity (thanks @guusw!)
2022-07-18 07:20:58 -07:00
Sam Lantinga
2be9301410
Fixed comment (thanks @pionere!)
2022-07-18 07:18:56 -07:00
Sam Lantinga
cef1514b01
Fixed some Xcode warnings
2022-07-17 09:07:04 -07:00
Sam Lantinga
e3916993e2
Added SDL_utils.c to the Xcode project
2022-07-17 08:47:06 -07:00
Sam Lantinga
b299cb3d3c
Added a utility function to calculate the next power of 2 for a value
2022-07-17 08:31:16 -07:00
Ethan Lee
90b86b132a
audio: Handle non-power-of-two spec.samples when unsupported
...
Fixes #3685
2022-07-17 10:36:15 -04:00
Cameron Gutman
d21a18c65f
WhatsNew.txt: Add line for Shield HIDAPI driver
2022-07-17 01:06:16 -05:00
Ethan Lee
cdf9010a19
Added new audio features to WhatsNew.txt
2022-07-16 12:39:30 -04:00
Ethan Lee
a09d62e4d8
directsound: Remove redundant SubFormat copy
2022-07-15 23:45:56 -04:00
Ethan Lee
c5e408ae98
directsound: For channel counts > 2, generate a dwChannelMask for CreateSoundBuffer
2022-07-15 13:59:46 -04:00
Ethan Lee
fff34f6304
windows: SDL_IMMDevice needed more deinit code from the Win32 path.
...
Fixes #5919
2022-07-15 09:49:29 -04:00
Frank Praznik
37aecda2c1
pipewire: Use PW_KEY_TARGET_OBJECT to specify stream connection nodes
...
Pipewire 0.3.44 introduced PW_KEY_TARGET_OBJECT, which is to be used to specify target connection nodes for streams. This parameter takes either a node path (PW_KEY_NODE_NAME) or serial number (PW_KEY_OBJECT_SERIAL) to specify a target node. The former is used in this case since the path is already being retrieved and stored for other purposes.
The target_id parameter in pw_stream_connect() is now deprecated and should always be PW_ID_ANY when PW_KEY_TARGET_OBJECT is used.
2022-07-14 12:23:50 -04:00
Ozkan Sezer
2201d80255
avoid -Werror=declaration-after-statement after last commit.
2022-07-14 02:40:00 +03:00
freebsd
24b3efd08d
(OpenBSD) Exe Path: Use PWD instead of CWD and use CWD as fallback
2022-07-13 16:24:20 -07:00
Sam Lantinga
883409ea07
Added support for the misc1 button on the Nintendo Switch Pro Controller
...
when using hid_nintendo kernel driver
2022-07-13 11:26:42 -07:00
SuperSamus
9a4f200d44
gamecontrollerdb: Linux, add mappings for hid-nintendo driver and more
...
Taken from https://github.com/gabomdq/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt
2022-07-13 11:23:15 -07:00
Sam Lantinga
7e2a996958
Added a virtual joystick automated test
...
Useful to verify 4fa2653394
on a big-endian system
2022-07-13 08:58:15 -07:00
Sam Lantinga
06c7d22653
Added mappings for the HORI Fighting Stick mini 4 on Linux and macOS
2022-07-12 18:53:53 -07:00
Sam Lantinga
27d8cbf026
Added PowerA and Qanba vendors for Android USB device support
2022-07-12 18:18:00 -07:00
Sam Lantinga
e24b971a34
Added support for the NVIDIA Shield controller guide button
2022-07-12 17:53:03 -07:00
Sam Lantinga
c92ddddde6
Sort libraries by version and pick the shortest symlink (thanks @jpalus!)
...
Fixes https://github.com/libsdl-org/SDL_image/issues/289
2022-07-12 13:00:43 -07:00
Cameron Gutman
b321eae51a
joystick: Fix spurious battery empty events when opening a Shield controller
2022-07-11 19:43:25 -05:00
Cameron Gutman
a0d8848baa
joystick: Plumb SDL_JoystickSendEffect() for the Shield HIDAPI driver
...
The effect data format consists of one command byte followed by zero or more
payload bytes.
2022-07-11 19:38:26 -05:00
Sam Lantinga
deca77c166
Regenerated configure
2022-07-11 15:55:14 -07:00
Sam Lantinga
d5b8cf72f4
Revert "autotools: relax soname pattern for dynamic loading"
...
This reverts commit 8553632827
.
An issue with choosing the shortest one, is that it will prefer development libraries: libfoo.so is shorter then libfoo.so.0.6.
2022-07-11 15:54:15 -07:00
Frank Praznik
36d8460c9e
pipewire: Dynamically allocate the buffer for node strings
...
Calculate and allocate the buffer for the IO node name and path strings dynamically instead of using arbitrary sized static buffers.
2022-07-11 18:03:56 -04:00
Frank Praznik
996cea31ee
pipewire: Update default audio devices during runtime
...
Make the default device metadata node persist for the lifetime of the hotplug loop so the default source/sink devices will be updated if they change during runtime.
2022-07-11 18:03:56 -04:00
Frank Praznik
60da11f0e2
pipewire: Remove deprecated configuration key
...
With Pipewire now requiring a minimum version 0.3.24, the PW_KEY_CONTEXT_PROFILE_MODULES value is no longer required for legacy compatability and can be safely removed.
2022-07-11 18:03:56 -04:00
Ozkan Sezer
4fa2653394
SDL_GetJoystickGUIDInfo: byte-swap vendor, product and version values.
...
Reference issue: https://github.com/libsdl-org/SDL/issues/5907
2022-07-12 00:55:00 +03:00
Ozkan Sezer
b8f30c021b
SDL_endian.h: check for __powerpc__ and __PPC__ in big endian decision.
...
Also remove the _M_PPC check from there.
Reference issue: https://github.com/libsdl-org/SDL/issues/5907
2022-07-12 00:55:00 +03:00
SDL Wiki Bot
5d09b63155
Sync SDL wiki -> header
2022-07-11 17:35:11 +00:00
Ethan Lee
ecfbdce64b
pipewire: Require version 0.3.24 or newer at runtime
2022-07-11 13:34:35 -04:00
Ethan Lee
2f0816adb7
Add SDL_GetDefaultAudioInfo.
...
This API is supported on pipewire, pulseaudio, wasapi, and directsound.
Co-authored-by: Frank Praznik <frank.praznik@gmail.com>
2022-07-11 13:34:35 -04:00
Ethan Lee
15d0618083
SDL_IMMDevice: Fix a WASAPI-specific leak, clean up Add()
2022-07-11 12:54:34 -04:00
Ethan Lee
ae105ae1c7
windows: Move IMMDevice work to common file, implement DirectSound enumeration support
2022-07-11 12:54:34 -04:00
Sam Lantinga
2373da5d94
Exposed SDL_ResetKeyboard() as a public function
...
This will be used by Source 2 titles to reset keyboard state before showing assertion dialogs
2022-07-11 09:49:00 -07:00