DiskCacheOutputStreams.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.IO;
  3. namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
  4. {
  5. /// <summary>
  6. /// Output streams for the disk shader cache.
  7. /// </summary>
  8. class DiskCacheOutputStreams : IDisposable
  9. {
  10. /// <summary>
  11. /// Shared table of contents (TOC) file stream.
  12. /// </summary>
  13. public readonly FileStream TocFileStream;
  14. /// <summary>
  15. /// Shared data file stream.
  16. /// </summary>
  17. public readonly FileStream DataFileStream;
  18. /// <summary>
  19. /// Host table of contents (TOC) file stream.
  20. /// </summary>
  21. public readonly FileStream HostTocFileStream;
  22. /// <summary>
  23. /// Host data file stream.
  24. /// </summary>
  25. public readonly FileStream HostDataFileStream;
  26. /// <summary>
  27. /// Creates a new instance of a disk cache output stream container.
  28. /// </summary>
  29. /// <param name="tocFileStream">Stream for the shared table of contents file</param>
  30. /// <param name="dataFileStream">Stream for the shared data file</param>
  31. /// <param name="hostTocFileStream">Stream for the host table of contents file</param>
  32. /// <param name="hostDataFileStream">Stream for the host data file</param>
  33. public DiskCacheOutputStreams(FileStream tocFileStream, FileStream dataFileStream, FileStream hostTocFileStream, FileStream hostDataFileStream)
  34. {
  35. TocFileStream = tocFileStream;
  36. DataFileStream = dataFileStream;
  37. HostTocFileStream = hostTocFileStream;
  38. HostDataFileStream = hostDataFileStream;
  39. }
  40. /// <summary>
  41. /// Disposes the output file streams.
  42. /// </summary>
  43. public void Dispose()
  44. {
  45. TocFileStream.Dispose();
  46. DataFileStream.Dispose();
  47. HostTocFileStream.Dispose();
  48. HostDataFileStream.Dispose();
  49. }
  50. }
  51. }