diff options
author | gdkchan <gab.dark.100@gmail.com> | 2024-01-22 17:14:46 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-22 17:14:46 -0300 |
commit | f241f88558b3fe90d76fc21123bd06b9e4c3d2da (patch) | |
tree | 7135051e6a5dc2227d87724777cb63f76453db58 /src/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs | |
parent | 90455a05e6d7fe4305c997f20f76d2411197a182 (diff) |
Add a separate device memory manager (#6153)1.1.1120
* 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
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs')
-rw-r--r-- | src/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs | 27 |
1 files changed, 5 insertions, 22 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs b/src/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs index c2fa4c24..1042a4db 100644 --- a/src/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs +++ b/src/Ryujinx.Graphics.Gpu/Synchronization/SynchronizationManager.cs @@ -1,4 +1,5 @@ using Ryujinx.Common.Logging; +using Ryujinx.Graphics.Device; using System; using System.Threading; @@ -7,7 +8,7 @@ namespace Ryujinx.Graphics.Gpu.Synchronization /// <summary> /// GPU synchronization manager. /// </summary> - public class SynchronizationManager + public class SynchronizationManager : ISynchronizationManager { /// <summary> /// The maximum number of syncpoints supported by the GM20B. @@ -29,12 +30,7 @@ namespace Ryujinx.Graphics.Gpu.Synchronization } } - /// <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> + /// <inheritdoc/> public uint IncrementSyncpoint(uint id) { ArgumentOutOfRangeException.ThrowIfGreaterThanOrEqual(id, (uint)MaxHardwareSyncpoints); @@ -42,12 +38,7 @@ namespace Ryujinx.Graphics.Gpu.Synchronization return _syncpoints[id].Increment(); } - /// <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> + /// <inheritdoc/> public uint GetSyncpointValue(uint id) { ArgumentOutOfRangeException.ThrowIfGreaterThanOrEqual(id, (uint)MaxHardwareSyncpoints); @@ -84,15 +75,7 @@ namespace Ryujinx.Graphics.Gpu.Synchronization _syncpoints[id].UnregisterCallback(waiterInformation); } - /// <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> + /// <inheritdoc/> public bool WaitOnSyncpoint(uint id, uint threshold, TimeSpan timeout) { ArgumentOutOfRangeException.ThrowIfGreaterThanOrEqual(id, (uint)MaxHardwareSyncpoints); |