v146 · Web APIs · Compatibility Demo
Compatibility Demo
Requests WebGPU adapters in both core and compatibility modes and compares what Chrome reports for each, including the feature level and adapter info.
On systems where only OpenGL is available (no Vulkan/Metal/D3D12), compatibility mode may return an adapter while core mode does not. On modern systems with Vulkan, both modes typically return an adapter, but the compatibility mode adapter may have reduced limits.
adapter comparison
core mode — requestAdapter()
statusNot checked
featureLevel—
vendor—
backend—
compatibility mode — requestAdapter({ featureLevel: 'compatibility' })
statusNot checked
featureLevel—
vendor—
backend—
code
// Request adapters in both modes
async function compareAdapters() {
if (!navigator.gpu) {
console.log('WebGPU not supported');
return;
}
// Core mode (default)
const coreAdapter = await navigator.gpu.requestAdapter();
if (coreAdapter) {
const info = await coreAdapter.requestAdapterInfo();
console.log('Core:', coreAdapter.featureLevel, info.vendor);
}
// Compatibility mode (Chrome 146+)
const compatAdapter = await navigator.gpu.requestAdapter({
featureLevel: 'compatibility',
});
if (compatAdapter) {
const info = await compatAdapter.requestAdapterInfo();
console.log('Compat:', compatAdapter.featureLevel, info.vendor);
}
}