v136 · webgpu
Fallback Workload Planner
Reads device.adapterInfo.isFallbackAdapter (the new Chrome 136 property) and uses it to route a set of compute-intensive tasks to the right execution path — GPU where performance exists, CPU fallback where the adapter is software-only. Use the adapter override control to inspect routing recommendations without claiming a synthetic adapter is real.
WebGPU is not available in this browser. Requires Chrome 113+ with WebGPU enabled.
Detected adapter
- Vendor
- —
- Architecture
- —
- Device
- —
- Description
- —
- isFallbackAdapter
- —
- Source
- —
Workload routing plan
Each task is assessed for GPU viability. On a fallback adapter, compute-heavy tasks are routed to CPU to avoid severe slowdowns.
| Task | GPU cost | CPU cost | Routing | Verdict |
|---|
GPU relative cost
CPU relative cost
Code pattern
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
// New in Chrome 136: read isFallbackAdapter from GPUDevice
const isFallback = device.adapterInfo.isFallbackAdapter;
// Previously you needed:
// const isFallback = adapter.isFallbackAdapter; ← adapter-level only
// Libraries given a pre-built GPUDevice had no access.
for (const task of workloads) {
if (isFallback && task.gpuCostHigh) {
task.runOnCPU(); // avoid performance cliff on software renderer
} else {
task.runOnGPU(device);
}
}
Why
device.adapterInfo? A library given a
GPUDevice by the host page previously had no way to know if it was
a fallback adapter — adapter.isFallbackAdapter lives on the adapter
object which isn't passed along with the device. Chrome 136 adds
GPUAdapterInfo.isFallbackAdapter so it's accessible through
device.adapterInfo even in library contexts.