{"id":13731866,"url":"https://github.com/sawickiap/D3d12info","last_synced_at":"2025-05-08T05:31:52.797Z","repository":{"id":37251523,"uuid":"154886643","full_name":"sawickiap/D3d12info","owner":"sawickiap","description":"A Windows console tool that prints all the information about the GPU extracted using DXGI and Direct3D 12","archived":false,"fork":false,"pushed_at":"2025-04-22T20:31:20.000Z","size":63985,"stargazers_count":111,"open_issues_count":1,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-22T21:30:38.377Z","etag":null,"topics":["d3d12","direct3d12","directx","directx12","dxgi","graphics","rendering"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sawickiap.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-26T19:49:36.000Z","updated_at":"2025-04-22T20:31:25.000Z","dependencies_parsed_at":"2023-02-02T21:45:16.015Z","dependency_job_id":"551433c3-af32-43ad-85ad-b45912b13049","html_url":"https://github.com/sawickiap/D3d12info","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sawickiap%2FD3d12info","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sawickiap%2FD3d12info/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sawickiap%2FD3d12info/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sawickiap%2FD3d12info/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sawickiap","download_url":"https://codeload.github.com/sawickiap/D3d12info/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253008810,"owners_count":21839700,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["d3d12","direct3d12","directx","directx12","dxgi","graphics","rendering"],"created_at":"2024-08-03T02:01:40.299Z","updated_at":"2025-05-08T05:31:47.775Z","avatar_url":"https://github.com/sawickiap.png","language":"C++","funding_links":[],"categories":["Graphics"],"sub_categories":[],"readme":"# D3d12info\n\nA Windows console program that outputs 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.\n\n![Example output](Docs/Gfx/Example_output.png \"Example output\")\n\nInspired by `vulkaninfo` - a similar tool that prints all the information about device capabilities using Vulkan API.\n\nAn alternative for D3D12 is a GUI program \"DirectX Caps Viewer\", which is part of Windows SDK and can be found in path like:\n`c:\\Program Files (x86)\\Windows Kits\\10\\bin\\*\\x64\\dxcapsviewer.exe`.\n\n# GUI and online database\n\n- Online database of GPU capabilities:\n  - **https://d3d12infodb.boolka.dev/**\n- GUI application that can display the capabilities of the current GPU and submit them to the database:\n  - **https://github.com/Devaniti/D3d12infoGUI/releases**\n\n*(These projects are managed by [\\@Devaniti](https://github.com/Devaniti))*\n\n# Download\n\nTo download compiled binary of this console app, go to **[Releases](https://github.com/sawickiap/D3d12info/releases)**. This is a portable program - it doesn't need installation.\n\nVersion history can be found in file [CHANGELOG.md](CHANGELOG.md).\n\n# Features\n\nFollowing types of information are printed by the program:\n\n- List of available DXGI adapters (GPUs) available in the system and their parameters, e.g. video memory size.\n  - Software and WARP adapters can also be used (off by default).\n- Direct3D 12 capabilities of the GPU, like `D3D12_FEATURE_DATA_D3D12_OPTIONS`, `D3D12_FEATURE_DATA_D3D12_OPTIONS2`, etc.\n  - Latest DirectX Agility SDK is used for access to the latest features.\n  - Preview version of the Agility SDK is supported by a separate executable \"D3d12info_preview.exe\".\n- DirectSR variants and their description.\n- Capabilities of all the formats (off by default), e.g. whether `DXGI_FORMAT_R9G9B9E5_SHAREDEXP` can be used as a render target.\n- Available meta commands and their parameters (off by default).\n- Graphics driver version, fetched in a multitude of ways.\n- Basic information about the operating system, e.g. Windows version, system memory size.\n- Basic information fetched from Vulkan, focused on general GPU description and driver version.\n- On AMD GPUs: Information fetched using their AGS library, e.g. more detailed parameters of the hardware and the availability of custom extensions like `userMarkers`, `appRegistration`, `shaderClock`.\n- On Nvidia GPUs: Information fetched using their NVAPI library, e.g. more detailed parameters of the hardware and the availability of custom extensions like `NVAPI_D3D12_RAYTRACING_CAPS_TYPE_THREAD_REORDERING`, `*OPACITY_MICROMAP`, `*DISPLACEMENT_MICROMAP`.\n- On Intel GPUs: Information fetched from their GPU Detect library, e.g. more detailed parameters of the hardware.\n\nOutput is printed in a human-readable text format by default, but it can be switched to **JSON** format suitable for automated processing.\n\nFollowing types of information are **not supported** by the program:\n\n- Listing outputs (monitors) connected to the GPU or their parameters.\n- DirectX Video.\n- More information fetched from Vulkan, like extensions, properties, or limits. For them, please use [Vulkan Hadware Database by Sascha Willems](https://vulkan.gpuinfo.org/) and its accompanying app.\n- Information fetched from Windows Display Driver Model (WDDM) API.\n\n# Command-line syntax\n\n```\nOptions:\n  -v --Version                     Only print program version information.\n  -h --Help                        Only print this help (command line syntax).\n  -l --List                        Only print the list of all adapters.\n  -a --Adapter=\u003cIndex\u003e             Print details of adapter at specified index.\n  --AllNonSoftware                 Print details of all (except WARP and Software) adapters (default behavior).\n  --AllAdapters                    Print details of all (except WARP) adapters.\n  -j --JSON                        Print output in JSON format instead of human-friendly text.\n  -f --Formats                     Include information about DXGI format capabilities.\n  --MetaCommands                   Include information about meta commands.\n  -e --Enums                       Include information about all known enums and their values.\n  --PureD3D12                      Extract information only from D3D12 and no other sources.\n  -x --EnableExperimental=\u003con/off\u003e Whether to enable experimental features before querying device capabilities. Default is off for D3d12info and on for D3d12info_preview.\n  --ForceVendorAPI                 Tries to query info via vendor-specific APIs, even in case when vendor doesn't match.\n  --WARP                           Use WARP adapter.\n```\n\n# License\n\nThe project is open source under MIT license. See file [LICENSE.txt](LICENSE.txt).\n\n# Building\n\nThe project uses Cmake. It is intended to be built using Microsoft Visual Studio 2022.\nBefore trying to build make sure to initialize sumbodules as they have required dependencies.\nThe source code depends on:\n\n- C++ standard library, including some of the latest C++20 features\n- WinAPI from Windows 10 with some reasonably new Windows SDK\n\nIt uses following thirt-party libraries:\n\n- **[DirectX 12 Agility SDK](https://devblogs.microsoft.com/directx/directx12agility/)** - latest API to Direct3D, by Microsoft.\n  - Embedded in directory: Src\\ThirdParty\\microsoft.direct3d.d3d12.*\n- **[RapidJSON](https://rapidjson.org/)** - a fast JSON parser/generator, by Tencent. License: MIT.\n  - Linked via submodule.\n- **[AMD GPU Services](https://github.com/GPUOpen-LibrariesAndSDKs/AGS_SDK)** - custom vendor extensions to graphics APIs by AMD.\n  - Linked via submodule.\n  - Optional, controlled by Cmake variable `ENABLE_AGS` - on by default.\n- **[NVAPI](https://developer.nvidia.com/nvapi)** - custom vendor extensions to graphics APIs by Nvidia.\n  - Linked via submodule.\n  - Optional, controlled by Cmake variable `ENABLE_NVAPI` - on by default.\n- **[Intel GPU Detect](https://github.com/GameTechDev/gpudetect)** - custom vendor extensions to graphics APIs by Intel. License: Apache 2.0.\n  - Linked via submodule.\n  - Optional, controlled by Cmake variable `ENABLE_INTEL_GPUDETECT` - on by default.\n- **[Vulkan SDK](https://www.lunarg.com/vulkan-sdk/)**\n  - Linked externally. Cmake automatically detects Vulkan SDK path.\n  - Optional, controlled by Cmake variable `ENABLE_VULKAN` - on by default.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsawickiap%2FD3d12info","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsawickiap%2FD3d12info","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsawickiap%2FD3d12info/lists"}