aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs')
-rw-r--r--src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs b/src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs
index b36b16e9..2fa1e79e 100644
--- a/src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs
+++ b/src/Ryujinx.Graphics.Gpu/Image/TextureGroup.cs
@@ -68,6 +68,11 @@ namespace Ryujinx.Graphics.Gpu.Image
/// </summary>
public bool HasIncompatibleOverlaps => _incompatibleOverlaps.Count > 0;
+ /// <summary>
+ /// Number indicating the order this texture group was modified relative to others.
+ /// </summary>
+ public long ModifiedSequence { get; private set; }
+
private readonly GpuContext _context;
private readonly PhysicalMemory _physicalMemory;
@@ -664,6 +669,8 @@ namespace Ryujinx.Graphics.Gpu.Image
/// <param name="texture">The texture that has been modified</param>
public void SignalModified(Texture texture)
{
+ ModifiedSequence = _context.GetModifiedSequence();
+
ClearIncompatibleOverlaps(texture);
EvaluateRelevantHandles(texture, (baseHandle, regionCount, split) =>
@@ -684,6 +691,8 @@ namespace Ryujinx.Graphics.Gpu.Image
/// <param name="bound">True if this texture is being bound, false if unbound</param>
public void SignalModifying(Texture texture, bool bound)
{
+ ModifiedSequence = _context.GetModifiedSequence();
+
ClearIncompatibleOverlaps(texture);
EvaluateRelevantHandles(texture, (baseHandle, regionCount, split) =>