aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/CommandGenerator.cs
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2019-09-20 01:49:05 +0200
committerThomas Guillemard <me@thog.eu>2019-09-20 01:49:05 +0200
commitf17b772c56cf73ac539b4c8c47e0a7c8f29dae5a (patch)
treedbc043dbea8502a2978f1ac7809f14884bd8d3ff /Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/CommandGenerator.cs
parenta0720b5681852f3d786d77bd3793b0359dea321c (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/CommandGenerator.cs')
-rw-r--r--Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/CommandGenerator.cs16
1 files changed, 16 insertions, 0 deletions
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