clients/simple-dmabuf-vulkan.c: fix find_memory_type()

Same as simple-vulkan.c.

Signed-off-by: Hiroaki Yamamoto <hrak1529@gmail.com>
This commit is contained in:
tokyo4j 2026-03-15 13:53:26 +09:00 committed by Hiroaki Yamamoto
parent ae25e544c4
commit ab1fa93abd

View file

@ -459,8 +459,11 @@ find_memory_type(struct display *display, uint32_t allowed, VkMemoryPropertyFlag
VkPhysicalDeviceMemoryProperties mem_properties;
vkGetPhysicalDeviceMemoryProperties(display->vk.phys_dev, &mem_properties);
for (unsigned i = 0; (1u << i) <= allowed && i <= mem_properties.memoryTypeCount; ++i) {
if ((allowed & (1u << i)) && (mem_properties.memoryTypes[i].propertyFlags & properties))
for (unsigned i = 0; i < mem_properties.memoryTypeCount; ++i) {
bool is_allowed = allowed & (1u << i);
bool has_properties =
(mem_properties.memoryTypes[i].propertyFlags & properties) == properties;
if (is_allowed && has_properties)
return i;
}
return -1;