aboutsummaryrefslogblamecommitdiff
path: root/src/Ryujinx.Graphics.GAL/Multithreading/Commands/Buffer/BufferDisposeCommand.cs
blob: aaf8e5b2d5e26bb011b20d7c074e9b0ad765793a (plain) (tree)
1
2
3
4
5
                                                             
 
                                                                                
     
                                                                             












                                                                                                               
namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Buffer
{
    struct BufferDisposeCommand : IGALCommand, IGALCommand<BufferDisposeCommand>
    {
        public readonly CommandType CommandType => CommandType.BufferDispose;
        private BufferHandle _buffer;

        public void Set(BufferHandle buffer)
        {
            _buffer = buffer;
        }

        public static void Run(ref BufferDisposeCommand command, ThreadedRenderer threaded, IRenderer renderer)
        {
            renderer.DeleteBuffer(threaded.Buffers.MapBuffer(command._buffer));
            threaded.Buffers.UnassignBuffer(command._buffer);
        }
    }
}