|
|
@@ -31,11 +31,9 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
public int SubmissionCount;
|
|
|
public CommandBuffer CommandBuffer;
|
|
|
public FenceHolder Fence;
|
|
|
- public SemaphoreHolder Semaphore;
|
|
|
|
|
|
public List<IAuto> Dependants;
|
|
|
public List<MultiFenceHolder> Waitables;
|
|
|
- public HashSet<SemaphoreHolder> Dependencies;
|
|
|
|
|
|
public void Initialize(Vk api, Device device, CommandPool pool)
|
|
|
{
|
|
|
@@ -51,7 +49,6 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
|
|
|
Dependants = new List<IAuto>();
|
|
|
Waitables = new List<MultiFenceHolder>();
|
|
|
- Dependencies = new HashSet<SemaphoreHolder>();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -143,14 +140,6 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public void AddDependency(int cbIndex, CommandBufferScoped dependencyCbs)
|
|
|
- {
|
|
|
- Debug.Assert(_commandBuffers[cbIndex].InUse);
|
|
|
- var semaphoreHolder = _commandBuffers[dependencyCbs.CommandBufferIndex].Semaphore;
|
|
|
- semaphoreHolder.Get();
|
|
|
- _commandBuffers[cbIndex].Dependencies.Add(semaphoreHolder);
|
|
|
- }
|
|
|
-
|
|
|
public void AddWaitable(int cbIndex, MultiFenceHolder waitable)
|
|
|
{
|
|
|
ref var entry = ref _commandBuffers[cbIndex];
|
|
|
@@ -354,14 +343,8 @@ namespace Ryujinx.Graphics.Vulkan
|
|
|
waitable.RemoveBufferUses(cbIndex);
|
|
|
}
|
|
|
|
|
|
- foreach (var dependency in entry.Dependencies)
|
|
|
- {
|
|
|
- dependency.Put();
|
|
|
- }
|
|
|
-
|
|
|
entry.Dependants.Clear();
|
|
|
entry.Waitables.Clear();
|
|
|
- entry.Dependencies.Clear();
|
|
|
entry.Fence?.Dispose();
|
|
|
|
|
|
if (refreshFence)
|