From cee712105850ac3385cd0091a923438167433f9f Mon Sep 17 00:00:00 2001
From: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
Date: Sat, 8 Apr 2023 01:22:00 +0200
Subject: Move solution and projects to src
---
.../Performance/PerformanceFrameHeaderVersion2.cs | 117 +++++++++++++++++++++
1 file changed, 117 insertions(+)
create mode 100644 src/Ryujinx.Audio/Renderer/Server/Performance/PerformanceFrameHeaderVersion2.cs
(limited to 'src/Ryujinx.Audio/Renderer/Server/Performance/PerformanceFrameHeaderVersion2.cs')
diff --git a/src/Ryujinx.Audio/Renderer/Server/Performance/PerformanceFrameHeaderVersion2.cs b/src/Ryujinx.Audio/Renderer/Server/Performance/PerformanceFrameHeaderVersion2.cs
new file mode 100644
index 00000000..a1822968
--- /dev/null
+++ b/src/Ryujinx.Audio/Renderer/Server/Performance/PerformanceFrameHeaderVersion2.cs
@@ -0,0 +1,117 @@
+using System.Runtime.InteropServices;
+
+namespace Ryujinx.Audio.Renderer.Server.Performance
+{
+ ///
+ /// Implementation of for performance metrics version 2.
+ ///
+ [StructLayout(LayoutKind.Sequential, Pack = 1, Size = 0x30)]
+ public struct PerformanceFrameHeaderVersion2 : IPerformanceHeader
+ {
+ ///
+ /// The magic of the performance header.
+ ///
+ public uint Magic;
+
+ ///
+ /// The total count of entries in this frame.
+ ///
+ public int EntryCount;
+
+ ///
+ /// The total count of detailed entries in this frame.
+ ///
+ public int EntryDetailCount;
+
+ ///
+ /// The offset of the next performance header.
+ ///
+ public int NextOffset;
+
+ ///
+ /// The total time taken by all the commands profiled.
+ ///
+ public int TotalProcessingTime;
+
+ ///
+ /// The count of voices that were dropped.
+ ///
+ public uint VoiceDropCount;
+
+ ///
+ /// The start ticks of the . (before sending commands)
+ ///
+ public ulong StartRenderingTicks;
+
+ ///
+ /// The index of this performance frame.
+ ///
+ public uint Index;
+
+ ///
+ /// If set to true, the DSP is running behind.
+ ///
+ [MarshalAs(UnmanagedType.I1)]
+ public bool IsDspRunningBehind;
+
+ public int GetEntryCount()
+ {
+ return EntryCount;
+ }
+
+ public int GetEntryCountOffset()
+ {
+ return 4;
+ }
+
+ public int GetEntryDetailCount()
+ {
+ return EntryDetailCount;
+ }
+
+ public void SetDspRunningBehind(bool isRunningBehind)
+ {
+ IsDspRunningBehind = isRunningBehind;
+ }
+
+ public void SetEntryCount(int entryCount)
+ {
+ EntryCount = entryCount;
+ }
+
+ public void SetEntryDetailCount(int entryDetailCount)
+ {
+ EntryDetailCount = entryDetailCount;
+ }
+
+ public void SetIndex(uint index)
+ {
+ Index = index;
+ }
+
+ public void SetMagic(uint magic)
+ {
+ Magic = magic;
+ }
+
+ public void SetNextOffset(int nextOffset)
+ {
+ NextOffset = nextOffset;
+ }
+
+ public void SetStartRenderingTicks(ulong startTicks)
+ {
+ StartRenderingTicks = startTicks;
+ }
+
+ public void SetTotalProcessingTime(int totalProcessingTime)
+ {
+ TotalProcessingTime = totalProcessingTime;
+ }
+
+ public void SetVoiceDropCount(uint voiceCount)
+ {
+ VoiceDropCount = voiceCount;
+ }
+ }
+}
\ No newline at end of file
--
cgit v1.2.3