| 123456789101112131415161718192021222324252627 |
- using System;
- namespace Ryujinx.Graphics.Gpu.Shader.HashTable
- {
- /// <summary>
- /// Data accessor, used by <see cref="PartitionedHashTable{T}"/> to access data of unknown length.
- /// </summary>
- /// <remarks>
- /// This will be used to access chuncks of data and try finding a match on the table.
- /// This is necessary because the data size is assumed to be unknown, and so the
- /// hash table must try to "guess" the size of the data based on the entries on the table.
- /// </remarks>
- public interface IDataAccessor
- {
- /// <summary>
- /// Gets a span of shader code at the specified offset, with at most the specified size.
- /// </summary>
- /// <remarks>
- /// This might return a span smaller than the requested <paramref name="length"/> if there's
- /// no more code available.
- /// </remarks>
- /// <param name="offset">Offset in shader code</param>
- /// <param name="length">Size in bytes</param>
- /// <returns>Shader code span</returns>
- ReadOnlySpan<byte> GetSpan(int offset, int length);
- }
- }
|