From bc87b64d615acb90595328ff9c67c2e764ce8e8d Mon Sep 17 00:00:00 2001 From: evanokeeffe Date: Tue, 8 Sep 2026 14:51:00 +0100 Subject: [PATCH] This helped with a vector and memcpy issue I was having, was spending nearly 350ms just on reads for an image processing pipeline. With this simple modification I was able to drop that to 62.1ms on my machine Signed-off-by: evanokeeffe --- src/Tensor.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Tensor.cpp b/src/Tensor.cpp index a1eaccf2..dc2aad10 100644 --- a/src/Tensor.cpp +++ b/src/Tensor.cpp @@ -288,7 +288,10 @@ Tensor::getPrimaryBufferUsageFlags() { switch (this->mMemoryType) { case MemoryTypes::eDevice: - case MemoryTypes::eHost: + case TensorTypes::eHost: + return vk::MemoryPropertyFlagBits::eHostVisible | + vk::MemoryPropertyFlagBits::eHostCoherent; + break; case MemoryTypes::eDeviceAndHost: return vk::BufferUsageFlagBits::eStorageBuffer | vk::BufferUsageFlagBits::eTransferSrc | @@ -311,8 +314,8 @@ Tensor::getStagingBufferUsageFlags() { switch (this->mMemoryType) { case MemoryTypes::eDevice: - return vk::BufferUsageFlagBits::eTransferSrc | - vk::BufferUsageFlagBits::eTransferDst; + return vk::MemoryPropertyFlagBits::eHostVisible | + vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostCached; break; default: throw std::runtime_error("Kompute Tensor invalid tensor type");