
NVML provides a more reliable way to query for the NVIDIA driver version. It also provides a query for NVIDIA CUDA compute capability which corresponds to the GPU generation. This is a good value to use for filtering GPUs based on hardware properties. We now query NVML for driver version and CUDA compute capability in case an NVIDIA GPU is encountered on Windows. NVML is loaded dynamically from %ProgramW6432%/NVIDIA Corporation/NVSMI/nvml.dll. In recent drivers the library is only shipped as a 64-bit binary, so it won't load in case the 32-bit build of Chromium is used. As a fallback, the actual NVIDIA driver version is parsed from the driver version in the Windows registry. This best-effort parsing should work for most versions, though every single version may not conform to the expected format. NVML has been present in NVIDIA drivers since version 270 published in 2011. Some functionality in NVML is exclusive to professional Quadro or Tesla GPUs, but basic functionality like the queries used here are available across NVIDIA GPU brands. BUG=693090 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I31b44021e00426fcfb2b850fea5d63c114c4569c Reviewed-on: https://chromium-review.googlesource.com/1108199 Reviewed-by: Will Harris <wfh@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Scott Violet <sky@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Dominick Ng <dominickn@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Cr-Commit-Position: refs/heads/master@{#581820}
16 lines
294 B
Python
16 lines
294 B
Python
include_rules = [
|
|
"+third_party/angle",
|
|
"+third_party/amd",
|
|
"+third_party/nvml",
|
|
"+third_party/re2",
|
|
"+third_party/smhasher",
|
|
"+third_party/swiftshader",
|
|
"+third_party/protbuf",
|
|
"+third_party/zlib",
|
|
"+crypto",
|
|
"+ui/gfx",
|
|
"+ui/gl",
|
|
"+ui/surface",
|
|
"+ui/ozone/public",
|
|
]
|