mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-08-18 22:58:43 +02:00
* Introduce new IGALCommand<T> interface and use it * Remove use of reflection on GAL multithreading * Unmanaged constraint
23 lines
736 B
C#
23 lines
736 B
C#
namespace Ryujinx.Graphics.GAL.Multithreading.Commands
|
|
{
|
|
struct DispatchComputeCommand : IGALCommand, IGALCommand<DispatchComputeCommand>
|
|
{
|
|
public CommandType CommandType => CommandType.DispatchCompute;
|
|
private int _groupsX;
|
|
private int _groupsY;
|
|
private int _groupsZ;
|
|
|
|
public void Set(int groupsX, int groupsY, int groupsZ)
|
|
{
|
|
_groupsX = groupsX;
|
|
_groupsY = groupsY;
|
|
_groupsZ = groupsZ;
|
|
}
|
|
|
|
public static void Run(ref DispatchComputeCommand command, ThreadedRenderer threaded, IRenderer renderer)
|
|
{
|
|
renderer.Pipeline.DispatchCompute(command._groupsX, command._groupsY, command._groupsZ);
|
|
}
|
|
}
|
|
}
|