如何在 DirectX12 中获取适配器驱动程序版本?
How to get adapter driver version in DirectX12?
在 DirectX9 中,我可以调用 IDirect3D9::GetAdapterIdentifier
方法来获取 D3DADAPTER_IDENTIFIER9
适配器驱动程序版本 DriverVersion
。
在 DirectX12 中是否有类似的东西来获取驱动程序版本?
使用 DXGI 的 IDXGIAdapter::GetDesc
方法。
这与 Direct3D 10 和 11 相同,它们也使用 DXGI。
注意 DXGI_ADAPTER_DESC
结构有多个版本,最新的是 DXGI 1.6。
您可以从注册表中获取每个 DXGI 适配器驱动程序版本,
键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX
(匹配来自 DXGI_ADAPTER_DESC 的 DeviceId)
例如,我得到:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX{53ED9FF6-8883-11E8-B1FF-C0C7A6E97177}
设备 ID = 0x402
描述 = Intel(R) 高清显卡
驱动程序版本 = 0x140013000f12e3
然后 :
LARGE_INTEGER nDriverVersion;
nDriverVersion.QuadPart = 0x140013000f12e3;
WORD nProduct = HIWORD(nDriverVersion.HighPart);
WORD nVersion = LOWORD(nDriverVersion.HighPart);
WORD nSubVersion = HIWORD(nDriverVersion.LowPart);
WORD nBuild = LOWORD(nDriverVersion.LowPart);
=> 20.19.15 Build 4835,这是一个有效版本 (Intel HD Graphics Driver 20.19.15.4835 64-bit)
在 DirectX9 中,我可以调用 IDirect3D9::GetAdapterIdentifier
方法来获取 D3DADAPTER_IDENTIFIER9
适配器驱动程序版本 DriverVersion
。
在 DirectX12 中是否有类似的东西来获取驱动程序版本?
使用 DXGI 的 IDXGIAdapter::GetDesc
方法。
这与 Direct3D 10 和 11 相同,它们也使用 DXGI。
注意 DXGI_ADAPTER_DESC
结构有多个版本,最新的是 DXGI 1.6。
您可以从注册表中获取每个 DXGI 适配器驱动程序版本,
键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX
(匹配来自 DXGI_ADAPTER_DESC 的 DeviceId)
例如,我得到:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX{53ED9FF6-8883-11E8-B1FF-C0C7A6E97177}
设备 ID = 0x402
描述 = Intel(R) 高清显卡
驱动程序版本 = 0x140013000f12e3
然后 :
LARGE_INTEGER nDriverVersion;
nDriverVersion.QuadPart = 0x140013000f12e3;
WORD nProduct = HIWORD(nDriverVersion.HighPart);
WORD nVersion = LOWORD(nDriverVersion.HighPart);
WORD nSubVersion = HIWORD(nDriverVersion.LowPart);
WORD nBuild = LOWORD(nDriverVersion.LowPart);
=> 20.19.15 Build 4835,这是一个有效版本 (Intel HD Graphics Driver 20.19.15.4835 64-bit)