From 1ec88c65f83e0bd51d257246a9d82c457cd29adf Mon Sep 17 00:00:00 2001 From: "HuYingzhuo(hugo/hyzboy)" Date: Tue, 25 Apr 2023 15:21:23 +0800 Subject: [PATCH] added comment about memory property in VKDeviceBuffer.cpp --- src/SceneGraph/Vulkan/VKDeviceBuffer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/SceneGraph/Vulkan/VKDeviceBuffer.cpp b/src/SceneGraph/Vulkan/VKDeviceBuffer.cpp index 57932461..95968186 100644 --- a/src/SceneGraph/Vulkan/VKDeviceBuffer.cpp +++ b/src/SceneGraph/Vulkan/VKDeviceBuffer.cpp @@ -26,7 +26,10 @@ bool GPUDevice::CreateBuffer(DeviceBufferData *buf,VkBufferUsageFlags buf_usage, vkGetBufferMemoryRequirements(attr->device,buf->buffer,&mem_reqs); - DeviceMemory *dm=CreateMemory(mem_reqs,VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT|VK_MEMORY_PROPERTY_HOST_COHERENT_BIT); + DeviceMemory *dm=CreateMemory(mem_reqs, VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT //CPU端可以Map + |VK_MEMORY_PROPERTY_HOST_COHERENT_BIT); //CPU端无需Flush,即可被GPU访问 + //注:这个模式并非最佳效能,但是在开发时最为方便 + //Device Local模式仅支持GPU访问,是性能最佳,考虑在一些极端情况下使用 if(dm&&dm->BindBuffer(buf->buffer)) { @@ -38,7 +41,7 @@ bool GPUDevice::CreateBuffer(DeviceBufferData *buf,VkBufferUsageFlags buf_usage, if(!data) return(true); - + dm->Write(data,0,size); return(true); }