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.