From f17b772c56cf73ac539b4c8c47e0a7c8f29dae5a Mon Sep 17 00:00:00 2001 From: Ac_K Date: Fri, 20 Sep 2019 01:49:05 +0200 Subject: 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 --- .../Services/Audio/AudioRendererManager/EdgeMatrix.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/EdgeMatrix.cs (limited to 'Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/EdgeMatrix.cs') diff --git a/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/EdgeMatrix.cs b/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/EdgeMatrix.cs new file mode 100644 index 00000000..3f87ae04 --- /dev/null +++ b/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/EdgeMatrix.cs @@ -0,0 +1,19 @@ +using Ryujinx.Common; + +namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager +{ + static class EdgeMatrix + { + public static int GetWorkBufferSize(int totalMixCount) + { + int size = BitUtils.AlignUp(totalMixCount * totalMixCount, AudioRendererConsts.BufferAlignment); + + if (size < 0) + { + size |= 7; + } + + return size / 8; + } + } +} \ No newline at end of file -- cgit v1.2.3