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/CommandGenerator.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/CommandGenerator.cs')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Audio/AudioRendererManager/CommandGenerator.cs | 16 |
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 |
