Ryujinx/Ryujinx.Graphics.GAL/Multithreading/Commands/SetPolygonModeCommand.cs
gdkchan 7fea26e97e
Remove use of reflection on GAL multithreading (#4287)
* Introduce new IGALCommand<T> interface and use it

* Remove use of reflection on GAL multithreading

* Unmanaged constraint
2023-01-22 01:07:43 +01:00

20 lines
682 B
C#

namespace Ryujinx.Graphics.GAL.Multithreading.Commands
{
struct SetPolygonModeCommand : IGALCommand, IGALCommand<SetPolygonModeCommand>
{
public CommandType CommandType => CommandType.SetPolygonMode;
private PolygonMode _frontMode;
private PolygonMode _backMode;
public void Set(PolygonMode frontMode, PolygonMode backMode)
{
_frontMode = frontMode;
_backMode = backMode;
}
public static void Run(ref SetPolygonModeCommand command, ThreadedRenderer threaded, IRenderer renderer)
{
renderer.Pipeline.SetPolygonMode(command._frontMode, command._backMode);
}
}
}