aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Audio/Renderer/Server/Effect/CaptureBufferEffect.cs
diff options
context:
space:
mode:
authorTSR Berry <20988865+TSRBerry@users.noreply.github.com>2023-04-08 01:22:00 +0200
committerMary <thog@protonmail.com>2023-04-27 23:51:14 +0200
commitcee712105850ac3385cd0091a923438167433f9f (patch)
tree4a5274b21d8b7f938c0d0ce18736d3f2993b11b1 /Ryujinx.Audio/Renderer/Server/Effect/CaptureBufferEffect.cs
parentcd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff)
Move solution and projects to src
Diffstat (limited to 'Ryujinx.Audio/Renderer/Server/Effect/CaptureBufferEffect.cs')
-rw-r--r--Ryujinx.Audio/Renderer/Server/Effect/CaptureBufferEffect.cs82
1 files changed, 0 insertions, 82 deletions
diff --git a/Ryujinx.Audio/Renderer/Server/Effect/CaptureBufferEffect.cs b/Ryujinx.Audio/Renderer/Server/Effect/CaptureBufferEffect.cs
deleted file mode 100644
index c445798d..00000000
--- a/Ryujinx.Audio/Renderer/Server/Effect/CaptureBufferEffect.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-using Ryujinx.Audio.Renderer.Common;
-using Ryujinx.Audio.Renderer.Dsp.State;
-using Ryujinx.Audio.Renderer.Parameter;
-using Ryujinx.Audio.Renderer.Parameter.Effect;
-using Ryujinx.Audio.Renderer.Server.MemoryPool;
-using System.Diagnostics;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using DspAddress = System.UInt64;
-
-namespace Ryujinx.Audio.Renderer.Server.Effect
-{
- /// <summary>
- /// Server state for an capture buffer effect.
- /// </summary>
- public class CaptureBufferEffect : BaseEffect
- {
- /// <summary>
- /// The capture buffer parameter.
- /// </summary>
- public AuxiliaryBufferParameter Parameter;
-
- /// <summary>
- /// Capture buffer state.
- /// </summary>
- public AuxiliaryBufferAddresses State;
-
- public override EffectType TargetEffectType => EffectType.CaptureBuffer;
-
- public override DspAddress GetWorkBuffer(int index)
- {
- return WorkBuffers[index].GetReference(true);
- }
-
- public override void Update(out BehaviourParameter.ErrorInfo updateErrorInfo, ref EffectInParameterVersion1 parameter, PoolMapper mapper)
- {
- Update(out updateErrorInfo, ref parameter, mapper);
- }
-
- public override void Update(out BehaviourParameter.ErrorInfo updateErrorInfo, ref EffectInParameterVersion2 parameter, PoolMapper mapper)
- {
- Update(out updateErrorInfo, ref parameter, mapper);
- }
-
- public void Update<T>(out BehaviourParameter.ErrorInfo updateErrorInfo, ref T parameter, PoolMapper mapper) where T : unmanaged, IEffectInParameter
- {
- Debug.Assert(IsTypeValid(ref parameter));
-
- UpdateParameterBase(ref parameter);
-
- Parameter = MemoryMarshal.Cast<byte, AuxiliaryBufferParameter>(parameter.SpecificData)[0];
- IsEnabled = parameter.IsEnabled;
-
- updateErrorInfo = new BehaviourParameter.ErrorInfo();
-
- if (BufferUnmapped || parameter.IsNew)
- {
- ulong bufferSize = (ulong)Unsafe.SizeOf<int>() * Parameter.BufferStorageSize + (ulong)Unsafe.SizeOf<AuxiliaryBufferHeader>();
-
- bool sendBufferUnmapped = !mapper.TryAttachBuffer(out updateErrorInfo, ref WorkBuffers[0], Parameter.SendBufferInfoAddress, bufferSize);
-
- BufferUnmapped = sendBufferUnmapped;
-
- if (!BufferUnmapped)
- {
- DspAddress sendDspAddress = WorkBuffers[0].GetReference(false);
-
- // NOTE: Nintendo directly interact with the CPU side structure in the processing of the DSP command.
- State.SendBufferInfo = sendDspAddress;
- State.SendBufferInfoBase = sendDspAddress + (ulong)Unsafe.SizeOf<AuxiliaryBufferHeader>();
- State.ReturnBufferInfo = 0;
- State.ReturnBufferInfoBase = 0;
- }
- }
- }
-
- public override void UpdateForCommandGeneration()
- {
- UpdateUsageStateForCommandGeneration();
- }
- }
-} \ No newline at end of file