[dxvk] Use granular image access tracking in copyImageToBufferCs

This commit is contained in:
Philip Rebohle 2025-03-01 02:45:46 +01:00
parent e9bc7c5cd1
commit e49733f36d

View file

@ -3787,7 +3787,8 @@ namespace dxvk {
ensureImageCompatibility(image, imageUsage);
flushPendingAccesses(*image, vk::makeSubresourceRange(imageSubresource), DxvkAccess::Read);
flushPendingAccesses(*image, imageSubresource,
imageOffset, imageExtent, DxvkAccess::Read);
if (unlikely(m_features.test(DxvkContextFeature::DebugUtils))) {
const char* dstName = buffer->info().debugName;
@ -3932,7 +3933,7 @@ namespace dxvk {
accessBuffer(DxvkCmdBuffer::ExecBuffer, *bufferView,
VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, VK_ACCESS_2_SHADER_WRITE_BIT, DxvkAccessOp::None);
accessImage(DxvkCmdBuffer::ExecBuffer, *image, vk::makeSubresourceRange(imageSubresource), imageLayout,
accessImageRegion(DxvkCmdBuffer::ExecBuffer, *image, imageSubresource, imageOffset, imageExtent, imageLayout,
VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT, VK_ACCESS_2_SHADER_READ_BIT, DxvkAccessOp::None);
m_flags.set(DxvkContextFlag::ForceWriteAfterWriteSync);