/* * 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=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUPixelFormat { "BGRA8Unorm" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPULoadAction { "dontcare", "load", "clear" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUStoreAction { "dontcare", "store", "multisampleresolve" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUPrimitiveType { "point", "line", "linestrip", "triangle", "trianglestrip" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUFunctionType { "fragment", "vertex" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUStencilOperation { "keep", "zero", "replace", "incrementclamp", "decrementclamp", "invert", "incrementwrap", "decrementwrap" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUStatus { "notenqueued", "enqueued", "committed", "scheduled", "completed", "error" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUSamplerAddressMode { "clamptoedge", "mirrorclamptoedge", "repeat", "mirrorrepeat", "clamptozero" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUSamplerMinMagFilter { "nearest", "linear" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUSamplerMipFilter { "notmipmapped", "nearest", "linear" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUCullMode { "none", "front", "back" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUIndexType { "uint16", "uint32" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUVisibilityResultMode { "disabled", "boolean", "counting" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUWinding { "clockwise", "counterclockwise" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUDepthClipMode { "clip", "clamp" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUTriangleFillMode { "fill", "lines" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUCPUCacheMode { "defaultcache", "writecombined" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUStorageMode { "shared", "managed", "private" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUResourceOptions { "cpucachemodedefaultcache", "cpucachemodewritecombined", "storagemodeshared", "storagemodemanaged", "storagemodeprivate", "optioncpucachemodedefaultcache", "optioncpucachemodewritecombined" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUTextureUsage { "unknown", "shaderread", "shaderwrite", "rendertarget", "pixelformatview" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUBlendOperation { "add", "subtract", "reversesubtract", "min", "max" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUBlendFactor { "zero", "one", "sourcecolor", "oneminussourcecolor", "sourcealpha", "oneminussourcealpha", "destinationcolor", "oneminusdestinationcolor", "destinationalpha", "oneminusdestinationalpha", "sourcealphasaturated", "blendcolor", "oneminusblendcolor", "blendalpha", "oneminusblendalpha" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUColorWriteMask { "none", "red", "green", "blue", "alpha", "all" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUMultisampleDepthResolveFilter { "sample0", "min", "max" }; [ Conditional=WEBGPU, EnabledAtRuntime=WebGPU ] enum WebGPUFeatureSet { "level1", "level2" };