GPUAdapterInfo
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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 properties
architectureRead only-
The name of the family or class of GPUs the adapter belongs to. Returns an empty string if it is not available.
descriptionRead only-
A human-readable string describing the adapter. Returns an empty string if it is not available.
deviceRead only-
A vendor-specific identifier for the adapter. Returns an empty string if it is not available.
isFallbackAdapterRead only-
A boolean value. Returns
trueif the adapter is a fallback adapter, andfalseif not. subgroupMaxSizeRead only-
The maximum supported subgroup size for the
GPUAdapter. subgroupMinSizeRead only-
The minimum supported subgroup size for the
GPUAdapter. vendorRead only-
The name of the adapter vendor. Returns an empty string if it is not available.
Examples
>Access GPUAdapterInfo via GPUAdapter.info
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
| Specification |
|---|
| WebGPU> # gpuadapterinfo> |
Browser compatibility
Loading…