mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-08-18 06:38:42 +02:00
* Introduce new IGALCommand<T> interface and use it * Remove use of reflection on GAL multithreading * Unmanaged constraint
27 lines
980 B
C#
27 lines
980 B
C#
namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|
{
|
|
struct ClearRenderTargetColorCommand : IGALCommand, IGALCommand<ClearRenderTargetColorCommand>
|
|
{
|
|
public CommandType CommandType => CommandType.ClearRenderTargetColor;
|
|
private int _index;
|
|
private int _layer;
|
|
private int _layerCount;
|
|
private uint _componentMask;
|
|
private ColorF _color;
|
|
|
|
public void Set(int index, int layer, int layerCount, uint componentMask, ColorF color)
|
|
{
|
|
_index = index;
|
|
_layer = layer;
|
|
_layerCount = layerCount;
|
|
_componentMask = componentMask;
|
|
_color = color;
|
|
}
|
|
|
|
public static void Run(ref ClearRenderTargetColorCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
|
{
|
|
renderer.Pipeline.ClearRenderTargetColor(command._index, command._layer, command._layerCount, command._componentMask, command._color);
|
|
}
|
|
}
|
|
}
|