Skip to content

Commit ac80018

Browse files
kjoh94Angle LUCI CQ
authored andcommitted
CL/Vulkan: Set host cached bit for HOST_PTR buffers
Leads to better performance on "clEnqueueReadBuffer" operations when CL buffers are created as host-pointer based buffers. Bug: angleproject:42267018 Change-Id: I18048deea96858180b63cfad95fe33fbab7f11c9 Signed-off-by: kyongjoo.oh <[email protected]> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6981096 Commit-Queue: Austin Annestrand <[email protected]> Reviewed-by: Shahbaz Youssefi <[email protected]>
1 parent fc46d33 commit ac80018

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/libANGLE/renderer/vulkan/vk_cl_utils.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,13 @@ VkImageViewType GetImageViewType(cl::MemObjectType memObjectType)
106106

107107
VkMemoryPropertyFlags GetMemoryPropertyFlags(cl::MemFlags memFlags)
108108
{
109-
// TODO: http://anglebug.com/42267018
110109
VkMemoryPropertyFlags propFlags = VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;
111110

111+
if (memFlags.intersects(CL_MEM_USE_HOST_PTR | CL_MEM_ALLOC_HOST_PTR))
112+
{
113+
propFlags |= VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT;
114+
}
115+
112116
if (memFlags.intersects(CL_MEM_USE_HOST_PTR | CL_MEM_ALLOC_HOST_PTR | CL_MEM_COPY_HOST_PTR))
113117
{
114118
propFlags |= VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT;

0 commit comments

Comments
 (0)