aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Memory/Tracking/AbstractRegion.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2023-02-16 18:28:49 -0300
committerGitHub <noreply@github.com>2023-02-16 18:28:49 -0300
commitefb135b74c9c0ff1de2dfd7d2a431bd23185ca66 (patch)
tree4defd89a4473e8d1149e041e98171d1b92fa18f2 /Ryujinx.Memory/Tracking/AbstractRegion.cs
parenta707842e14dde468781270198ae63757ca3c2716 (diff)
Clear CPU side data on GPU buffer clears (#4125)1.1.624
* Clear CPU side data on GPU buffer clears * Implement tracked fill operation that can signal other resource types except buffer * Fix tests, add missing XML doc * PR feedback
Diffstat (limited to 'Ryujinx.Memory/Tracking/AbstractRegion.cs')
-rw-r--r--Ryujinx.Memory/Tracking/AbstractRegion.cs8
1 files changed, 5 insertions, 3 deletions
diff --git a/Ryujinx.Memory/Tracking/AbstractRegion.cs b/Ryujinx.Memory/Tracking/AbstractRegion.cs
index a3c3990e..bd4c8ab5 100644
--- a/Ryujinx.Memory/Tracking/AbstractRegion.cs
+++ b/Ryujinx.Memory/Tracking/AbstractRegion.cs
@@ -50,7 +50,8 @@ namespace Ryujinx.Memory.Tracking
/// <param name="address">Address accessed</param>
/// <param name="size">Size of the region affected in bytes</param>
/// <param name="write">Whether the region was written to or read</param>
- public abstract void Signal(ulong address, ulong size, bool write);
+ /// <param name="exemptId">Optional ID of the handles that should not be signalled</param>
+ public abstract void Signal(ulong address, ulong size, bool write, int? exemptId);
/// <summary>
/// Signals to the handles that a precise memory event has occurred. Assumes that the tracking lock has been obtained.
@@ -58,10 +59,11 @@ namespace Ryujinx.Memory.Tracking
/// <param name="address">Address accessed</param>
/// <param name="size">Size of the region affected in bytes</param>
/// <param name="write">Whether the region was written to or read</param>
- public abstract void SignalPrecise(ulong address, ulong size, bool write);
+ /// <param name="exemptId">Optional ID of the handles that should not be signalled</param>
+ public abstract void SignalPrecise(ulong address, ulong size, bool write, int? exemptId);
/// <summary>
- /// Split this region into two, around the specified address.
+ /// Split this region into two, around the specified address.
/// This region is updated to end at the split address, and a new region is created to represent past that point.
/// </summary>
/// <param name="splitAddress">Address to split the region around</param>