Index: src/gpu/vk/GrVkBuffer.cpp |
diff --git a/src/gpu/vk/GrVkBuffer.cpp b/src/gpu/vk/GrVkBuffer.cpp |
index a03ea0cc41ef43ba0c4f71b7b4eaa9054409c27f..b16251c14da83afaeaaa63f771e88f7f95aec186 100644 |
--- a/src/gpu/vk/GrVkBuffer.cpp |
+++ b/src/gpu/vk/GrVkBuffer.cpp |
@@ -151,6 +151,7 @@ void GrVkBuffer::vkUnmap(GrVkGpu* gpu) { |
SkASSERT(this->vkIsMapped()); |
if (fDesc.fDynamic) { |
+ GrVkMemory::FlushMappedAlloc(gpu, this->alloc()); |
VK_CALL(gpu, UnmapMemory(gpu->device(), this->alloc().fMemory)); |
} else { |
gpu->updateBuffer(this, fMapPtr, this->offset(), this->size()); |
@@ -199,6 +200,7 @@ bool GrVkBuffer::vkUpdateData(GrVkGpu* gpu, const void* src, size_t srcSizeInByt |
memcpy(mapPtr, src, srcSizeInBytes); |
+ GrVkMemory::FlushMappedAlloc(gpu, this->alloc()); |
VK_CALL(gpu, UnmapMemory(gpu->device(), alloc.fMemory)); |
return true; |