/ src / Ryujinx.Graphics.Gpu / Synchronization / ISyncActionHandler.cs
ISyncActionHandler.cs
 1  namespace Ryujinx.Graphics.Gpu.Synchronization
 2  {
 3      /// <summary>
 4      /// This interface indicates that a class can be registered for a sync action.
 5      /// </summary>
 6      interface ISyncActionHandler
 7      {
 8          /// <summary>
 9          /// Action to be performed when some synchronizing action is reached after modification.
10          /// Generally used to register read/write tracking to flush resources from GPU when their memory is used.
11          /// </summary>
12          /// <param name="syncpoint">True if the action is a guest syncpoint</param>
13          /// <returns>True if the action is to be removed, false otherwise</returns>
14          bool SyncAction(bool syncpoint);
15  
16          /// <summary>
17          /// Action to be performed immediately before sync is created.
18          /// </summary>
19          /// <param name="syncpoint">True if the action is a guest syncpoint</param>
20          void SyncPreAction(bool syncpoint) { }
21      }
22  }