namespace Ryujinx.Graphics.Gpu.Image
{
///
/// One side of a two-way dependency between one texture view and another.
/// Contains a reference to the handle owning the dependency, and the other dependency.
///
class TextureDependency
{
///
/// The handle that owns this dependency.
///
public TextureGroupHandle Handle;
///
/// The other dependency linked to this one, which belongs to another handle.
///
public TextureDependency Other;
///
/// Create a new texture dependency.
///
/// The handle that owns the dependency
public TextureDependency(TextureGroupHandle handle)
{
Handle = handle;
}
///
/// Signal that the owner of this dependency has been modified,
/// meaning that the other dependency's handle must defer a copy from it.
///
public void SignalModified()
{
Other.Handle.DeferCopy(Handle);
}
}
}