diff --git a/src/OpAlgoDispatch.cpp b/src/OpAlgoDispatch.cpp index 94502cc76..517a70d52 100644 --- a/src/OpAlgoDispatch.cpp +++ b/src/OpAlgoDispatch.cpp @@ -28,9 +28,9 @@ OpAlgoDispatch::record(const vk::CommandBuffer& commandBuffer) this->mAlgorithm->getTensors()) { tensor->recordPrimaryBufferMemoryBarrier( commandBuffer, - vk::AccessFlagBits::eHostWrite, + vk::AccessFlagBits::eTransferWrite, vk::AccessFlagBits::eShaderRead, - vk::PipelineStageFlagBits::eHost, + vk::PipelineStageFlagBits::eTransfer, vk::PipelineStageFlagBits::eComputeShader); } diff --git a/src/OpTensorSyncLocal.cpp b/src/OpTensorSyncLocal.cpp index 70642b9de..8a99c780b 100644 --- a/src/OpTensorSyncLocal.cpp +++ b/src/OpTensorSyncLocal.cpp @@ -31,13 +31,13 @@ OpTensorSyncLocal::record(const vk::CommandBuffer& commandBuffer) for (size_t i = 0; i < this->mTensors.size(); i++) { if (this->mTensors[i]->tensorType() == Tensor::TensorTypes::eDevice) { - this->mTensors[i]->recordCopyFromDeviceToStaging(commandBuffer); + this->mTensors[i]->recordPrimaryBufferMemoryBarrier(commandBuffer, + vk::AccessFlagBits::eShaderWrite, + vk::AccessFlagBits::eTransferRead, + vk::PipelineStageFlagBits::eComputeShader, + vk::PipelineStageFlagBits::eTransfer); - this->mTensors[i]->recordStagingBufferMemoryBarrier(commandBuffer, - vk::AccessFlagBits::eTransferWrite, - vk::AccessFlagBits::eHostRead, - vk::PipelineStageFlagBits::eTransfer, - vk::PipelineStageFlagBits::eHost); + this->mTensors[i]->recordCopyFromDeviceToStaging(commandBuffer); } } }