A Windows console program that gets all the information about the GPU (graphics chip) installed in the system, through DXGI and Direct3D 12 (D3D12) + AMD AGS, NVAPI, WinAPI, and some other sources.
Inspired by vulkaninfo
- a similar tool that prints all the information about device capabilities using Vulkan API.
An alternative for D3D12 is a GUI program "DirectX Caps Viewer", which is part of Windows SDK and can be found in path like:
c:\Program Files (x86)\Windows Kits\10\bin\*\x64\dxcapsviewer.exe
.
To download an archive with compiled binary, go to Releases. This is a portable program - it doesn't need installation.
Version history can be found in file CHANGELOG.md.
Options:
-v --Version Only print program version information.
-h --Help Only print this help (command line syntax).
-l --List Only print the list of all adapters.
-a --Adapter=<Index> Print details of adapter at specified index (default is the first hardware adapter).
-j --JSON Print output in JSON format instead of human-friendly text.
-f --Formats Include information about DXGI format capabilities.
-e --Enums Include information about all known enums and their values.
--PureD3D12 Extract information only from D3D12 and no other sources.
--WARP Use WARP adapter.
The project is open source under MIT license. See file LICENSE.txt.
The project uses Cmake. It is intended to be built using Microsoft Visual Studio 2022. The source code depends on:
- C++ standard library, including some of the latest C++20 features
- WinAPI from Windows 10 with some reasonably new Windows SDK, including Direct3D 12
It uses following thirt-party libraries:
- DirectX 12 Agility SDK - latest API to Direct3D, by Microsoft.
- Embedded in directory: Src\ThirdParty\microsoft.direct3d.d3d12.*
- RapidJSON - a fast JSON parser/generator, by Tencent. License: MIT.
- Embedded in directory: Src\ThirdParty\rapidjson
- AMD GPU Services - custom vendor extensions to graphics APIs by AMD.
- Linked externally, optional, controlled by Cmake variable
AGS_DIRECTORY
.
- Linked externally, optional, controlled by Cmake variable
- NVAPI - custom vendor extensions to graphics APIs by Nvidia.
- Linked externally, optional, controlled by Cmake variable
NVAPI_DIRECTORY
.
- Linked externally, optional, controlled by Cmake variable
- Vulkan SDK
- Linked externally, Cmake automatically detects Vulkan SDK path, controlled by Cmake variable
ENABLE_VULKAN
- on by default.
- Linked externally, Cmake automatically detects Vulkan SDK path, controlled by Cmake variable