在DirectX9中,我可以调用IDirect3D9::GetAdapterIdentifier
方法以使用适配器驱动程序版本D3DADAPTER_IDENTIFIER9
获取DriverVersion
。
DirectX12中是否有类似的东西可以获取驱动程序版本?
答案 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)