From 1a4ac219ed5f18d4d11ff55449b24494ee968a7c Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Thu, 24 Oct 2024 18:51:26 +0200 Subject: [PATCH] [dxvk] Properly flush everything before recording defrag commands --- src/dxvk/dxvk_context.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index f22c5aa9f..1ce45dbcd 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -82,6 +82,7 @@ namespace dxvk { Rc DxvkContext::endRecording() { this->endCurrentCommands(); + this->relocateQueuedResources(); if (m_descriptorPool->shouldSubmit(false)) { m_cmd->trackDescriptorPool(m_descriptorPool, m_descriptorManager); @@ -102,8 +103,6 @@ namespace dxvk { void DxvkContext::flushCommandList(DxvkSubmitStatus* status) { - relocateQueuedResources(); - m_device->submitCommandList( this->endRecording(), status); @@ -6565,8 +6564,6 @@ namespace dxvk { // If there are any resources to relocate, we have to stall the transfer // queue so that subsequent resource uploads do not overlap with resource // copies on the graphics timeline. - this->spillRenderPass(true); - relocateResources( bufferInfos.size(), bufferInfos.data(), imageInfos.size(), imageInfos.data());