forked from Mirror/Ryujinx
1825bd87b4
This is the first commit of a series of reformat around the codebase as discussed internally some weeks ago. This project being one that isn't touched that much, it shouldn't cause conflict with any opened PRs.
56 lines
No EOL
1.7 KiB
C#
56 lines
No EOL
1.7 KiB
C#
using System;
|
|
|
|
namespace Ryujinx.Audio.Renderer.Server.Performance
|
|
{
|
|
/// <summary>
|
|
/// Information used by the performance command to store informations in the performance entry.
|
|
/// </summary>
|
|
public class PerformanceEntryAddresses
|
|
{
|
|
/// <summary>
|
|
/// The memory storing the performance entry.
|
|
/// </summary>
|
|
public Memory<int> BaseMemory;
|
|
|
|
/// <summary>
|
|
/// The offset to the start time field.
|
|
/// </summary>
|
|
public uint StartTimeOffset;
|
|
|
|
/// <summary>
|
|
/// The offset to the entry count field.
|
|
/// </summary>
|
|
public uint EntryCountOffset;
|
|
|
|
/// <summary>
|
|
/// The offset to the processing time field.
|
|
/// </summary>
|
|
public uint ProcessingTimeOffset;
|
|
|
|
/// <summary>
|
|
/// Increment the entry count.
|
|
/// </summary>
|
|
public void IncrementEntryCount()
|
|
{
|
|
BaseMemory.Span[(int)EntryCountOffset / 4]++;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Set the start time in the entry.
|
|
/// </summary>
|
|
/// <param name="startTimeNano">The start time in nanoseconds.</param>
|
|
public void SetStartTime(ulong startTimeNano)
|
|
{
|
|
BaseMemory.Span[(int)StartTimeOffset / 4] = (int)(startTimeNano / 1000);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Set the processing time in the entry.
|
|
/// </summary>
|
|
/// <param name="endTimeNano">The end time in nanoseconds.</param>
|
|
public void SetProcessingTime(ulong endTimeNano)
|
|
{
|
|
BaseMemory.Span[(int)ProcessingTimeOffset / 4] = (int)(endTimeNano / 1000) - BaseMemory.Span[(int)StartTimeOffset / 4];
|
|
}
|
|
}
|
|
} |