Fix storage buffers being lost when bindings are out of order

(also avoid allocations when changing bindings)
This commit is contained in:
riperiperi 2021-12-03 17:01:00 +00:00
parent db3a28f731
commit f6c2f7a8d6

View file

@ -145,8 +145,11 @@ namespace Ryujinx.Graphics.Vulkan
public void SetStorageBuffers(CommandBuffer commandBuffer, int first, ReadOnlySpan<BufferRange> buffers)
{
Array.Resize(ref _storageBuffers, first + buffers.Length);
Array.Resize(ref _storageBufferRefs, first + buffers.Length);
if (_storageBuffers.Length < first + buffers.Length)
{
Array.Resize(ref _storageBuffers, first + buffers.Length);
Array.Resize(ref _storageBufferRefs, first + buffers.Length);
}
for (int i = 0; i < buffers.Length; i++)
{