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 --- .../Audio/AudioRendererManager/CommandGenerator.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/CommandGenerator.cs (limited to 'Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/CommandGenerator.cs') diff --git a/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/CommandGenerator.cs b/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/CommandGenerator.cs new file mode 100644 index 00000000..b09b990b --- /dev/null +++ b/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/CommandGenerator.cs @@ -0,0 +1,16 @@ +namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager +{ + static class CommandGenerator + { + public static long CalculateCommandBufferSize(AudioRendererParameter parameters) + { + return parameters.EffectCount * 0x840 + + parameters.SubMixCount * 0x5A38 + + parameters.SinkCount * 0x148 + + parameters.SplitterDestinationDataCount * 0x540 + + (parameters.SplitterCount * 0x68 + 0x2E0) * parameters.VoiceCount + + ((parameters.VoiceCount + parameters.SubMixCount + parameters.EffectCount + parameters.SinkCount + 0x65) << 6) + + 0x3F8; + } + } +} \ No newline at end of file -- cgit v1.2.3