Ben
4f23d5d69e
Merge pull request #4490 from wwylele/teakra-new
...
audio: implement DSP LLE
2019-01-11 16:45:00 +01:00
Weiyi Wang
443f4b964d
DSP/LLE: add multithread mode
2018-12-21 20:49:24 -05:00
Weiyi Wang
969dc3b46f
Update teakra and address more comments
2018-12-21 20:49:23 -05:00
Weiyi Wang
05c372bf6c
Update teakra to fix macos issue; address comment feedbacks
2018-12-21 20:49:23 -05:00
Weiyi Wang
67213ca855
audio_core/lle: link ahbm and audio callback
2018-12-21 20:49:22 -05:00
Weiyi Wang
483680a124
audio_core/lle: only process pipe signal after loading
2018-12-21 20:49:22 -05:00
Weiyi Wang
6f6ffceec4
audio_core/hle,lle: implement UnloadComponent
2018-12-21 20:49:21 -05:00
Weiyi Wang
9b41e6f85f
audio_core/lle: implement LoadComponent
2018-12-21 20:49:21 -05:00
Weiyi Wang
4add509b20
audio_core/hle: move implementation of LoadComponent
2018-12-21 20:49:21 -05:00
Weiyi Wang
9ab4e3c686
audio_core/lle: implement GetDspMemory and SetServiceToInterrupt
2018-12-21 20:49:21 -05:00
Weiyi Wang
5c13eca700
audio_core/lle: implement PipeRead/GetPipeReadableSize
2018-12-21 20:49:20 -05:00
Weiyi Wang
e40efbf37b
audio_core/lle: implement PipeWrite
2018-12-21 20:49:20 -05:00
Weiyi Wang
c9736b3300
audio_core/hle,lle: implement SetSemaphore
2018-12-21 20:49:20 -05:00
Weiyi Wang
4671ccf416
audio_core/lle: implement RecvDataIsReady
2018-12-21 20:49:19 -05:00
Weiyi Wang
14eb3561de
audio_core/hle: move implementation of RecvDataIsReady
2018-12-21 20:49:19 -05:00
Weiyi Wang
b609753fb6
audio_core/lle: implement RecvData
2018-12-21 20:49:19 -05:00
Weiyi Wang
7f568a3c19
DSP/HLE: move implementation of RecvData to audio_core, behind common interface
2018-12-21 20:49:19 -05:00
Weiyi Wang
6d51d95d44
audio_core: add teakra and lle interface
2018-12-21 20:49:18 -05:00
Lioncash
90082268dc
audio_core: Make g_sink_details internally linked
...
We can hide the direct array from external view and instead provide
functions to retrieve the necessary info. This has the benefit of
completely hiding the makeup of the SinkDetails structure from the rest
of the code.
Given that this makes the array hidden, we can also make the array
constexpr by altering the members slightly. This gets rid of several
static constructor calls related to std::vector and std::function.
Now we don't have heap allocations here that need to occur before the
program can even enter main(). It also has the benefit of saving a
little bit of heap space, but this doesn't matter too much, since the
savings in that regard are pretty tiny.
2018-12-16 02:44:04 +01:00
Weiyi Wang
296c458e0e
Memory: move GetPhysicalPointer and IsValidPhysicalAddress into class
2018-12-05 20:21:14 -05:00
Weiyi Wang
ec01975549
audio_core: pass in memory reference
...
Because HLE::Source is initialized as an array in the member initializer, it is hard to let it accept the reference on ctor, so it has a second init stage performed by DspHle::Impl::Impl
2018-12-05 20:16:42 -05:00
RoadrunnerWMC
008ef1fd71
DSP: Add a comment about physical address masking
...
See @wwylele's comment on PR 4483 for more details on what causes this behavior.
2018-12-03 12:22:11 -07:00
RoadrunnerWMC
3aff585f32
DSP: Add address mask for physical pointers to audio data buffers
...
Hardware testing indicated that FFFFFFFC is the correct mask for all audio formats (mono and stereo PCM8, mono and stereo PCM16, and ADPCM). This fixes broken audio in Luigi's Mansion: Dark Moon and a few other games.
2018-12-03 01:07:55 -07:00
Weiyi Wang
9458e4d8ec
CoreTiming: wrap into class
2018-11-04 10:26:38 -05:00
Weiyi Wang
b4062abc11
cubeb_sink: ignore null-name device when selecting
...
We already ignore them on listing devices. We should do the same when selecting devices. This fix a crash when opening a specific device while there is a null device in the list
2018-10-26 09:17:44 -04:00
Subv
1d59c8f792
Logging: Change the TimeStretch::Process log from debug to trace level.
...
This function is called too many times and makes the debug logging basically unusable due to the spam.
2018-10-06 16:55:05 +02:00
Weiyi Wang
7db46da4fc
Merge pull request #4247 from FearlessTobi/port-1314
...
Port yuzu-emu/yuzu#1314 : "audio_core/time_stretch: Silence truncation warnings in Process()"
2018-09-22 12:02:51 -04:00
Lioncash
bcb1aaf05c
cubeb_sink: Get rid of variable shadowing within CubebSink's constructor
...
The parameter of the lambda was shadowing the variable that was being
assigned to.
2018-09-22 12:55:40 +02:00
Lioncash
553bdb2ae4
audio_core/time_stretch: Silence truncation warnings in Process()
...
The SoundTouch API only accepts uint amount of samples.
2018-09-22 12:52:13 +02:00
Merry
bb9e92c77c
Merge pull request #4194 from MerryMage/audiofifo
...
audio_core: Simplify sink interface
2018-09-21 13:30:51 +01:00
Lioncash
93bd630d40
audio_core/sink_details: Change std::string parameter into std::string_view
...
The given string is only ever used for lookup and comparison, so we can
just utilize a non-owning view to string data here
2018-09-15 15:48:24 +02:00
MerryMage
a6cf2e1f9d
cubeb_sink: Improve logging
2018-09-09 08:37:34 +01:00
MerryMage
675ffc1024
dsp_interface: Move volume control to audio thread
...
We also clamp the linear volume value to [0.0, 1.0].
Do nothing if linear volume is 1.0.
2018-09-08 22:24:51 +01:00
MerryMage
eed55a813e
time_stretch: Simplify audio stretcher
2018-09-08 22:09:26 +01:00
MerryMage
f34711219a
audio_core: Simplify sink interface
2018-09-08 22:09:26 +01:00
Weiyi Wang
7d8f115185
Prefix all size_t with std::
...
done automatically by executing regex replace `([^:0-9a-zA-Z_])size_t([^0-9a-zA-Z_])` -> `$1std::size_t$2`
2018-09-06 16:03:28 -04:00
Merry
b130dd6842
Merge pull request #4161 from FearlessTobi/port-1139
...
Port #1139 from yuzu: "bit_field: Convert ToBool() into explicit operator bool"
2018-09-02 09:53:50 +01:00
fearlessTobi
488694d01f
Replace ToBool() with static_cast()
2018-09-01 15:50:57 +02:00
MerryMage
7daed185cb
cubeb_sink: Protect queue against multithreaded access
2018-08-31 18:44:19 +01:00
Lioncash
29e5dec986
sink_details: Deduplicate long std::function repetition
...
We can just use type aliases to avoid needing to write the same long
type twice
2018-08-23 17:03:09 +02:00
Lioncash
50b58da56c
sink_details: std::move std::function instances
...
Given std::function is allowed to potentially allocate, these should be
std::move'd to prevent potential reallocation (should that ever happen).
2018-08-23 17:03:00 +02:00
James Rowe
c35a251d86
Merge pull request #3985 from BreadFish64/fix-warnings
...
core: clean up warnings
2018-08-02 11:14:57 -06:00
James Rowe
14b0435df2
Merge pull request #3994 from FearlessTobi/replace-clamp-functions
...
Remove MathUtil::Clamp and replace it with its std:: counterpart
2018-08-02 11:08:07 -06:00
BreadFish64
74cd98ecad
core: clean up warnings
2018-08-01 14:10:23 -05:00
NarcolepticK
8f70e9a318
service/dsp: Addressed comments about function name and pointer type
2018-07-29 15:18:30 -04:00
fearlessTobi
71e1d6e25d
Fix compile errors
2018-07-26 13:23:25 +02:00
NarcolepticK
b840c63386
service/dsp: Clean up global state
2018-07-24 16:15:37 -04:00
fearlessTobi
7a3e126a4f
Replace MathUtil::Clamp with its std counterpart
2018-07-24 19:08:17 +02:00
James Rowe
2f8c9c8126
Merge pull request #3831 from FearlessTobi/add-volume-slider
...
citra_qt: Add a volume slider
2018-07-18 09:56:47 -06:00
Merry
47d283a1e4
Merge pull request #3909 from MerryMage/rm-SetDevice
...
sink_details: Tidy-up device listing code
2018-07-12 20:49:29 +01:00