From ebf0a34ae7c118788676a12f3f8f4ea40f981fdc Mon Sep 17 00:00:00 2001 From: JarredDavies Date: Fri, 1 Dec 2017 16:25:23 +0000 Subject: [PATCH] Request memory with VK_MEMORY_PROPERTY_HOST_COHERENT_BIT enabled for model staging buffers. There is no guarantee in the spec on the order of the following memory types: VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, which means we can't assume that the first memory type with VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT is going to be coherent. --- base/VulkanModel.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/base/VulkanModel.hpp b/base/VulkanModel.hpp index 499116f2..daf8dc16 100644 --- a/base/VulkanModel.hpp +++ b/base/VulkanModel.hpp @@ -314,7 +314,7 @@ namespace vks // Vertex buffer VK_CHECK_RESULT(device->createBuffer( VK_BUFFER_USAGE_TRANSFER_SRC_BIT, - VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, &vertexStaging, vBufferSize, vertexBuffer.data())); @@ -322,7 +322,7 @@ namespace vks // Index buffer VK_CHECK_RESULT(device->createBuffer( VK_BUFFER_USAGE_TRANSFER_SRC_BIT, - VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT, + VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT, &indexStaging, iBufferSize, indexBuffer.data()));