using Ryujinx.Graphics.GAL.Multithreading.Model; using System; namespace Ryujinx.Graphics.GAL.Multithreading.Commands { struct SetViewportsCommand : IGALCommand, IGALCommand { public readonly CommandType CommandType => CommandType.SetViewports; private SpanRef _viewports; private bool _disableTransform; public void Set(SpanRef viewports, bool disableTransform) { _viewports = viewports; _disableTransform = disableTransform; } public static void Run(ref SetViewportsCommand command, ThreadedRenderer threaded, IRenderer renderer) { ReadOnlySpan viewports = command._viewports.Get(threaded); renderer.Pipeline.SetViewports(viewports, command._disableTransform); command._viewports.Dispose(threaded); } } }