| 1234567891011121314151617181920212223242526272829 |
- namespace Ryujinx.Graphics.GAL.Multithreading.Commands
- {
- struct MultiDrawIndirectCountCommand : IGALCommand
- {
- public CommandType CommandType => CommandType.MultiDrawIndirectCount;
- private BufferRange _indirectBuffer;
- private BufferRange _parameterBuffer;
- private int _maxDrawCount;
- private int _stride;
- public void Set(BufferRange indirectBuffer, BufferRange parameterBuffer, int maxDrawCount, int stride)
- {
- _indirectBuffer = indirectBuffer;
- _parameterBuffer = parameterBuffer;
- _maxDrawCount = maxDrawCount;
- _stride = stride;
- }
- public static void Run(ref MultiDrawIndirectCountCommand command, ThreadedRenderer threaded, IRenderer renderer)
- {
- renderer.Pipeline.MultiDrawIndirectCount(
- threaded.Buffers.MapBufferRange(command._indirectBuffer),
- threaded.Buffers.MapBufferRange(command._parameterBuffer),
- command._maxDrawCount,
- command._stride
- );
- }
- }
- }
|