Expand description
DXGI adapter enumeration + D3DKMT LUID→PCI identity (§3.1/§3.3).
Structs§
- Adapter
Info - Everything the backend needs about one DXGI adapter — pure data, any OS.
Functions§
- bdf_
string - Format a D3DKMT
ADAPTERADDRESSas the normalized BDF the whole tool keys on:"0000:bb:dd.f", lowercase hex. The struct has no PCI-domain field — client Windows is effectively always domain 0 (§2.5), hence the literal0000. This is byte-compatible with whatnormalize_pci_idproduces from NVML’s 8-hex-digit-domain form, which is exactly what makes first-wins dedupe work. - synthetic_
device_ id - Fallback
DeviceIdwhen the D3DKMT address query fails (§3.1):wddm:<vendor>:<device>:<ordinal>. Thewddm:prefix is not hex, sonormalize_pci_idcorrectly refuses to dedupe it — listing a device twice beats wrongly merging two. Stable within a session only; good enough for a degraded “device-level only with synthetic id” state. - vendor_
of - PCI vendor-id → vendor. Pure, tested on any OS. Unknown ids (including 0x1414
Microsoft, whose software adapters are skipped before this is ever consulted) map
to
Unknown— which renders as the honest generic “GPU”.