chromium/third_party/blink/renderer/modules/webgpu/gpu_adapter.idl

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://gpuweb.github.io/gpuweb/

[
    Exposed=(Window, Worker),
    SecureContext
] interface GPUAdapter {
    [SameObject] readonly attribute GPUSupportedFeatures features;
    [SameObject] readonly attribute GPUSupportedLimits limits;
    [SameObject, RuntimeEnabled=WebGPUAdapterInfoAttribute] readonly attribute GPUAdapterInfo info;
    readonly attribute boolean isFallbackAdapter;
    [RuntimeEnabled=WebGPUExperimentalFeatures] readonly attribute boolean isCompatibilityMode;

    [CallWith=ScriptState] Promise<GPUDevice> requestDevice(optional GPUDeviceDescriptor descriptor = {});
    // TODO(crbug.com/335383516): Remove this once synchronous info attribute is implemented.
    [CallWith=ScriptState, Measure] Promise<GPUAdapterInfo> requestAdapterInfo();
};