using Ryujinx.Graphics.GAL.Multithreading.Model; using System; namespace Ryujinx.Graphics.GAL.Multithreading.Commands { struct SetVertexBuffersCommand : IGALCommand, IGALCommand { public CommandType CommandType => CommandType.SetVertexBuffers; private SpanRef _vertexBuffers; public void Set(SpanRef vertexBuffers) { _vertexBuffers = vertexBuffers; } public static void Run(ref SetVertexBuffersCommand command, ThreadedRenderer threaded, IRenderer renderer) { Span vertexBuffers = command._vertexBuffers.Get(threaded); renderer.Pipeline.SetVertexBuffers(threaded.Buffers.MapBufferRanges(vertexBuffers)); command._vertexBuffers.Dispose(threaded); } } }