diff --git a/src/dxvk/dxvk_buffer.cpp b/src/dxvk/dxvk_buffer.cpp index d3145518..17f4a53b 100644 --- a/src/dxvk/dxvk_buffer.cpp +++ b/src/dxvk/dxvk_buffer.cpp @@ -1,6 +1,8 @@ #include "dxvk_buffer.h" #include "dxvk_device.h" +#include + namespace dxvk { DxvkBuffer::DxvkBuffer( @@ -222,6 +224,11 @@ namespace dxvk { void DxvkBufferTracker::reset() { + std::sort(m_entries.begin(), m_entries.end(), + [] (const Entry& a, const Entry& b) { + return a.slice.handle < b.slice.handle; + }); + for (const auto& e : m_entries) e.buffer->freeSlice(e.slice);