WebMetalEnums.idl   [plain text]


/*
 * Copyright (C) 2017 Apple Inc. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalPixelFormat {
    "BGRA8Unorm"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalLoadAction {
    "dontcare",
    "load",
    "clear"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalStoreAction {
    "dontcare",
    "store",
    "multisampleresolve"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalPrimitiveType {
    "point",
    "line",
    "linestrip",
    "triangle",
    "trianglestrip"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalFunctionType {
    "fragment",
    "vertex"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalStencilOperation {
    "keep",
    "zero",
    "replace",
    "incrementclamp",
    "decrementclamp",
    "invert",
    "incrementwrap",
    "decrementwrap"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalStatus {
    "notenqueued",
    "enqueued",
    "committed",
    "scheduled",
    "completed",
    "error"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalSamplerAddressMode {
    "clamptoedge",
    "mirrorclamptoedge",
    "repeat",
    "mirrorrepeat",
    "clamptozero"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalSamplerMinMagFilter {
    "nearest",
    "linear"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalSamplerMipFilter {
    "notmipmapped",
    "nearest",
    "linear"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalCullMode {
    "none",
    "front",
    "back"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalIndexType {
    "uint16",
    "uint32"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalVisibilityResultMode {
    "disabled",
    "boolean",
    "counting"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalWinding {
    "clockwise",
    "counterclockwise"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalDepthClipMode {
    "clip",
    "clamp"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalTriangleFillMode {
    "fill",
    "lines"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalCPUCacheMode {
    "defaultcache",
    "writecombined"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalStorageMode {
    "shared",
    "managed",
    "private"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalResourceOptions {
    "cpucachemodedefaultcache",
    "cpucachemodewritecombined",
    "storagemodeshared",
    "storagemodemanaged",
    "storagemodeprivate",
    "optioncpucachemodedefaultcache",
    "optioncpucachemodewritecombined"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalTextureUsage {
    "unknown",
    "shaderread",
    "shaderwrite",
    "rendertarget",
    "pixelformatview"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalBlendOperation {
    "add",
    "subtract",
    "reversesubtract",
    "min",
    "max"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalBlendFactor {
    "zero",
    "one",
    "sourcecolor",
    "oneminussourcecolor",
    "sourcealpha",
    "oneminussourcealpha",
    "destinationcolor",
    "oneminusdestinationcolor",
    "destinationalpha",
    "oneminusdestinationalpha",
    "sourcealphasaturated",
    "blendcolor",
    "oneminusblendcolor",
    "blendalpha",
    "oneminusblendalpha"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalColorWriteMask {
    "none",
    "red",
    "green",
    "blue",
    "alpha",
    "all"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalMultisampleDepthResolveFilter {
    "sample0",
    "min",
    "max"
};

[
    Conditional=WEBMETAL,
    EnabledAtRuntime=WebMetal
] enum WebMetalFeatureSet {
    "level1",
    "level2"
};