From 8ce83cabcacbb85871e106c09f09a01819b88fd7 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Sun, 20 Feb 2022 07:27:14 +0100 Subject: [PATCH] [dxvk] Only mark transfer buffers as transient Otherwise we may accidentally catch things like uniform buffers as well. --- src/dxvk/dxvk_buffer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dxvk/dxvk_buffer.cpp b/src/dxvk/dxvk_buffer.cpp index bf718d66..66ee2d02 100644 --- a/src/dxvk/dxvk_buffer.cpp +++ b/src/dxvk/dxvk_buffer.cpp @@ -112,7 +112,8 @@ namespace dxvk { // Staging buffers that can't even be used as a transfer destinations // are likely short-lived, so we should put them on a separate memory // pool in order to avoid fragmentation - if (DxvkBarrierSet::getAccessTypes(m_info.access) == DxvkAccess::Read) + if ((DxvkBarrierSet::getAccessTypes(m_info.access) == DxvkAccess::Read) + && (m_info.usage & VK_BUFFER_USAGE_TRANSFER_SRC_BIT)) hints.set(DxvkMemoryFlag::Transient); // Ask driver whether we should be using a dedicated allocation