aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs
diff options
context:
space:
mode:
authorriperiperi <rhy3756547@hotmail.com>2023-05-05 22:40:46 +0100
committerGitHub <noreply@github.com>2023-05-05 23:40:46 +0200
commit7df4fcada702dbc01d09b8f6fa027f5d409e33e3 (patch)
treed006bc4b9b78d81475a288b6c5ee9dfd7c3f3d33 /src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs
parentd6698680bef4ac37b63d67c5415edf5717a84b3a (diff)
GPU: Remove CPU region handle containers (#4817)1.1.760
* GPU: Remove CPU region handle containers. Another one for the "I don't know why I didn't do this earlier" pile. This removes the "Cpu" prefixed region handle classes, which each mirror a region handle type from Ryujinx.Memory. Originally, not all projects had a reference to Ryujinx.Memory, so these classes were introduced to bridge the gap. Someone else crossed that bridge since, so these classes don't have much of a purpose anymore. This PR replaces all uses of CpuRegionHandle etc to their direct Ryujinx.Memory versions. RegionHandle methods (specifically QueryModified) are about the hottest path there is in the entire emulator, so there is a nice boost from doing this. * Add docs
Diffstat (limited to 'src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs')
-rw-r--r--src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs37
1 files changed, 0 insertions, 37 deletions
diff --git a/src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs b/src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs
deleted file mode 100644
index e766460f..00000000
--- a/src/Ryujinx.Cpu/Tracking/CpuRegionHandle.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using Ryujinx.Memory.Tracking;
-using System;
-
-namespace Ryujinx.Cpu.Tracking
-{
- public class CpuRegionHandle : IRegionHandle
- {
- private readonly RegionHandle _impl;
-
- public bool Dirty => _impl.Dirty;
- public bool Unmapped => _impl.Unmapped;
- public ulong Address => _impl.Address;
- public ulong Size => _impl.Size;
- public ulong EndAddress => _impl.EndAddress;
-
- internal CpuRegionHandle(RegionHandle impl)
- {
- _impl = impl;
- }
-
- public void Dispose() => _impl.Dispose();
- public bool DirtyOrVolatile() => _impl.DirtyOrVolatile();
- public void ForceDirty() => _impl.ForceDirty();
- public IRegionHandle GetHandle() => _impl;
- public void RegisterAction(RegionSignal action) => _impl.RegisterAction(action);
- public void RegisterPreciseAction(PreciseRegionSignal action) => _impl.RegisterPreciseAction(action);
- public void RegisterDirtyEvent(Action action) => _impl.RegisterDirtyEvent(action);
- public void Reprotect(bool asDirty = false) => _impl.Reprotect(asDirty);
-
- public bool OverlapsWith(ulong address, ulong size) => _impl.OverlapsWith(address, size);
-
- public bool RangeEquals(CpuRegionHandle other)
- {
- return _impl.RealAddress == other._impl.RealAddress && _impl.RealSize == other._impl.RealSize;
- }
- }
-}