From db3a28f7316bb09e57830a3365ec34f1a279aa6a Mon Sep 17 00:00:00 2001 From: gdk Date: Sat, 27 Nov 2021 19:29:27 -0300 Subject: [PATCH] Fix uniform buffers being lost when bindings are out of order --- Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs index 8a7743eeb..e5b10cbbb 100644 --- a/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs +++ b/Ryujinx.Graphics.Vulkan/DescriptorSetUpdater.cs @@ -211,8 +211,11 @@ namespace Ryujinx.Graphics.Vulkan public void SetUniformBuffers(CommandBuffer commandBuffer, int first, ReadOnlySpan buffers) { - Array.Resize(ref _uniformBuffers, first + buffers.Length); - Array.Resize(ref _uniformBufferRefs, first + buffers.Length); + if (_uniformBuffers.Length < first + buffers.Length) + { + Array.Resize(ref _uniformBuffers, first + buffers.Length); + Array.Resize(ref _uniformBufferRefs, first + buffers.Length); + } for (int i = 0; i < buffers.Length; i++) {