Devices.cs
1 using Ryujinx.Graphics.Device; 2 using System; 3 using System.Collections.Generic; 4 5 namespace Ryujinx.Graphics.Host1x 6 { 7 class Devices : IDisposable 8 { 9 private readonly Dictionary<ClassId, IDeviceState> _devices = new(); 10 11 public void RegisterDevice(ClassId classId, IDeviceState device) 12 { 13 _devices[classId] = device; 14 } 15 16 public IDeviceState GetDevice(ClassId classId) 17 { 18 return _devices.TryGetValue(classId, out IDeviceState device) ? device : null; 19 } 20 21 public void Dispose() 22 { 23 foreach (var device in _devices.Values) 24 { 25 if (device is ThiDevice thi) 26 { 27 thi.Dispose(); 28 } 29 } 30 } 31 } 32 }