mirror of
https://git.zaroz.cloud/nintendo-back-up/Ryujinx.git
synced 2025-12-16 23:42:40 +00:00
* 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
25 lines
566 B
C#
25 lines
566 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Ryujinx.Graphics.Gpu.Memory
|
|
{
|
|
public class UnmapEventArgs
|
|
{
|
|
public ulong Address { get; }
|
|
public ulong Size { get; }
|
|
public List<Action> RemapActions { get; private set; }
|
|
|
|
public UnmapEventArgs(ulong address, ulong size)
|
|
{
|
|
Address = address;
|
|
Size = size;
|
|
}
|
|
|
|
public void AddRemapAction(Action action)
|
|
{
|
|
RemapActions ??= new List<Action>();
|
|
RemapActions.Add(action);
|
|
}
|
|
}
|
|
}
|