aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Graphics.Vulkan/BarrierBatch.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Graphics.Vulkan/BarrierBatch.cs')
-rw-r--r--src/Ryujinx.Graphics.Vulkan/BarrierBatch.cs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Ryujinx.Graphics.Vulkan/BarrierBatch.cs b/src/Ryujinx.Graphics.Vulkan/BarrierBatch.cs
index 3b44c98c..aa158f03 100644
--- a/src/Ryujinx.Graphics.Vulkan/BarrierBatch.cs
+++ b/src/Ryujinx.Graphics.Vulkan/BarrierBatch.cs
@@ -95,6 +95,7 @@ namespace Ryujinx.Graphics.Vulkan
List<BarrierWithStageFlags<T>> list) where T : unmanaged
{
int firstMatch = -1;
+ int end = list.Count;
for (int i = 0; i < list.Count; i++)
{
@@ -111,6 +112,7 @@ namespace Ryujinx.Graphics.Vulkan
if (count >= target.Length)
{
+ end = i + 1;
break;
}
}
@@ -128,6 +130,7 @@ namespace Ryujinx.Graphics.Vulkan
if (count >= target.Length)
{
+ end = i + 1;
break;
}
}
@@ -146,13 +149,13 @@ namespace Ryujinx.Graphics.Vulkan
}
}
- if (firstMatch == 0)
+ if (firstMatch == 0 && end == list.Count)
{
list.Clear();
}
else if (firstMatch != -1)
{
- int deleteCount = list.Count - firstMatch;
+ int deleteCount = end - firstMatch;
list.RemoveRange(firstMatch, deleteCount);
}