forked from Mirror/Ryujinx
30 lines
1.4 KiB
C#
30 lines
1.4 KiB
C#
|
namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
|
|||
|
{
|
|||
|
class BehaviorInfo
|
|||
|
{
|
|||
|
private const int _revision = AudioRendererConsts.Revision;
|
|||
|
|
|||
|
private int _userRevision = 0;
|
|||
|
|
|||
|
public BehaviorInfo()
|
|||
|
{
|
|||
|
/* TODO: this class got a size of 0xC0
|
|||
|
0x00 - uint - Internal Revision
|
|||
|
0x04 - uint - User Revision
|
|||
|
0x08 - ... unknown ...
|
|||
|
*/
|
|||
|
}
|
|||
|
|
|||
|
public bool IsSplitterSupported() => AudioRendererCommon.CheckFeatureSupported(_userRevision, SupportTags.Splitter);
|
|||
|
public bool IsSplitterBugFixed() => AudioRendererCommon.CheckFeatureSupported(_userRevision, SupportTags.SplitterBugFix);
|
|||
|
public bool IsVariadicCommandBufferSizeSupported() => AudioRendererCommon.CheckFeatureSupported(_userRevision, SupportTags.VariadicCommandBufferSize);
|
|||
|
public bool IsElapsedFrameCountSupported() => AudioRendererCommon.CheckFeatureSupported(_userRevision, SupportTags.ElapsedFrameCount);
|
|||
|
|
|||
|
public int GetPerformanceMetricsDataFormat() => AudioRendererCommon.CheckFeatureSupported(_userRevision, SupportTags.PerformanceMetricsDataFormatVersion2) ? 2 : 1;
|
|||
|
|
|||
|
public void SetUserLibRevision(int revision)
|
|||
|
{
|
|||
|
_userRevision = AudioRendererCommon.GetRevisionVersion(revision);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|