diff --git a/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.Scheduler.cs b/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.Scheduler.cs index 1f09f5c..dbdff71 100644 --- a/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.Scheduler.cs +++ b/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.Scheduler.cs @@ -22,7 +22,7 @@ internal static unsafe partial class VulkanVideoPresenter // This partial owns the submission scheduler and the GPU worker relay. private readonly object _queueGate = new(); - private readonly GpuWorkerRelay _relay = new(WakeRenderThread); + private readonly GpuWorkerRelay _relay; internal GpuWorkerRelay Relay => _relay; private readonly SubmissionContext _submissionContext = new(); diff --git a/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.cs b/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.cs index 8fd8978..c9a8d52 100644 --- a/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.cs +++ b/src/SharpEmu.Libs/VideoOut/VulkanVideoPresenter.cs @@ -9,6 +9,7 @@ using SharpEmu.Libs.AvPlayer; using SharpEmu.Libs.Media; using SharpEmu.Libs.Gpu; using SharpEmu.Libs.Gpu.GpuCommands; +using SharpEmu.Libs.Gpu.Scheduling; using SharpEmu.Libs.Gpu.Images; using SharpEmu.ShaderCompiler; using SharpEmu.ShaderCompiler.Vulkan; @@ -255,6 +256,7 @@ internal static unsafe partial class VulkanVideoPresenter public Presenter(uint width, uint height) { _commandStream = new CommandStreamQueue(this); + _relay = new GpuWorkerRelay(WakeRenderThread, _commandStream.TryEnqueueControlBarrier); _hostBufferPool = new VulkanHostBufferPool( MaximumCachedHostBufferBytes, DestroyHostBufferAllocation);