vkEnumeratePhysicalDevices only returns one device on ROG Zephyrus G14.
When using vkEnumeratePhysicalDevices() in vulkan on my ROG Zephyrus G14, the function only returns the integrated GPU. The GPUs in the laptop are:
Nvidia GeForce RTX 2060 with Max-Q
AMD Radeon(TM) Graphics
The CPU is:
AMD Ryzen 9 4900HS with Radeon Graphics
When I call vkEnumeratePhysicalDevices(), it always returns only the integrated graphics card (AMD Radeon(TM) Graphics). Even in vulkaninfo only the integrated graphics card shows up. This leads me to believe that it is something wrong with the drivers and not my code (I have tried uninstalling and reinstalling all drivers on my pc). Here is where it gets really weird though, this all gets fixed if I go into device manager and disable the integrated graphics card, and then try running either my code or vulkaninfo. After doing this, both vulkaninfo and my code can now see the dedicated GPU but obviously not the integrated GPU because it's disabled.
I believe what is happening is that the drivers for the integrated graphics card are "overriding" the dedicated GPU in an attempt to save power as I am running this on a laptop. They effectively "hide" the dedicated GPU because it isn't being used.
Any other thoughts or any solutions would be greatly appreciated!