/ src / Ryujinx.Graphics.Gpu / Image / TextureDependency.cs
TextureDependency.cs
 1  namespace Ryujinx.Graphics.Gpu.Image
 2  {
 3      /// <summary>
 4      /// One side of a two-way dependency between one texture view and another.
 5      /// Contains a reference to the handle owning the dependency, and the other dependency.
 6      /// </summary>
 7      class TextureDependency
 8      {
 9          /// <summary>
10          /// The handle that owns this dependency.
11          /// </summary>
12          public TextureGroupHandle Handle;
13  
14          /// <summary>
15          /// The other dependency linked to this one, which belongs to another handle.
16          /// </summary>
17          public TextureDependency Other;
18  
19          /// <summary>
20          /// Create a new texture dependency.
21          /// </summary>
22          /// <param name="handle">The handle that owns the dependency</param>
23          public TextureDependency(TextureGroupHandle handle)
24          {
25              Handle = handle;
26          }
27  
28          /// <summary>
29          /// Signal that the owner of this dependency has been modified,
30          /// meaning that the other dependency's handle must defer a copy from it.
31          /// </summary>
32          public void SignalModified()
33          {
34              Other.Handle.DeferCopy(Handle);
35          }
36      }
37  }