To flush ranges of non-coherent memory from the host caches, call:
VkResult vkFlushMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
deviceis the logical device that owns the memory ranges.
memoryRangeCountis the length of the
pMemoryRangesis a pointer to an array of
VkMappedMemoryRangestructures describing the memory ranges to flush.
vkFlushMappedMemoryRanges must be used to guarantee that host writes
to non-coherent memory are visible to the device.
It must be called after the host writes to non-coherent memory have
completed and before command buffers that will read or write any of those
memory locations are submitted to a queue.
Unmapping non-coherent memory does not implicitly flush the mapped memory, and host writes that have not been flushed may not ever be visible to the device.
For more information, see the Vulkan Specification at URL
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification,not directly.
Copyright (c) 2014-2017 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.