mirror of
https://git.743378673.xyz/MeloNX/MeloNX.git
synced 2025-06-30 04:16:25 +02:00
Add a separate device memory manager (#6153)
* Add a separate device memory manager * Still need this * Device writes are always tracked * Device writes are always tracked (2) * Rename more instances of gmm to mm
This commit is contained in:
parent
90455a05e6
commit
f241f88558
33 changed files with 555 additions and 157 deletions
39
src/Ryujinx.Graphics.Device/ISynchronizationManager.cs
Normal file
39
src/Ryujinx.Graphics.Device/ISynchronizationManager.cs
Normal file
|
@ -0,0 +1,39 @@
|
|||
using Ryujinx.Common.Logging;
|
||||
using System;
|
||||
using System.Threading;
|
||||
|
||||
namespace Ryujinx.Graphics.Device
|
||||
{
|
||||
/// <summary>
|
||||
/// Synchronization manager interface.
|
||||
/// </summary>
|
||||
public interface ISynchronizationManager
|
||||
{
|
||||
/// <summary>
|
||||
/// Increment the value of a syncpoint with a given id.
|
||||
/// </summary>
|
||||
/// <param name="id">The id of the syncpoint</param>
|
||||
/// <exception cref="System.ArgumentOutOfRangeException">Thrown when id >= MaxHardwareSyncpoints</exception>
|
||||
/// <returns>The incremented value of the syncpoint</returns>
|
||||
uint IncrementSyncpoint(uint id);
|
||||
|
||||
/// <summary>
|
||||
/// Get the value of a syncpoint with a given id.
|
||||
/// </summary>
|
||||
/// <param name="id">The id of the syncpoint</param>
|
||||
/// <exception cref="System.ArgumentOutOfRangeException">Thrown when id >= MaxHardwareSyncpoints</exception>
|
||||
/// <returns>The value of the syncpoint</returns>
|
||||
uint GetSyncpointValue(uint id);
|
||||
|
||||
/// <summary>
|
||||
/// Wait on a syncpoint with a given id at a target threshold.
|
||||
/// The callback will be called once the threshold is reached and will automatically be unregistered.
|
||||
/// </summary>
|
||||
/// <param name="id">The id of the syncpoint</param>
|
||||
/// <param name="threshold">The target threshold</param>
|
||||
/// <param name="timeout">The timeout</param>
|
||||
/// <exception cref="System.ArgumentOutOfRangeException">Thrown when id >= MaxHardwareSyncpoints</exception>
|
||||
/// <returns>True if timed out</returns>
|
||||
bool WaitOnSyncpoint(uint id, uint threshold, TimeSpan timeout);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue