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) public void SetStorageBuffers(CommandBuffer commandBuffer, int first, ReadOnlySpan<BufferRange> buffers)
{ {
Array.Resize(ref _storageBuffers, first + buffers.Length); if (_storageBuffers.Length < first + buffers.Length)
Array.Resize(ref _storageBufferRefs, 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++) for (int i = 0; i < buffers.Length; i++)
{ {