{"id":26415677,"url":"https://github.com/gametechdev/gpudetect","last_synced_at":"2025-03-18T00:54:28.409Z","repository":{"id":56203160,"uuid":"58082594","full_name":"GameTechDev/gpudetect","owner":"GameTechDev","description":"An example application that demonstrates how to detect which Intel GPU is present, as well as architecture-specific information such as how much memory is available.","archived":false,"fork":false,"pushed_at":"2024-04-22T16:50:13.000Z","size":183,"stargazers_count":115,"open_issues_count":0,"forks_count":23,"subscribers_count":24,"default_branch":"master","last_synced_at":"2024-04-22T18:17:55.830Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GameTechDev.png","metadata":{"files":{"readme":"readme.md","changelog":null,"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}},"created_at":"2016-05-04T20:41:01.000Z","updated_at":"2024-04-22T16:50:16.000Z","dependencies_parsed_at":"2024-04-22T18:19:42.886Z","dependency_job_id":null,"html_url":"https://github.com/GameTechDev/gpudetect","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GameTechDev%2Fgpudetect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GameTechDev%2Fgpudetect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GameTechDev%2Fgpudetect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GameTechDev%2Fgpudetect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GameTechDev","download_url":"https://codeload.github.com/GameTechDev/gpudetect/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244135900,"owners_count":20403797,"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":[],"created_at":"2025-03-18T00:54:27.536Z","updated_at":"2025-03-18T00:54:28.400Z","avatar_url":"https://github.com/GameTechDev.png","language":"C++","readme":"# GPU Detect\n\n## Overview\nThis short sample demonstrates a way to detect the primary graphics hardware present in a system, and to initialize a game's default fidelity presets based on the found graphics device. The code and accompanying data is meant to be used as a guideline, and should be adapted to the game's specific needs. The sample is specific to Microsoft Windows although some of the information will be applicable on other operating systems.\n\nThe API can be used to obtain a default quality setting for the device from the data provided in the vendor specific configuration files. Additionally, the Vendor ID and Device ID of the primary graphics device can be queried. The API works by using the DXGI interface. If the Vendor ID is recognized, the code then looks for a configuration file specific to that vendor. In the example, the configuration file is used to list the expected performance levels (Low / Medium / High) of all relevant devices from that vendor. If the device is not recognized the API returns the lowest quality level as a safe fall-back.\n\nThis sample is intended for customers developing graphical applications who wish to target Intel(tm) graphics devices.\n## File List\n*\tDeviceId.h -\u003e Header file for device ID code.\n*\tDeviceId.cpp -\u003e Implementation of functions to convert the device ID into more useful information.\n*\tGPUDetect.h -\u003e Header file for GPU detection code.\n*\tGPUDetect.cpp -\u003e Implementation of functions to obtain information about graphics devices.\n*\tIntelGfx.cfg -\u003e Sample configuration file with list of known Intel GPU devices, their device IDs, and example expected graphics performance levels with regards to the calling game / application.\n*\tTestMain.cpp -\u003e Simple console based test utility that calls the above functions, and displays the result.\n\n## Configuration File\nThe configuration file is an example of what could be done using information from GPU Detect. It has one line each for a known GPU device. The Vendor ID is repeated for clarity here. In this example file, each graphics device has been categorized as Low, Medium, or High based on the applications tested performance on each of these parts.\n```\n;\n; Intel Graphics Preset Levels\n;\n; Format: \n; VendorIDHex, DeviceIDHex, Out of the Box Settings ; Commented name of cards\n;\n0x8086, 0x1612, Medium; Intel(R) HD Graphics 5600\n0x8086, 0x1616, Medium; Intel(R) HD Graphics 5500\n0x8086, 0x161E, Low; Intel(R) HD Graphics 5300\n0x8086, 0x1622, High; Intel(R) Iris Pro Graphics 6200\n```\n\n## Building\nThis project requires the latest Windows SDK.\n\n## Links\n*\t[Intel(tm) Graphics Developer's Guides](https://software.intel.com/en-us/articles/intel-hd-graphics-developers-guides) - For more information on developing for Intel(tm) graphics.\n*\t[Intel(tm) Developer Zone Games \u0026 Graphics Forum](https://software.intel.com/en-us/forums/developing-games-and-graphics-on-intel) - Forum for answers on software issues.\n*\t[Intel(tm) GameDev Developer Zone](https://software.intel.com/en-us/gamedev) - Articles and samples related to developing games\n*\t[Intel(tm) Graphics Performance Analyzer](https://software.intel.com/en-us/gpa) -Must have tool for any graphics developer.\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgametechdev%2Fgpudetect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgametechdev%2Fgpudetect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgametechdev%2Fgpudetect/lists"}