ggml:fix finding transfer queue family index error (#6094)

Co-authored-by: GainLee <ligen@meizu.com>
This commit is contained in:
GainLee 2024-03-18 01:12:22 +08:00 committed by GitHub
parent c47cf414ef
commit dc0f612548
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -710,6 +710,12 @@ static uint32_t ggml_vk_find_queue_family_index(std::vector<vk::QueueFamilyPrope
} }
} }
// All commands that are allowed on a queue that supports transfer operations are also allowed on a queue that supports either graphics or compute operations.
// Thus, if the capabilities of a queue family include VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT, then reporting the VK_QUEUE_TRANSFER_BIT capability separately for that queue family is optional.
if (compute_index >= 0) {
return compute_index;
}
std::cerr << "ggml_vulkan: No suitable queue family index found." << std::endl; std::cerr << "ggml_vulkan: No suitable queue family index found." << std::endl;
for(auto &q_family : queue_family_props) { for(auto &q_family : queue_family_props) {