From 1e8631189c90841be095e92016aec65a6af73f7b Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Thu, 10 Oct 2024 17:28:28 +0200 Subject: [PATCH] [dxvk] Use new layout transition helper in uploadImageHw Allows us to get rid of a barrier set. --- src/dxvk/dxvk_context.cpp | 12 +++--------- src/dxvk/dxvk_context.h | 1 - 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/dxvk/dxvk_context.cpp b/src/dxvk/dxvk_context.cpp index 110aff3ff..ecba5aa1f 100644 --- a/src/dxvk/dxvk_context.cpp +++ b/src/dxvk/dxvk_context.cpp @@ -11,7 +11,6 @@ namespace dxvk { : m_device (device), m_type (type), m_common (&device->m_objects), - m_sdmaAcquires(DxvkCmdBuffer::SdmaBuffer), m_sdmaBarriers(DxvkCmdBuffer::SdmaBuffer), m_initAcquires(DxvkCmdBuffer::InitBuffer), m_initBarriers(DxvkCmdBuffer::InitBuffer), @@ -4729,14 +4728,9 @@ namespace dxvk { // Initialize all subresources of the image at once VkImageLayout transferLayout = image->pickLayout(VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL); - m_sdmaAcquires.accessImage(image, - image->getAvailableSubresources(), - VK_IMAGE_LAYOUT_UNDEFINED, 0, 0, - transferLayout, - VK_PIPELINE_STAGE_TRANSFER_BIT, - VK_ACCESS_TRANSFER_WRITE_BIT); - - m_sdmaAcquires.recordCommands(m_cmd); + addImageInitTransition(*image, image->getAvailableSubresources(), + transferLayout, VK_PIPELINE_STAGE_2_TRANSFER_BIT, VK_ACCESS_2_TRANSFER_WRITE_BIT); + flushImageLayoutTransitions(DxvkCmdBuffer::SdmaBuffer); // Copy image data, one mip at a time VkDeviceSize dataOffset = sourceOffset; diff --git a/src/dxvk/dxvk_context.h b/src/dxvk/dxvk_context.h index 581369c78..e4cb1018b 100644 --- a/src/dxvk/dxvk_context.h +++ b/src/dxvk/dxvk_context.h @@ -1406,7 +1406,6 @@ namespace dxvk { Rc m_descriptorPool; Rc m_descriptorManager; - DxvkBarrierSet m_sdmaAcquires; DxvkBarrierSet m_sdmaBarriers; DxvkBarrierSet m_initAcquires; DxvkBarrierSet m_initBarriers;