namespace Ryujinx.Graphics.Gpu.Synchronization
{
///
/// This interface indicates that a class can be registered for a sync action.
///
interface ISyncActionHandler
{
///
/// Action to be performed when some synchronizing action is reached after modification.
/// Generally used to register read/write tracking to flush resources from GPU when their memory is used.
///
/// True if the action is a guest syncpoint
/// True if the action is to be removed, false otherwise
bool SyncAction(bool syncpoint);
///
/// Action to be performed immediately before sync is created.
///
/// True if the action is a guest syncpoint
void SyncPreAction(bool syncpoint) { }
}
}