diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2024-08-05 11:00:41 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-05 11:00:41 -0300 |
| commit | 4a4b11871e362016b41c56d4dd4654ade0b894e0 (patch) | |
| tree | c8cafe8f577411b371550c06d2ea03625586fd35 /src/Ryujinx.Memory/Range/MemoryRange.cs | |
| parent | e85ee673b10da5a314e68cea88caeacd2918f311 (diff) | |
Fix same textures with unmapped start being considered different (#7141)
* Fix same textures with unmapped start being considered different
* Consolidate IsInvalid check
* InvalidAddress const
* Fix typo
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
---------
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
Diffstat (limited to 'src/Ryujinx.Memory/Range/MemoryRange.cs')
| -rw-r--r-- | src/Ryujinx.Memory/Range/MemoryRange.cs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/Ryujinx.Memory/Range/MemoryRange.cs b/src/Ryujinx.Memory/Range/MemoryRange.cs index 46aca9ba..20e9d00b 100644 --- a/src/Ryujinx.Memory/Range/MemoryRange.cs +++ b/src/Ryujinx.Memory/Range/MemoryRange.cs @@ -6,6 +6,11 @@ namespace Ryujinx.Memory.Range public readonly record struct MemoryRange { /// <summary> + /// Special address value used to indicate than an address is invalid. + /// </summary> + internal const ulong InvalidAddress = ulong.MaxValue; + + /// <summary> /// An empty memory range, with a null address and zero size. /// </summary> public static MemoryRange Empty => new(0UL, 0); @@ -59,12 +64,23 @@ namespace Ryujinx.Memory.Range } /// <summary> + /// Checks if a given sub-range of memory is invalid. + /// Those are used to represent unmapped memory regions (holes in the region mapping). + /// </summary> + /// <param name="subRange">Memory range to check</param> + /// <returns>True if the memory range is considered invalid, false otherwise</returns> + internal static bool IsInvalid(ref MemoryRange subRange) + { + return subRange.Address == InvalidAddress; + } + + /// <summary> /// Returns a string summary of the memory range. /// </summary> /// <returns>A string summary of the memory range</returns> public override string ToString() { - if (Address == ulong.MaxValue) + if (Address == InvalidAddress) { return $"[Unmapped 0x{Size:X}]"; } |
