GPU: Fix errors handling texture remapping (#4745)
* GPU: Fix errors handling texture remapping - Fixes an error where a pool entry and memory mapping changing at the same time could cause a texture to rebind its data from the wrong GPU VA (data swaps) - Fixes an error where the texture pool could act on a mapping change before the mapping has actually been changed ("Unmapped" event happens before change, we need to signal it changed _after_ it completes) TODO: remove textures from partially mapped list... if they aren't. * Add Remap actions for handling post-mapping behaviours * Remove unused code. * Address feedback * Nit
This commit is contained in:
@ -57,5 +57,19 @@
|
||||
|
||||
return thisAddress < otherEndAddress && otherAddress < thisEndAddress;
|
||||
}
|
||||
|
||||
/// <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)
|
||||
{
|
||||
return $"[Unmapped 0x{Size:X}]";
|
||||
}
|
||||
|
||||
return $"[0x{Address:X}, 0x{EndAddress:X})";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -319,5 +319,14 @@ namespace Ryujinx.Memory.Range
|
||||
|
||||
return hash.ToHashCode();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a string summary of the ranges contained in the MultiRange.
|
||||
/// </summary>
|
||||
/// <returns>A string summary of the ranges contained within</returns>
|
||||
public override string ToString()
|
||||
{
|
||||
return HasSingleRange ? _singleRange.ToString() : string.Join(", ", _ranges);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user