如何在DirectX12中获取适配器驱动程序版本?

时间:2019-07-08 12:41:34

标签: visual-c++ driver directx-12

在DirectX9中,我可以调用IDirect3D9::GetAdapterIdentifier方法以使用适配器驱动程序版本D3DADAPTER_IDENTIFIER9获取DriverVersion

DirectX12中是否有类似的东西可以获取驱动程序版本?

2 个答案:

答案 0 :(得分:0)

使用DXGI的IDXGIAdapter::GetDesc方法。

这与Direct3D 10和11相同,后者也使用DXGI。

请注意,DXGI_ADAPTER_DESC结构有多个版本,是DXGI 1.6中的最新版本。

答案 1 :(得分:0)

您可以从注册表中获取每个DXGI适配器驱动程序版本,

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ DirectX

(具有与 DXGI_ADAPTER_DESC 匹配的 DeviceId

例如,我得到:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ DirectX {53ED9FF6-8883-11E8-B1FF-C0C7A6E97177}

DeviceId = 0x402

说明=英特尔(R)高清显卡

DriverVersion = 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.1.19 Build 4835,它是有效版本(Intel HD Graphics Driver 20.19.15.4835 64-bit