dozen: return INCOMPATIBLE_DRIVER on instance create failure

When probing on generic Linux platforms, the loading of d3d12 and
the first init of could fail, but the error returned causes a
loader warning to be printed.

Use the correct error return to stop this.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38611>
(cherry picked from commit c00b66fa71)
This commit is contained in:
Dave Airlie 2025-11-24 09:22:22 +10:00 committed by Eric Engestrom
parent 6872db98fb
commit adbaaf291c
2 changed files with 3 additions and 3 deletions

View file

@ -3954,7 +3954,7 @@
"description": "dozen: return INCOMPATIBLE_DRIVER on instance create failure",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -1836,13 +1836,13 @@ dzn_instance_create(const VkInstanceCreateInfo *pCreateInfo,
instance->d3d12_mod = util_dl_open(UTIL_DL_PREFIX "d3d12" UTIL_DL_EXT);
if (!instance->d3d12_mod) {
dzn_instance_destroy(instance, pAllocator);
return vk_error(NULL, VK_ERROR_INITIALIZATION_FAILED);
return vk_error(NULL, VK_ERROR_INCOMPATIBLE_DRIVER);
}
instance->d3d12.serialize_root_sig = d3d12_get_serialize_root_sig(instance->d3d12_mod);
if (!instance->d3d12.serialize_root_sig) {
dzn_instance_destroy(instance, pAllocator);
return vk_error(NULL, VK_ERROR_INITIALIZATION_FAILED);
return vk_error(NULL, VK_ERROR_INCOMPATIBLE_DRIVER);
}
instance->factory = try_create_device_factory(instance->d3d12_mod);