Limited availability
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
The GPUAdapterInfo
interface of the WebGPU API contains identifying information about a GPUAdapter
.
An adapter's GPUAdapterInfo
can be retrieved using the GPUAdapter.info
property of the adapter itself, or the GPUDevice.adapterInfo
property of a device that originated from the adapter.
This object allows developers to access specific details about the user's GPU so that they can preemptively apply workarounds for GPU-specific bugs, or provide different codepaths to better suit different GPU architectures. Providing such information does present a security risk â it could be used for fingerprinting â therefore the information shared is kept at a minimum, and different browser vendors are likely to share different information types and granularities.
Instance propertiesarchitecture
Read only
The name of the family or class of GPUs the adapter belongs to. Returns an empty string if it is not available.
description
Read only
A human-readable string describing the adapter. Returns an empty string if it is not available.
device
Read only
A vendor-specific identifier for the adapter. Returns an empty string if it is not available.
vendor
Read only
The name of the adapter vendor. Returns an empty string if it is not available.
subgroupMaxSize
Read only
The maximum supported subgroup size for the GPUAdapter
.
subgroupMinSize
Read only
The minimum supported subgroup size for the GPUAdapter
.
const adapter = await navigator.gpu.requestAdapter();
if (!adapter) {
throw Error("Couldn't request WebGPU adapter.");
}
const adapterInfo = adapter.info;
console.log(adapterInfo.vendor);
console.log(adapterInfo.architecture);
Access GPUAdapterInfo via GPUDevice.adapterInfo
const adapter = await navigator.gpu.requestAdapter();
if (!adapter) {
throw Error("Couldn't request WebGPU adapter.");
}
const myDevice = await adapter.requestDevice();
function optimizeForGpuDevice(device) {
if (device.adapterInfo.vendor === "amd") {
// Use AMD-specific optimizations
} else if (device.adapterInfo.architecture.includes("turing")) {
// Optimize for NVIDIA Turing architecture
}
}
optimizeForGpuDevice(myDevice);
Specifications Browser compatibility See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4