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 }