TableRef.cs
 1  namespace Ryujinx.Graphics.GAL.Multithreading.Model
 2  {
 3      readonly struct TableRef<T>
 4      {
 5          private readonly int _index;
 6  
 7          public TableRef(ThreadedRenderer renderer, T reference)
 8          {
 9              _index = renderer.AddTableRef(reference);
10          }
11  
12          public T Get(ThreadedRenderer renderer)
13          {
14              return (T)renderer.RemoveTableRef(_index);
15          }
16  
17          public T2 GetAs<T2>(ThreadedRenderer renderer) where T2 : T
18          {
19              return (T2)renderer.RemoveTableRef(_index);
20          }
21      }
22  }