Commit Graph

1581 Commits

Author SHA1 Message Date
twinaphex 70b337782d Fix MSVC build 2021-10-15 00:11:52 +02:00
twinaphex d87e0c1744 * Fix implicit declaration
* Move more code to gfx/video_driver.c
2021-10-13 16:36:38 +02:00
twinaphex e47e9968ed Move audio_driver_menu_sample to audio_driver.c and turn
audio_driver_flush into static function
2021-10-13 16:29:41 +02:00
Autechre e7f182811a
Split up audio code into new file audio/audio_driver.c (#13097)
* Split up audio code into new file audio/audio_driver.c

* Fix build issues #1

* Small cleanup

* Fix typo
2021-10-11 18:01:37 +02:00
Autechre dcf77c4d1e
Merge pull request #12821 from markwkidd/config_h
standardize include paths for config.h
2021-09-10 16:59:15 +02:00
Autechre 9a5f4602cc
Add intrinsic NEON versions for float_to_s16/s16_to_float (#12933)
* Add intrinsic NEON versions for float_to_s16/s16_to_float courtesy
of davidgfnet

* Define -DDONT_WANT_ARM_OPTIMIZATIONS for resampler sinc - this should
default to intrinsic versions

* Default to ARM NEON intrinsic codepath and make the ASM codepaths
optional by defining HAVE_ARM_NEON_ASM_OPTIMIZATIONS

* (Pkg/apple/Android) Take out ASM files being compiled in
2021-09-04 00:25:21 +02:00
twinaphex b620325714 Rename HAVE_ARM_NEON_OPTIMIZATIOn to HAVE_ARM_NEON_ASM_OPTIMIZATIONS,
rename DONT_WANT_ARM_OPTIMIZATIONS to DONT_WANT_ARM_NEON_OPTIMIZATIONS
2021-08-21 18:00:59 +02:00
Mark W. Kidd 2b3dfeb10c standardize include path for config.h 2021-08-18 18:54:40 -04:00
twinaphex a736dd27d2 (platform_switch) arg_data/args don't seem used anywhere
(switch_thread_audio) Pass correct type to function
2021-08-12 18:22:09 +02:00
sonninnos c737947d74 (WASAPI) Stop deactivating audio on fast forward 2021-08-11 04:21:52 +03:00
twinaphex 406c8bee7b Silenc some warnings 2021-08-09 21:24:03 +02:00
p-sam 1bc588acbd Fix building with libnx 4.0.0 2021-06-28 17:38:17 +02:00
Tony 49bd8d2d27
(XAudio+DSound) Fail instead of crash (#12527) 2021-06-16 15:35:20 +02:00
twinaphex 35543ecd91 Move defines files over to libretro-common 2021-05-18 22:15:04 +02:00
jdgleaver 0a08437e0a Add OpenDingux Beta support 2021-03-25 16:19:42 +00:00
unknown ad059aed78 Add some PSL1GHT ifdefs 2021-03-01 15:57:01 +01:00
sonninnos 6c3c2bea5f Logging cleanups 2021-02-18 18:35:31 +02:00
twinaphex b70217b7fc (Mac) Add CoreAudio3 for Metal x64 and ARM64 builds on buildbot 2021-02-17 05:20:51 +01:00
twinaphex c01df07f3d Fix ARM NEON detection 2021-02-16 23:02:06 +01:00
twinaphex 22c3f35726 Buildfix 2021-02-08 09:38:12 +01:00
twinaphex da17588f0c CXX_BUILD build fixes 2021-02-08 09:35:57 +01:00
Francisco Javier Trujillo Mata 082fa22b05 Clean all the warnings in PS2 2021-01-30 15:47:52 +01:00
IAmBoring 88a1379053
XAudio2 threaded creation
COM initialization
2021-01-05 16:10:11 +00:00
Autechre 9ef98928d2
Revert "Windows: Fix multiple XAudio instances" 2021-01-03 06:48:24 +01:00
SimpleTease ef51cf4ee1 Windows: Fix multiple XAudio instances 2021-01-03 04:36:03 +00:00
twinaphex 51f0d04569 Update 2020-12-20 16:41:44 +01:00
twinaphex 870707dbe8 Remove obsolete __CELLOS_LV2__ references - use PSL1GHT instead 2020-12-19 15:32:26 +01:00
Oschowa 78bb0de6e9 (Audio/JACK) Deinterleave in the process callback
This allows us to avoid the extra copy to the deinterleave buffer and
lets us use only a single jack ringbuffer.
2020-12-04 00:18:23 +01:00
Oschowa 604eb32c35 (Audio/JACK) Fix non-blocking write
Previously we would wait on the condition variable even in the non-blocking case.
This improves fast-forward performance massively and brings JACK in line
with other backends in that regard.
2020-12-04 00:09:40 +01:00
Oschowa 8058735cdb (Audio/ALSA) Fill hw_params configuration space before trying to detect
float format.
Otherwire detection will always fail.
2020-11-06 23:09:42 +01:00
twinaphex 6c067d149d (Xaudio) Cleanups 2020-10-03 20:35:50 +02:00
twinaphex 783bcb7a61 Avoid printf/puts 2020-09-28 03:17:21 +02:00
twinaphex 8811c555fe (OSS) Buildfix 2020-09-20 23:33:13 +02:00
twinaphex e50d5af2db (OSS) Get rid of static globals 2020-09-20 23:30:19 +02:00
twinaphex f8a71e8ea4 (Rwebaudio) Get rid of static global variables, put it in struct 2020-09-20 23:09:18 +02:00
twinaphex 45c257e0dd (Rwebaudio) Cleanups 2020-09-20 23:05:09 +02:00
Autechre 33a04a794f
Merge pull request #11312 from justinweiss/3ds-enable-threading
[3DS] Enable threading and add a threaded audio driver
2020-09-10 06:50:12 +02:00
Autechre 2d3c63f545
Merge pull request #11248 from justinweiss/update-libctru
[3DS] Update to libctru 2.0
2020-09-10 06:49:54 +02:00
Justin Weiss f53c137459 [3DS] Enable threading 2020-08-27 19:36:39 -07:00
Justin Weiss 9ae2514009 [3DS] Update to libctru 2.0
Set USE_CTRULIB_2=1 to build with libctru 2.0. When unset, this code
is compatible with the older toolchain.

Some 2.0 changes addressed rare problems in earlier versions:

- Save / restore stack pointer for init / exit
  Otherwise, it could be outside of the range we deallocate.
- Run aptMainLoop in the audio driver to react correctly to sleep events

Other changes for 2.0:

- Remove ninjhax1 -- requires outdated APIs that have been removed
- Switch from __sync_arbiter to syncArbitrateAddress
- Use implicit gxCmdBuf
- Use gpuPresentBuffer for double buffering
2020-08-26 19:08:12 -07:00
twinaphex 13604b047f (Audio) reorder structs/alignment (don't touch Switch audio drivers
for now)
2020-08-26 15:24:33 +02:00
twinaphex 5166eebcaf for loop cleanups - use space after 'for' 2020-08-19 03:06:22 +02:00
twinaphex 21855dfb85 Reorder structs, alignment 2020-08-18 16:51:15 +02:00
twinaphex f48dc0ff5b Reorder structs, alignment 2020-08-15 20:38:31 +02:00
twinaphex 4c0d9bc68d Struct reordering/alignment 2020-08-14 21:19:32 +02:00
twinaphex f3b440bab9 Some struct reordering 2020-08-14 07:07:34 +02:00
twinaphex c522f97e0f Cleanups 2020-07-31 14:51:46 +02:00
twinaphex c19ea3e8ab Cleanup 2020-07-31 14:49:30 +02:00
twinaphex 1f1571425a (Switch) Cleanups 2020-07-31 14:47:14 +02:00
twinaphex 573f9e60c7 (libnx) Prevent some warnings 2020-07-31 10:54:57 +02:00
twinaphex a01380f847 (WiiU) Buildfixes 2020-07-23 18:01:15 +02:00
twinaphex 4f39c60bc0 (Switch) Silence some more warnings 2020-07-23 05:29:42 +02:00
Jamiras 96c5f5dfb0 add option to play custom sound on achievement unlock 2020-07-11 10:56:09 -06:00
twinaphex 0a1942f528 Turn fifo_read_avail and fifo_write_avail into macros 2020-07-07 08:13:32 +02:00
twinaphex 1ae20ea17c Style nits - turn macro names into upper-case - some while style nits 2020-06-26 20:00:19 +02:00
twinaphex e030986837 Replace fprintfs with RARCH_LOG/RARCH_ERR 2020-05-24 19:29:55 +02:00
twinaphex bcbad532e6 Rewrite fprintf into RARCH_ERR 2020-05-24 19:22:17 +02:00
twinaphex 4f2566ad50 (JACK) Query audio device from settings struct again 2020-05-21 04:21:00 +02:00
twinaphex 4a9e1e6c7e Revert "Backport"
This reverts commit 685db05032.
2020-05-11 03:49:27 +02:00
twinaphex 685db05032 Backport
66876fe858
- handles insertion/removal of audio devices for Xaudio2 - hopefully a
callback based approach can be done later
2020-05-11 03:29:01 +02:00
Mats A e3cbd2e62f add define to keep compat with previous libnx release 2020-04-11 18:07:59 +02:00
Mats A 6f5f600f47 rename U64_MAX to UINT64_MAX due to libnx changes 2020-04-07 13:23:06 +02:00
twinaphex d3bc82d2c3 Header cleanups 2020-03-05 14:12:20 +01:00
twinaphex 85c672a0f6 Settings pointer cleanups 2020-02-19 20:57:02 +01:00
twinaphex 7eb41e7057 (JACK) Get rid of configuration.h dependency 2020-02-12 17:13:47 +01:00
twinaphex 880391d0c5 (libnx) Try to silence warnings 2020-02-10 12:36:11 +01:00
Twinaphex eb58b8c0b5
Update opensl.c 2020-02-05 18:53:11 +01:00
twinaphex 74cd84399f Cleanups - Replace '== NULL' 2020-01-30 16:47:33 +01:00
twinaphex a034909ae9 Cleanups 2020-01-30 16:35:59 +01:00
Yoshi Sugawara 72a6e71e72 tvOS: fix preprocessor flag; update version in Info.plist 2020-01-18 20:01:41 -10:00
twinaphex c1137ee3fa CoreAudio - Put g_interrupted behind IOS ifdefs 2020-01-14 20:22:06 +01:00
twinaphex 6cfe0ea77c (Audio) Update 2020-01-14 20:20:54 +01:00
hizzlekizzle 9b2752ff07
Merge pull request #9896 from m4tsa/update-libnx
fix breaking changes from the 3.0.0 libnx release
2020-01-14 08:32:47 -06:00
twinaphex a986b71947 Remove separate audio / video null driver files 2020-01-06 15:22:21 +01:00
Mats A ef2ddf6912 fix breaking changes from the 3.0.0 libnx release 2020-01-06 13:12:00 +01:00
twinaphex fa2a748631 (DSound) Create dsound_set_wavefmt 2020-01-05 17:16:55 +01:00
twinaphex bdc866d6d5 (DSound/WASAPI) Cleanups 2020-01-05 17:08:50 +01:00
twinaphex 96395f7d39 (Xenon) Update sound driver 2020-01-04 13:47:50 +01:00
twinaphex 1d6f547e7f (Audio) Cleanups 2020-01-04 10:39:33 +01:00
twinaphex ee7051891b (Audio) Update audio drivers to make them more uniform 2020-01-04 10:32:03 +01:00
twinaphex 22b789cca6 (OpenSL) Move nonblock conditional outside of loop 2020-01-04 09:52:10 +01:00
twinaphex 40a6c978ce (DSound) Optimize codepaths
(CoreAudio) Only iOS uses g_interrupted flag, put it behind ifdefs
2020-01-04 09:46:27 +01:00
twinaphex 688629d108 (WASAPI) Get rid of one unnecessary function 2020-01-04 09:09:04 +01:00
twinaphex 65e8b28d02 (WASAPI) Optimize -
- turn blocking variable into nonblocking in line with other audio drivers
- blocking codepath would do numerous conditional checks on
w->buffer, w->exclusive, w->blocking during a loop iteration - get rid
of this
2020-01-04 08:58:27 +01:00
twinaphex fa00cdba20 (Audio) Update 2020-01-03 21:54:09 +01:00
twinaphex 6e6fbc5ad3 (Dsound) Split up dsound_write
(XAudio) Optimize xa_write_nonblock
2020-01-03 14:19:31 +01:00
twinaphex d567b0ca25 (WASAPI) Split up write function - set up the write callback dynamically
based on whether exclusive and blocking is set to true or not
2020-01-03 13:56:45 +01:00
twinaphex 41e32ea949 (XAudio) If xa->nonblock is true - point write callback to
specialized version of the function
2020-01-02 20:33:21 +01:00
twinaphex 4a05dafbb7 Should not use RARCH_LOG and friends on a thread 2019-08-20 16:15:30 +02:00
p-sam f04bf0e374 (Switch) no audio driver state change outside of thread 2019-08-15 14:51:01 +00:00
p-sam badda24c12 (Switch) audren based audio drivers (libnx only) 2019-08-02 17:01:36 +00:00
twinaphex de4f3dc6af (PS2 audio) Cleanups 2019-07-31 14:41:50 +02:00
twinaphex 8a4d3f7431 (XAudio 2.8) Audio device selection can now be set 2019-07-26 20:46:11 +02:00
twinaphex 1650a03b80 Cleanup 2019-07-26 20:41:11 +02:00
twinaphex 5fa4388a4c Cleanup mmdevice_common.c - use encoding/utf functions 2019-07-26 20:34:41 +02:00
twinaphex 6002c7e790 (Xaudio 2.7) Add missing macros for CXX_BUILD 2019-07-26 17:28:34 +02:00
twinaphex 19bdafc355 (DSound/Wasapi/XAudio2) CXX_BUILD fixes 2019-07-26 17:22:21 +02:00
twinaphex 86728ddbf2 (WASAPI) Cleanup for audio device selection 2019-07-26 17:19:49 +02:00
twinaphex b5d11db53b (XAudio2) Device index selection now works for old
pre-XAudio 2.8 codepath
2019-07-26 17:16:24 +02:00
twinaphex 6b73acee4e (UWP) Buildfix 2019-07-26 04:00:49 +02:00
twinaphex aa023729d0 (XAudio2) Start adding device list new/free 2019-07-26 03:39:46 +02:00
twinaphex ce37405d29 (DirectSound) Add audio device selection - can set audio_device
either by name or by index
2019-07-26 02:36:41 +02:00
twinaphex d48ad5261e (WASAPI) Prevent potential leak 2019-07-25 15:51:53 +02:00
twinaphex e88f2819ca (WASAPI) Audio device can now be set either by name or by
device index
2019-07-25 15:50:48 +02:00
twinaphex 9df36f33d8 Move mmdevice macros out of mmdevice_common.h 2019-07-25 14:57:45 +02:00
twinaphex 5047d6e709 Cleanups 2019-07-25 05:47:09 +02:00
twinaphex 95c5d22c5a Split up mmdevice enumeration string list to separate
file
2019-07-25 05:42:23 +02:00
twinaphex 89657914cd Update xaudio29.h 2019-07-25 05:18:39 +02:00
twinaphex 6c10a198e9 (WASAPI) Cleanups(WASAPI) Cleanups(WASAPI) Cleanups(WASAPI)
Cleanups(WASAPI) Cleanups(WASAPI) Cleanups(WASAPI) Cleanups(WASAPI)
Cleanups(WASAPI) Cleanups
2019-07-25 03:45:33 +02:00
twinaphex b8875af0d1 (WASAPI) Cleanup all the runtime checks 2019-07-25 03:03:37 +02:00
twinaphex 78915aedd1 (vita2d) Update header includes 2019-07-24 22:58:57 +02:00
twinaphex 6da7a0c19a Revert "(Xaudio2) Fix audio device index - since Windows 8, device index"
This reverts commit aeb10505c4.
2019-07-24 05:34:58 +02:00
twinaphex aeb10505c4 (Xaudio2) Fix audio device index - since Windows 8, device index
for CreateMasteringVoice is of type LPCWSTR instead of UINT32
2019-07-24 04:10:06 +02:00
twinaphex 16b65c6d61 (DirectSound) Simplify dsound_thread 2019-07-24 03:30:18 +02:00
twinaphex bb9aa275b8 (DirectSound) Fix regression 2019-07-23 23:04:24 +02:00
twinaphex f3eb48d1f5 Fix MSVC warnings 2019-07-22 20:16:27 +02:00
twinaphex 727d0a1683 (Xaudio2) Optimize xa_write 2019-07-21 15:49:59 +02:00
twinaphex c0fcf4ab17 (Dsound) Get rid of two inline functions 2019-07-21 13:31:33 +02:00
twinaphex 288523765a Fix LTGM errors - 'wrong type of arguments to formatting function' 2019-07-14 13:22:59 +02:00
jdgleaver dbe6429508 (rsound) C89 build fix 2019-07-05 09:51:12 +01:00
twinaphex 127bf556c7 Merge audio_driver.c into retroarch.c 2019-06-17 12:49:21 +02:00
twinaphex 8ff9e7254d (audio_driver.c) Cleanups 2019-05-29 14:26:14 +02:00
twinaphex 17a0bd0f22 (Tinyalsa) Rename these typedefs 2019-05-20 18:58:15 +02:00
twinaphex 137d72d076 (ALSA QSA) Struct needs to be renamed uniquely 2019-05-20 18:44:24 +02:00
twinaphex b94f1514aa alsa_device_list_new/alsa_device_list_free are renamed so
that there are no symbol clashes with the main alsa driver
2019-05-20 18:37:24 +02:00
nia c90d74f8d7 audioio: Improve the portability of the driver to illumos.
PLAY_ALL is deprecated in NetBSD-current due to a rework of the
audio system, prepare for this too.
2019-05-12 10:57:52 +01:00
twinaphex a6998d593a Update some logs 2019-04-28 05:48:09 +02:00
orbea ecd7f3c1fd Attempt to fix LGTM alerts for tinyalsa. 2019-04-27 07:40:32 -07:00
Huw Pascoe fed06044c4 silence warnings 2019-04-12 17:32:11 +01:00
twinaphex a5aa4d731b Use memset instead of bzero 2019-04-03 16:56:50 +02:00
twinaphex e0aa224575 (CoreAudio3) some cleanups 2019-04-03 14:48:18 +02:00
Twinaphex 637414c138 (CoreAudio3) Fix issues 2019-04-03 14:37:06 +02:00
Brad Parker 9279d06f93 Merge branch 'master' into send_debug 2019-03-07 19:23:41 -05:00
Brad Parker 10df615d14 add "Send Debug Info" option under Help 2019-03-07 19:17:54 -05:00
Francisco Javier Trujillo Mata 27ab4ac78b [PS2] Some audio improvements 2019-03-06 20:11:15 +01:00
twinaphex 829aedc6e2 (Video/Audio) Remove 'own driver' mechanism 2019-02-27 17:09:15 +01:00
Francisco Javier Trujillo Mata 7ec160f860 Remove the specific audio thread 2019-02-22 00:01:36 +01:00
Francisco Javier Trujillo Mata 6507b86973 Fix freeze audio after restart core 2019-02-20 23:45:30 +01:00
Hans-Kristian Arntzen b3e2df53d2 Avoid menu deadlocks in Pulse and ALSA. (#8265)
Buggy menu code most likely, but audio backends can be defensive about
it.
2019-02-12 09:31:09 -05:00
twinaphex a51acb8377 Buildfix 2019-02-12 04:03:10 +01:00
twinaphex 660d0c8de9 Remove mutexes - should hopefully fix dolphin/reicast threaded
again
2019-02-12 03:55:08 +01:00
twinaphex 386657a366 (menu widgets backport) Re-commit task queue changes 2019-02-08 08:00:32 +01:00
twinaphex 7022786f34 Revert parts of menu_widgets that were causing breakage, but leave
all the hooks in so we can add them back piece by piece again
2019-02-08 07:26:43 +01:00
natinusala c20ab3864d First version of menu widgets (gl only) 2019-02-06 20:48:24 +01:00
Twinaphex 7fedabee4b
Merge pull request #8163 from orbea/cleanup
Cleanup
2019-02-04 23:19:05 +01:00
twinaphex ebce936557 Fix UWP builds 2019-02-04 23:14:20 +01:00
orbea 28ff4b391a Clean up white space. 2019-02-03 16:00:50 -08:00
orbea 4c56167446 Convert to linux line endings. 2019-02-03 15:43:42 -08:00
twinaphex adc6d21601 Add PS3 ifdef 2019-02-02 21:03:23 +01:00
orbea 5d56080312 Use the posix poll.h instead of sys/poll.h. 2019-02-01 09:58:04 -08:00