diff options
| author | Ac_K <Acoustik666@gmail.com> | 2019-09-20 01:49:05 +0200 |
|---|---|---|
| committer | Thomas Guillemard <me@thog.eu> | 2019-09-20 01:49:05 +0200 |
| commit | f17b772c56cf73ac539b4c8c47e0a7c8f29dae5a (patch) | |
| tree | dbc043dbea8502a2978f1ac7809f14884bd8d3ff /Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/SplitterContext.cs | |
| parent | a0720b5681852f3d786d77bd3793b0359dea321c (diff) | |
audren: Fix AudioRenderer implementation (#773)
* Fix AudioRenderer implementation
According to RE:
- `GetAudioRendererWorkBufferSize` is updated and improved to support `REV7`
- `RequestUpdateAudioRenderer` is updated to `REV7` too
Should improve results on recent game and close #718 and #707
* Fix NodeStates.GetWorkBufferSize
* Use BitUtils instead of IntUtils
* Nits
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/SplitterContext.cs')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/SplitterContext.cs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/SplitterContext.cs b/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/SplitterContext.cs new file mode 100644 index 00000000..e46af443 --- /dev/null +++ b/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/SplitterContext.cs @@ -0,0 +1,25 @@ +using Ryujinx.Common; + +namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager +{ + class SplitterContext + { + public static long CalcWorkBufferSize(BehaviorInfo behaviorInfo, AudioRendererParameter parameters) + { + if (!behaviorInfo.IsSplitterSupported()) + { + return 0; + } + + long size = parameters.SplitterDestinationDataCount * 0xE0 + + parameters.SplitterCount * 0x20; + + if (!behaviorInfo.IsSplitterBugFixed()) + { + size += BitUtils.AlignUp(4 * parameters.SplitterDestinationDataCount, 16); + } + + return size; + } + } +}
\ No newline at end of file |
