Skip to content

Commit 6d172a7

Browse files
authored
fix: deduplicate and deprioritize Microsoft Direct3D12 vulkan devices from the vulkan-dozen driver
1 parent cec5edb commit 6d172a7

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

ggml/src/ggml-vulkan/ggml-vulkan.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4733,7 +4733,12 @@ static void ggml_vk_instance_init() {
47334733
vk::PhysicalDeviceIDProperties old_id;
47344734
old_props.pNext = &old_id;
47354735
devices[k].getProperties2(&old_props);
4736-
return std::equal(std::begin(old_id.deviceUUID), std::end(old_id.deviceUUID), std::begin(new_id.deviceUUID));
4736+
4737+
bool equals = std::equal(std::begin(old_id.deviceUUID), std::end(old_id.deviceUUID), std::begin(new_id.deviceUUID));
4738+
equals |= old_id.deviceLUIDValid && new_id.deviceLUIDValid &&
4739+
std::equal(std::begin(old_id.deviceLUID), std::end(old_id.deviceLUID), std::begin(new_id.deviceLUID));
4740+
4741+
return equals;
47374742
}
47384743
);
47394744
if (old_device == vk_instance.device_indices.end()) {
@@ -4771,6 +4776,7 @@ static void ggml_vk_instance_init() {
47714776
#endif
47724777
break;
47734778
}
4779+
driver_priorities[vk::DriverId::eMesaDozen] = 4;
47744780

47754781
if (driver_priorities.count(old_driver.driverID)) {
47764782
old_priority = driver_priorities[old_driver.driverID];

0 commit comments

Comments
 (0)