Assertion failed in JSC::createError
[WebKit-https.git] / Source / WebCore / html / canvas / WebMetalEnums.idl
1 /*
2  * Copyright (C) 2017 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 [
27     Conditional=WEBMETAL,
28     EnabledAtRuntime=WebMetal
29 ] enum WebMetalPixelFormat {
30     "BGRA8Unorm"
31 };
32
33 [
34     Conditional=WEBMETAL,
35     EnabledAtRuntime=WebMetal
36 ] enum WebMetalLoadAction {
37     "dontcare",
38     "load",
39     "clear"
40 };
41
42 [
43     Conditional=WEBMETAL,
44     EnabledAtRuntime=WebMetal
45 ] enum WebMetalStoreAction {
46     "dontcare",
47     "store",
48     "multisampleresolve"
49 };
50
51 [
52     Conditional=WEBMETAL,
53     EnabledAtRuntime=WebMetal
54 ] enum WebMetalPrimitiveType {
55     "point",
56     "line",
57     "linestrip",
58     "triangle",
59     "trianglestrip"
60 };
61
62 [
63     Conditional=WEBMETAL,
64     EnabledAtRuntime=WebMetal
65 ] enum WebMetalFunctionType {
66     "fragment",
67     "vertex"
68 };
69
70 [
71     Conditional=WEBMETAL,
72     EnabledAtRuntime=WebMetal
73 ] enum WebMetalStencilOperation {
74     "keep",
75     "zero",
76     "replace",
77     "incrementclamp",
78     "decrementclamp",
79     "invert",
80     "incrementwrap",
81     "decrementwrap"
82 };
83
84 [
85     Conditional=WEBMETAL,
86     EnabledAtRuntime=WebMetal
87 ] enum WebMetalStatus {
88     "notenqueued",
89     "enqueued",
90     "committed",
91     "scheduled",
92     "completed",
93     "error"
94 };
95
96 [
97     Conditional=WEBMETAL,
98     EnabledAtRuntime=WebMetal
99 ] enum WebMetalSamplerAddressMode {
100     "clamptoedge",
101     "mirrorclamptoedge",
102     "repeat",
103     "mirrorrepeat",
104     "clamptozero"
105 };
106
107 [
108     Conditional=WEBMETAL,
109     EnabledAtRuntime=WebMetal
110 ] enum WebMetalSamplerMinMagFilter {
111     "nearest",
112     "linear"
113 };
114
115 [
116     Conditional=WEBMETAL,
117     EnabledAtRuntime=WebMetal
118 ] enum WebMetalSamplerMipFilter {
119     "notmipmapped",
120     "nearest",
121     "linear"
122 };
123
124 [
125     Conditional=WEBMETAL,
126     EnabledAtRuntime=WebMetal
127 ] enum WebMetalCullMode {
128     "none",
129     "front",
130     "back"
131 };
132
133 [
134     Conditional=WEBMETAL,
135     EnabledAtRuntime=WebMetal
136 ] enum WebMetalIndexType {
137     "uint16",
138     "uint32"
139 };
140
141 [
142     Conditional=WEBMETAL,
143     EnabledAtRuntime=WebMetal
144 ] enum WebMetalVisibilityResultMode {
145     "disabled",
146     "boolean",
147     "counting"
148 };
149
150 [
151     Conditional=WEBMETAL,
152     EnabledAtRuntime=WebMetal
153 ] enum WebMetalWinding {
154     "clockwise",
155     "counterclockwise"
156 };
157
158 [
159     Conditional=WEBMETAL,
160     EnabledAtRuntime=WebMetal
161 ] enum WebMetalDepthClipMode {
162     "clip",
163     "clamp"
164 };
165
166 [
167     Conditional=WEBMETAL,
168     EnabledAtRuntime=WebMetal
169 ] enum WebMetalTriangleFillMode {
170     "fill",
171     "lines"
172 };
173
174 [
175     Conditional=WEBMETAL,
176     EnabledAtRuntime=WebMetal
177 ] enum WebMetalCPUCacheMode {
178     "defaultcache",
179     "writecombined"
180 };
181
182 [
183     Conditional=WEBMETAL,
184     EnabledAtRuntime=WebMetal
185 ] enum WebMetalStorageMode {
186     "shared",
187     "managed",
188     "private"
189 };
190
191 [
192     Conditional=WEBMETAL,
193     EnabledAtRuntime=WebMetal
194 ] enum WebMetalResourceOptions {
195     "cpucachemodedefaultcache",
196     "cpucachemodewritecombined",
197     "storagemodeshared",
198     "storagemodemanaged",
199     "storagemodeprivate",
200     "optioncpucachemodedefaultcache",
201     "optioncpucachemodewritecombined"
202 };
203
204 [
205     Conditional=WEBMETAL,
206     EnabledAtRuntime=WebMetal
207 ] enum WebMetalTextureUsage {
208     "unknown",
209     "shaderread",
210     "shaderwrite",
211     "rendertarget",
212     "pixelformatview"
213 };
214
215 [
216     Conditional=WEBMETAL,
217     EnabledAtRuntime=WebMetal
218 ] enum WebMetalBlendOperation {
219     "add",
220     "subtract",
221     "reversesubtract",
222     "min",
223     "max"
224 };
225
226 [
227     Conditional=WEBMETAL,
228     EnabledAtRuntime=WebMetal
229 ] enum WebMetalBlendFactor {
230     "zero",
231     "one",
232     "sourcecolor",
233     "oneminussourcecolor",
234     "sourcealpha",
235     "oneminussourcealpha",
236     "destinationcolor",
237     "oneminusdestinationcolor",
238     "destinationalpha",
239     "oneminusdestinationalpha",
240     "sourcealphasaturated",
241     "blendcolor",
242     "oneminusblendcolor",
243     "blendalpha",
244     "oneminusblendalpha"
245 };
246
247 [
248     Conditional=WEBMETAL,
249     EnabledAtRuntime=WebMetal
250 ] enum WebMetalColorWriteMask {
251     "none",
252     "red",
253     "green",
254     "blue",
255     "alpha",
256     "all"
257 };
258
259 [
260     Conditional=WEBMETAL,
261     EnabledAtRuntime=WebMetal
262 ] enum WebMetalMultisampleDepthResolveFilter {
263     "sample0",
264     "min",
265     "max"
266 };
267
268 [
269     Conditional=WEBMETAL,
270     EnabledAtRuntime=WebMetal
271 ] enum WebMetalFeatureSet {
272     "level1",
273     "level2"
274 };