From fd7100976710fd5f84600734f61f948e8394d578 Mon Sep 17 00:00:00 2001 From: Stephen Gallimore Date: Tue, 12 Jun 2018 15:35:46 +0100 Subject: [PATCH] Memory binding tests not invaidating host memory before results check. Affected tests: dEQP-VK.memory.binding.*.buffer_* Components: Vulkan VK-GL-CTS issue: 1214 Change-Id: Ib347401ee818a42487df001f3ba76247b157321c --- .../vulkancts/modules/vulkan/memory/vktMemoryBindingTests.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/external/vulkancts/modules/vulkan/memory/vktMemoryBindingTests.cpp b/external/vulkancts/modules/vulkan/memory/vktMemoryBindingTests.cpp index 6e47e24..3764625 100644 --- a/external/vulkancts/modules/vulkan/memory/vktMemoryBindingTests.cpp +++ b/external/vulkancts/modules/vulkan/memory/vktMemoryBindingTests.cpp @@ -93,6 +93,14 @@ public: VK_CHECK(vk.flushMappedMemoryRanges(dev, 1u, &range)); } + void invalidate (VkDeviceSize offset, + VkDeviceSize size) + { + const VkMappedMemoryRange range = makeMemoryRange(offset, size); + VK_CHECK(vk.invalidateMappedMemoryRanges(dev, 1u, &range)); + } + + protected: const DeviceInterface& vk; const VkDevice& dev; @@ -818,6 +826,8 @@ deBool checkData (VkDeviceMemory memory, deUint8* hostBuffer = static_cast(hostMemory.ptr()); SimpleRandomGenerator random (dataSeed); + hostMemory.invalidate(0u, params.bufferSize); + for (deUint32 i = 0u; i < params.bufferSize; ++i) { if (hostBuffer[i] != static_cast(random.getNext() & 0xFFu) ) -- 2.7.4