| 1234567891011121314151617181920212223242526272829303132 |
- using Ryujinx.Graphics.Gpu.Memory;
- using Ryujinx.Graphics.Gpu.Shader.HashTable;
- using System;
- namespace Ryujinx.Graphics.Gpu.Shader
- {
- /// <summary>
- /// Shader code accessor.
- /// </summary>
- readonly struct ShaderCodeAccessor : IDataAccessor
- {
- private readonly MemoryManager _memoryManager;
- private readonly ulong _baseAddress;
- /// <summary>
- /// Creates a new shader code accessor.
- /// </summary>
- /// <param name="memoryManager">Memory manager used to access the shader code</param>
- /// <param name="baseAddress">Base address of the shader in memory</param>
- public ShaderCodeAccessor(MemoryManager memoryManager, ulong baseAddress)
- {
- _memoryManager = memoryManager;
- _baseAddress = baseAddress;
- }
- /// <inheritdoc/>
- public ReadOnlySpan<byte> GetSpan(int offset, int length)
- {
- return _memoryManager.GetSpanMapped(_baseAddress + (ulong)offset, length);
- }
- }
- }
|