Files
Kenji-NX/src/Ryujinx.Audio/Renderer/Server/ICommandProcessingTimeEstimator.cs
T
LotP c0b7452cb5 SDK20 and REV15 support
* Fixed an issue where games would boot loop because of an incorrect HID state.

  * Turns out the SamplingNumber of the atomic input storage doesn't match the SamplingNumber of the input state held by the atomic storage, instead it is exactly double the value in the input state.

* Added new Condition struct to the HID Shared memory and populate it with dummy data to fix the no-controller crash (already merged).

* The audio renderer has been mostly updated to rev15, allowing rev15 games to launch.

  * Biquad filters now use floats.

  * Several structures have been renamed to match the SDK names, making it easier to compare functionality. A few names are still missing and will be changed at a later date.

  * The new commands from rev15 have been added to the CommandType enum, but they are still missing from the code itself.

    * Due to changes in the SDK layout, the time estimation functions are either missing or very well hidden (or Ghidra search functionality is useless). We can't fully implement the new commands until the timing data has been located.

  * A few minor tweaks to the code have been made to more accurately match the SDK.
2025-10-11 10:39:50 -05:00

44 lines
1.9 KiB
C#

using Ryujinx.Audio.Renderer.Dsp.Command;
namespace Ryujinx.Audio.Renderer.Server
{
/// <summary>
/// Estimate the time that a <see cref="ICommand"/> should take.
/// </summary>
/// <remarks>This is used for voice dropping.</remarks>
public interface ICommandProcessingTimeEstimator
{
uint Estimate(AuxiliaryBufferCommand command);
uint Estimate(BiquadFilterCommand command);
uint Estimate(ClearMixBufferCommand command);
uint Estimate(DelayCommand command);
uint Estimate(Reverb3dCommand command);
uint Estimate(ReverbCommand command);
uint Estimate(DepopPrepareCommand command);
uint Estimate(DepopForMixBuffersCommand command);
uint Estimate(MixCommand command);
uint Estimate(MixRampCommand command);
uint Estimate(MixRampGroupedCommand command);
uint Estimate(CopyMixBufferCommand command);
uint Estimate(PerformanceCommand command);
uint Estimate(VolumeCommand command);
uint Estimate(VolumeRampCommand command);
uint Estimate(PcmInt16DataSourceCommandVersion1 command);
uint Estimate(PcmFloatDataSourceCommandVersion1 command);
uint Estimate(AdpcmDataSourceCommandVersion1 command);
uint Estimate(DataSourceVersion2Command command);
uint Estimate(CircularBufferSinkCommand command);
uint Estimate(DeviceSinkCommand command);
uint Estimate(DownMixSurroundToStereoCommand command);
uint Estimate(UpsampleCommand command);
uint Estimate(LimiterCommandVersion1 command);
uint Estimate(LimiterCommandVersion2 command);
uint Estimate(MultiTapBiquadFilterCommand command);
uint Estimate(CaptureBufferCommand command);
uint Estimate(CompressorCommand command);
uint Estimate(BiquadFilterAndMixCommand command);
uint Estimate(MultiTapBiquadFilterAndMixCommand command);
uint Estimate(FillBufferCommand command);
}
}