aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.GAL/Multithreading/Commands/Renderer/CreateSyncCommand.cs
blob: 9e9caa982fc82673278376f31f0c6768b7b9b2d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace Ryujinx.Graphics.GAL.Multithreading.Commands.Renderer
{
    struct CreateSyncCommand : IGALCommand, IGALCommand<CreateSyncCommand>
    {
        public readonly CommandType CommandType => CommandType.CreateSync;
        private ulong _id;
        private bool _strict;

        public void Set(ulong id, bool strict)
        {
            _id = id;
            _strict = strict;
        }

        public static void Run(ref CreateSyncCommand command, ThreadedRenderer threaded, IRenderer renderer)
        {
            renderer.CreateSync(command._id, command._strict);

            threaded.Sync.AssignSync(command._id);
        }
    }
}