My PC has two graphic cards, RTX A4000 and RX6400.
But EnumAdapters enumrates 3 graphic cards. A4000, RX6400 and A4000
example code:
Microsoft::WRL::ComPtr<IDXGIAdapter1> adapter;
for (UINT adapterIndex = 0; S_OK == factory->EnumAdapters1(adapterIndex, &adapter); ++adapterIndex) {
DXGI_ADAPTER_DESC1 desc;
if (adapter->GetDesc1(&desc) == S_OK && (desc.Flags& DXGI_ADAPTER_FLAG_SOFTWARE)==0) {
wprintf_s(L"%u:%x-%05x: %s\n", adapterIndex, desc.AdapterLuid.HighPart, desc.AdapterLuid.LowPart, desc.Description);
}
}
output:
0:0-0fca0: NVIDIA RTX A4000
1:0-11bf6: AMD Radeon RX 6400
2:0-1b89e: NVIDIA RTX A4000
Why is default graphic card RTX A4000 listed twice when there is only one?
I tested on some PC and multiple GPU combinations, 2080Ti, RTX3070, RTX3060.... and encountered this problem with high probability.
There is no problem if the PC has only one GPU.
DxDiag also reports the default graphic card twice on multi-GPU PC.
I think this problem has occurred since Windows 10 1903~1909.