vk: Improve driver detection for dozen and lavapipe

This commit is contained in:
kd-11 2024-02-11 02:59:54 +03:00 committed by kd-11
parent c2631c914d
commit 7f602937a3
2 changed files with 17 additions and 1 deletions

View file

@ -36,7 +36,9 @@ namespace vk
RADV, RADV,
INTEL, INTEL,
ANV, ANV,
MVK MVK,
DOZEN,
LAVAPIPE
}; };
driver_vendor get_driver_vendor(); driver_vendor get_driver_vendor();

View file

@ -224,6 +224,11 @@ namespace vk
{ {
const auto gpu_name = get_name(); const auto gpu_name = get_name();
if (gpu_name.find("Microsoft Direct3D12") != umax)
{
return driver_vendor::DOZEN;
}
if (gpu_name.find("RADV") != umax) if (gpu_name.find("RADV") != umax)
{ {
return driver_vendor::RADV; return driver_vendor::RADV;
@ -248,6 +253,11 @@ namespace vk
#endif #endif
} }
if (gpu_name.find("llvmpipe") != umax)
{
return driver_vendor::LAVAPIPE;
}
return driver_vendor::unknown; return driver_vendor::unknown;
} }
else else
@ -265,6 +275,10 @@ namespace vk
return driver_vendor::INTEL; return driver_vendor::INTEL;
case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR: case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA_KHR:
return driver_vendor::ANV; return driver_vendor::ANV;
case VK_DRIVER_ID_MESA_DOZEN:
return driver_vendor::DOZEN;
case VK_DRIVER_ID_MESA_LLVMPIPE:
return driver_vendor::LAVAPIPE;
default: default:
// Mobile? // Mobile?
return driver_vendor::unknown; return driver_vendor::unknown;