aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.GAL/Multithreading/Commands/Renderer/CreateSyncCommand.cs
blob: 138a459151e95a5eae90c9e6bf70fd30e3f6594e (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);
        }
    }
}