diff options
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Shader/DiskCache/BinarySerializer.cs')
-rw-r--r-- | src/Ryujinx.Graphics.Gpu/Shader/DiskCache/BinarySerializer.cs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/BinarySerializer.cs b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/BinarySerializer.cs index 50e37033..b08c44d6 100644 --- a/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/BinarySerializer.cs +++ b/src/Ryujinx.Graphics.Gpu/Shader/DiskCache/BinarySerializer.cs @@ -29,12 +29,12 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// </summary> /// <typeparam name="T">Type of the data</typeparam> /// <param name="data">Data read</param> - public void Read<T>(ref T data) where T : unmanaged + public readonly void Read<T>(ref T data) where T : unmanaged { Span<byte> buffer = MemoryMarshal.Cast<T, byte>(MemoryMarshal.CreateSpan(ref data, 1)); for (int offset = 0; offset < buffer.Length;) { - offset += _activeStream.Read(buffer.Slice(offset)); + offset += _activeStream.Read(buffer[offset..]); } } @@ -44,7 +44,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// <typeparam name="T">Type of the data</typeparam> /// <param name="data">Data read</param> /// <returns>True if the read was successful, false otherwise</returns> - public bool TryRead<T>(ref T data) where T : unmanaged + public readonly bool TryRead<T>(ref T data) where T : unmanaged { // Length is unknown on compressed streams. if (_activeStream == _stream) @@ -66,7 +66,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// <typeparam name="T">Type of the data</typeparam> /// <param name="data">Data read</param> /// <param name="magic">Expected magic value, for validation</param> - public void ReadWithMagicAndSize<T>(ref T data, uint magic) where T : unmanaged + public readonly void ReadWithMagicAndSize<T>(ref T data, uint magic) where T : unmanaged { uint actualMagic = 0; int size = 0; @@ -84,10 +84,10 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache throw new DiskCacheLoadException(DiskCacheLoadResult.FileCorruptedInvalidLength); } - Span<byte> buffer = MemoryMarshal.Cast<T, byte>(MemoryMarshal.CreateSpan(ref data, 1)).Slice(0, size); + Span<byte> buffer = MemoryMarshal.Cast<T, byte>(MemoryMarshal.CreateSpan(ref data, 1))[..size]; for (int offset = 0; offset < buffer.Length;) { - offset += _activeStream.Read(buffer.Slice(offset)); + offset += _activeStream.Read(buffer[offset..]); } } @@ -96,7 +96,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// </summary> /// <typeparam name="T">Type of the data</typeparam> /// <param name="data">Data to be written</param> - public void Write<T>(ref T data) where T : unmanaged + public readonly void Write<T>(ref T data) where T : unmanaged { Span<byte> buffer = MemoryMarshal.Cast<T, byte>(MemoryMarshal.CreateSpan(ref data, 1)); _activeStream.Write(buffer); @@ -108,7 +108,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache /// <typeparam name="T">Type of the data</typeparam> /// <param name="data">Data to write</param> /// <param name="magic">Magic value to write</param> - public void WriteWithMagicAndSize<T>(ref T data, uint magic) where T : unmanaged + public readonly void WriteWithMagicAndSize<T>(ref T data, uint magic) where T : unmanaged { int size = Unsafe.SizeOf<T>(); Write(ref magic); @@ -183,7 +183,7 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache stream = new DeflateStream(stream, CompressionMode.Decompress, true); for (int offset = 0; offset < data.Length;) { - offset += stream.Read(data.Slice(offset)); + offset += stream.Read(data[offset..]); } stream.Dispose(); break; @@ -213,4 +213,4 @@ namespace Ryujinx.Graphics.Gpu.Shader.DiskCache } } } -}
\ No newline at end of file +} |