aboutsummaryrefslogblamecommitdiff
path: root/src/Ryujinx.Graphics.GAL/Multithreading/Commands/Renderer/CreateHostBufferCommand.cs
blob: 0001680b659afee842c8ddac988c18027802ea99 (plain) (tree)
1
2
3
4
5
                                                               

                                                                                      
                                                                                















                                                                                                                           
namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Renderer
{
    struct CreateHostBufferCommand : IGALCommand, IGALCommand<CreateHostBufferCommand>
    {
        public readonly CommandType CommandType => CommandType.CreateHostBuffer;
        private BufferHandle _threadedHandle;
        private nint _pointer;
        private int _size;

        public void Set(BufferHandle threadedHandle, nint pointer, int size)
        {
            _threadedHandle = threadedHandle;
            _pointer = pointer;
            _size = size;
        }

        public static void Run(ref CreateHostBufferCommand command, ThreadedRenderer threaded, IRenderer renderer)
        {
            threaded.Buffers.AssignBuffer(command._threadedHandle, renderer.CreateBuffer(command._pointer, command._size));
        }
    }
}