forked from Mirror/Ryujinx
7fea26e97e
* Introduce new IGALCommand<T> interface and use it * Remove use of reflection on GAL multithreading * Unmanaged constraint
21 lines
718 B
C#
21 lines
718 B
C#
namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|
{
|
|
struct SetIndexBufferCommand : IGALCommand, IGALCommand<SetIndexBufferCommand>
|
|
{
|
|
public CommandType CommandType => CommandType.SetIndexBuffer;
|
|
private BufferRange _buffer;
|
|
private IndexType _type;
|
|
|
|
public void Set(BufferRange buffer, IndexType type)
|
|
{
|
|
_buffer = buffer;
|
|
_type = type;
|
|
}
|
|
|
|
public static void Run(ref SetIndexBufferCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
|
{
|
|
BufferRange range = threaded.Buffers.MapBufferRange(command._buffer);
|
|
renderer.Pipeline.SetIndexBuffer(range, command._type);
|
|
}
|
|
}
|
|
}
|