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
This commit is contained in:
Ac_K 2019-09-20 01:49:05 +02:00 committed by Thomas Guillemard
parent a0720b5681
commit f17b772c56
15 changed files with 244 additions and 110 deletions

View file

@ -0,0 +1,19 @@
using Ryujinx.Common;
namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
{
static class NodeStates
{
public static long GetWorkBufferSize(int totalMixCount)
{
int size = BitUtils.AlignUp(totalMixCount, AudioRendererConsts.BufferAlignment);
if (size < 0)
{
size |= 7;
}
return 4 * (totalMixCount * totalMixCount) + 12 * totalMixCount + 2 * (size / 8);
}
}
}