diff --git a/src/SharpEmu.Libs/Gpu/GpuCommands/CommandStreamQueue.cs b/src/SharpEmu.Libs/Gpu/GpuCommands/CommandStreamQueue.cs index 907eb38..918a128 100644 --- a/src/SharpEmu.Libs/Gpu/GpuCommands/CommandStreamQueue.cs +++ b/src/SharpEmu.Libs/Gpu/GpuCommands/CommandStreamQueue.cs @@ -336,10 +336,15 @@ public sealed class CommandStreamQueue // Publishes a failure: nothing runs any more and every waiter is released with Failed. public void Fail() { + Action[] cancellations; lock (_gate) { FailLocked(); + cancellations = CancelControlBarriersLocked(); } + + foreach (var cancel in cancellations) + cancel(); } private void FailLocked()