Devices.cs 824 B

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