Call both EnumPhysDevs & EnumAdapterPhysDevs on drivers
authorCharles Giessen <charles@lunarg.com>
Fri, 14 Oct 2022 23:51:02 +0000 (17:51 -0600)
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>
Wed, 9 Nov 2022 23:28:26 +0000 (16:28 -0700)
commit1b40be299b0228fadc37a84b59bb4578c313b453
tree80b958fcc0a80074f1a4bdc7f667552429e941e3
parent897f82b7eba847af3aea6cda56da32ddc0bc51d3
Call both EnumPhysDevs & EnumAdapterPhysDevs on drivers

This change is necessary to allow drivers that have both real physical
devices with a LUID and software based physical devices which lack a LUID.
It works by calling both vk_icdEnumerateAdapterPhysicalDevice and
vkEnumeratePhysicalDevice then deduplicating the returned physical devices
using the VkPhysicalDevice handles.

This commit also fixes an issue where tests would erroneously add a layer to the
driver registry.
docs/LoaderDriverInterface.md
loader/loader.c
tests/framework/shim/shim_common.cpp
tests/loader_alloc_callback_tests.cpp