From 90ce37c8c907f8f57fd7c07245b96e395202f543 Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Fri, 20 Dec 2019 18:07:35 +0000 Subject: [PATCH] [d3d9] Make ChangeReportedMemory actually atomic Massive edge case that will never happen, but better to be safe than sorry. Reduces the atomic ops too. --- src/d3d9/d3d9_device.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/d3d9/d3d9_device.h b/src/d3d9/d3d9_device.h index 81a822551..5a2c29df3 100644 --- a/src/d3d9/d3d9_device.h +++ b/src/d3d9/d3d9_device.h @@ -851,9 +851,9 @@ namespace dxvk { if (IsExtended()) return true; - m_availableMemory += delta; + int64_t availableMemory = m_availableMemory.fetch_add(delta); - return !m_d3d9Options.memoryTrackTest || m_availableMemory > 0; + return !m_d3d9Options.memoryTrackTest || availableMemory >= delta; } void ResolveZ();