Add {flush,invalidate}MappedMemoryRange to vkMemUtil
authorPyry Haulos <phaulos@google.com>
Wed, 2 Sep 2015 17:35:42 +0000 (10:35 -0700)
committerPyry Haulos <phaulos@google.com>
Wed, 2 Sep 2015 17:35:42 +0000 (10:35 -0700)
Change-Id: Iba592b3133a439302476182c5019191ee415ceec

external/vulkancts/framework/vulkan/vkMemUtil.cpp
external/vulkancts/framework/vulkan/vkMemUtil.hpp

index 1116140..9eb3f02 100644 (file)
@@ -221,4 +221,32 @@ MovePtr<Allocation> SimpleAllocator::allocate (const VkMemoryRequirements& memRe
        return MovePtr<Allocation>(new SimpleAllocation(mem, hostPtr));
 }
 
+void flushMappedMemoryRange (const DeviceInterface& vkd, VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size)
+{
+       const VkMappedMemoryRange       range   =
+       {
+               VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
+               DE_NULL,
+               memory,
+               offset,
+               size
+       };
+
+       VK_CHECK(vkd.flushMappedMemoryRanges(device, 1u, &range));
+}
+
+void invalidateMappedMemoryRange (const DeviceInterface& vkd, VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size)
+{
+       const VkMappedMemoryRange       range   =
+       {
+               VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE,
+               DE_NULL,
+               memory,
+               offset,
+               size
+       };
+
+       VK_CHECK(vkd.invalidateMappedMemoryRanges(device, 1u, &range));
+}
+
 } // vk
index e2525f6..b6fd48a 100644 (file)
@@ -144,6 +144,9 @@ private:
        const VkPhysicalDeviceMemoryProperties  m_memProps;
 };
 
+void   flushMappedMemoryRange          (const DeviceInterface& vkd, VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size);
+void   invalidateMappedMemoryRange     (const DeviceInterface& vkd, VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size);
+
 } // vk
 
 #endif // _VKMEMUTIL_HPP