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

// Copyright 2021 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/

// We omit default values in this dictionary and instead implement the default
// value behavior in C++ code to detect whether those are set explicitly.
dictionary GPUBlendComponent {
    GPUBlendFactor srcFactor;
    GPUBlendFactor dstFactor;
    GPUBlendOperation operation;
};

enum GPUBlendFactor {
    "zero",
    "one",
    "src",
    "one-minus-src",
    "src-alpha",
    "one-minus-src-alpha",
    "dst",
    "one-minus-dst",
    "dst-alpha",
    "one-minus-dst-alpha",
    "src-alpha-saturated",
    "constant",
    "one-minus-constant",
    "src1",
    "one-minus-src1",
    "src1-alpha",
    "one-minus-src1-alpha",
};

enum GPUBlendOperation {
    "add",
    "subtract",
    "reverse-subtract",
    "min",
    "max"
};