1/*
2 This file is part of the WebKit open source project.
3 This file has been generated by generate-bindings.pl. DO NOT MODIFY!
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19*/
20
21#include "config.h"
22
23#if ENABLE(WEBGL2)
24
25#include "JSWebGL2RenderingContext.h"
26
27#include "CallTracer.h"
28#include "JSDOMAttribute.h"
29#include "JSDOMBinding.h"
30#include "JSDOMConstructorNotConstructable.h"
31#include "JSDOMConvertBoolean.h"
32#include "JSDOMConvertBufferSource.h"
33#include "JSDOMConvertInterface.h"
34#include "JSDOMConvertNullable.h"
35#include "JSDOMConvertNumbers.h"
36#include "JSDOMConvertSequences.h"
37#include "JSDOMConvertStrings.h"
38#include "JSDOMConvertUnion.h"
39#include "JSDOMConvertWebGL.h"
40#include "JSDOMExceptionHandling.h"
41#include "JSDOMGlobalObject.h"
42#include "JSDOMOperation.h"
43#include "JSDOMWrapperCache.h"
44#include "JSHTMLCanvasElement.h"
45#include "JSHTMLImageElement.h"
46#include "JSHTMLVideoElement.h"
47#include "JSImageBitmap.h"
48#include "JSImageData.h"
49#include "JSWebGLActiveInfo.h"
50#include "JSWebGLBuffer.h"
51#include "JSWebGLProgram.h"
52#include "JSWebGLQuery.h"
53#include "JSWebGLSampler.h"
54#include "JSWebGLSync.h"
55#include "JSWebGLTexture.h"
56#include "JSWebGLTransformFeedback.h"
57#include "JSWebGLUniformLocation.h"
58#include "JSWebGLVertexArrayObject.h"
59#include "ScriptExecutionContext.h"
60#include <JavaScriptCore/FunctionPrototype.h>
61#include <JavaScriptCore/HeapSnapshotBuilder.h>
62#include <JavaScriptCore/JSArray.h>
63#include <JavaScriptCore/JSCInlines.h>
64#include <wtf/GetPtr.h>
65#include <wtf/PointerPreparations.h>
66#include <wtf/URL.h>
67#include <wtf/Variant.h>
68
69#if ENABLE(WEBGL)
70#include "JSDOMConvertDictionary.h"
71#include "JSOffscreenCanvas.h"
72#include "JSWebGLContextAttributes.h"
73#include "JSWebGLFramebuffer.h"
74#include "JSWebGLRenderbuffer.h"
75#include "JSWebGLShader.h"
76#include "JSWebGLShaderPrecisionFormat.h"
77#endif
78
79
80namespace WebCore {
81using namespace JSC;
82
83// Functions
84
85JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBufferData(JSC::ExecState*);
86JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBufferSubData(JSC::ExecState*);
87JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCopyBufferSubData(JSC::ExecState*);
88JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetBufferSubData(JSC::ExecState*);
89JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlitFramebuffer(JSC::ExecState*);
90JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFramebufferTextureLayer(JSC::ExecState*);
91JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionInvalidateFramebuffer(JSC::ExecState*);
92JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionInvalidateSubFramebuffer(JSC::ExecState*);
93JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionReadBuffer(JSC::ExecState*);
94JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetInternalformatParameter(JSC::ExecState*);
95JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionRenderbufferStorageMultisample(JSC::ExecState*);
96JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexStorage2D(JSC::ExecState*);
97JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexStorage3D(JSC::ExecState*);
98JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexImage2D(JSC::ExecState*);
99JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D(JSC::ExecState*);
100JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexImage3D(JSC::ExecState*);
101JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D(JSC::ExecState*);
102JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCopyTexSubImage3D(JSC::ExecState*);
103JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2D(JSC::ExecState*);
104JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3D(JSC::ExecState*);
105JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3D(JSC::ExecState*);
106JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetFragDataLocation(JSC::ExecState*);
107JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1ui(JSC::ExecState*);
108JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2ui(JSC::ExecState*);
109JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3ui(JSC::ExecState*);
110JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4ui(JSC::ExecState*);
111JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1uiv(JSC::ExecState*);
112JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2uiv(JSC::ExecState*);
113JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3uiv(JSC::ExecState*);
114JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4uiv(JSC::ExecState*);
115JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2x3fv(JSC::ExecState*);
116JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3x2fv(JSC::ExecState*);
117JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2x4fv(JSC::ExecState*);
118JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4x2fv(JSC::ExecState*);
119JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3x4fv(JSC::ExecState*);
120JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4x3fv(JSC::ExecState*);
121JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4i(JSC::ExecState*);
122JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4iv(JSC::ExecState*);
123JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4ui(JSC::ExecState*);
124JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4uiv(JSC::ExecState*);
125JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribIPointer(JSC::ExecState*);
126JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribDivisor(JSC::ExecState*);
127JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawArraysInstanced(JSC::ExecState*);
128JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawElementsInstanced(JSC::ExecState*);
129JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawRangeElements(JSC::ExecState*);
130JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawBuffers(JSC::ExecState*);
131JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearBufferiv(JSC::ExecState*);
132JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearBufferuiv(JSC::ExecState*);
133JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearBufferfv(JSC::ExecState*);
134JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearBufferfi(JSC::ExecState*);
135JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateQuery(JSC::ExecState*);
136JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteQuery(JSC::ExecState*);
137JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsQuery(JSC::ExecState*);
138JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBeginQuery(JSC::ExecState*);
139JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionEndQuery(JSC::ExecState*);
140JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetQuery(JSC::ExecState*);
141JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetQueryParameter(JSC::ExecState*);
142JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateSampler(JSC::ExecState*);
143JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteSampler(JSC::ExecState*);
144JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsSampler(JSC::ExecState*);
145JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindSampler(JSC::ExecState*);
146JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionSamplerParameteri(JSC::ExecState*);
147JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionSamplerParameterf(JSC::ExecState*);
148JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetSamplerParameter(JSC::ExecState*);
149JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFenceSync(JSC::ExecState*);
150JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsSync(JSC::ExecState*);
151JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteSync(JSC::ExecState*);
152JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClientWaitSync(JSC::ExecState*);
153JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionWaitSync(JSC::ExecState*);
154JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetSyncParameter(JSC::ExecState*);
155JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateTransformFeedback(JSC::ExecState*);
156JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteTransformFeedback(JSC::ExecState*);
157JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsTransformFeedback(JSC::ExecState*);
158JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindTransformFeedback(JSC::ExecState*);
159JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBeginTransformFeedback(JSC::ExecState*);
160JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionEndTransformFeedback(JSC::ExecState*);
161JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTransformFeedbackVaryings(JSC::ExecState*);
162JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetTransformFeedbackVarying(JSC::ExecState*);
163JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionPauseTransformFeedback(JSC::ExecState*);
164JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionResumeTransformFeedback(JSC::ExecState*);
165JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindBufferBase(JSC::ExecState*);
166JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindBufferRange(JSC::ExecState*);
167JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetIndexedParameter(JSC::ExecState*);
168JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetUniformIndices(JSC::ExecState*);
169JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetActiveUniforms(JSC::ExecState*);
170JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetUniformBlockIndex(JSC::ExecState*);
171JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBlockParameter(JSC::ExecState*);
172JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBlockName(JSC::ExecState*);
173JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformBlockBinding(JSC::ExecState*);
174JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateVertexArray(JSC::ExecState*);
175JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteVertexArray(JSC::ExecState*);
176JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsVertexArray(JSC::ExecState*);
177JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindVertexArray(JSC::ExecState*);
178#if ENABLE(WEBGL)
179JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionActiveTexture(JSC::ExecState*);
180#endif
181#if ENABLE(WEBGL)
182JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionAttachShader(JSC::ExecState*);
183#endif
184#if ENABLE(WEBGL)
185JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindAttribLocation(JSC::ExecState*);
186#endif
187#if ENABLE(WEBGL)
188JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindBuffer(JSC::ExecState*);
189#endif
190#if ENABLE(WEBGL)
191JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindFramebuffer(JSC::ExecState*);
192#endif
193#if ENABLE(WEBGL)
194JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindRenderbuffer(JSC::ExecState*);
195#endif
196#if ENABLE(WEBGL)
197JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindTexture(JSC::ExecState*);
198#endif
199#if ENABLE(WEBGL)
200JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlendColor(JSC::ExecState*);
201#endif
202#if ENABLE(WEBGL)
203JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlendEquation(JSC::ExecState*);
204#endif
205#if ENABLE(WEBGL)
206JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlendEquationSeparate(JSC::ExecState*);
207#endif
208#if ENABLE(WEBGL)
209JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlendFunc(JSC::ExecState*);
210#endif
211#if ENABLE(WEBGL)
212JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlendFuncSeparate(JSC::ExecState*);
213#endif
214#if ENABLE(WEBGL)
215JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCheckFramebufferStatus(JSC::ExecState*);
216#endif
217#if ENABLE(WEBGL)
218JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClear(JSC::ExecState*);
219#endif
220#if ENABLE(WEBGL)
221JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearColor(JSC::ExecState*);
222#endif
223#if ENABLE(WEBGL)
224JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearDepth(JSC::ExecState*);
225#endif
226#if ENABLE(WEBGL)
227JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearStencil(JSC::ExecState*);
228#endif
229#if ENABLE(WEBGL)
230JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionColorMask(JSC::ExecState*);
231#endif
232#if ENABLE(WEBGL)
233JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCompileShader(JSC::ExecState*);
234#endif
235#if ENABLE(WEBGL)
236JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage2D(JSC::ExecState*);
237#endif
238#if ENABLE(WEBGL)
239JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCopyTexImage2D(JSC::ExecState*);
240#endif
241#if ENABLE(WEBGL)
242JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCopyTexSubImage2D(JSC::ExecState*);
243#endif
244#if ENABLE(WEBGL)
245JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateBuffer(JSC::ExecState*);
246#endif
247#if ENABLE(WEBGL)
248JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateFramebuffer(JSC::ExecState*);
249#endif
250#if ENABLE(WEBGL)
251JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateProgram(JSC::ExecState*);
252#endif
253#if ENABLE(WEBGL)
254JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateRenderbuffer(JSC::ExecState*);
255#endif
256#if ENABLE(WEBGL)
257JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateShader(JSC::ExecState*);
258#endif
259#if ENABLE(WEBGL)
260JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateTexture(JSC::ExecState*);
261#endif
262#if ENABLE(WEBGL)
263JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCullFace(JSC::ExecState*);
264#endif
265#if ENABLE(WEBGL)
266JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteBuffer(JSC::ExecState*);
267#endif
268#if ENABLE(WEBGL)
269JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteFramebuffer(JSC::ExecState*);
270#endif
271#if ENABLE(WEBGL)
272JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteProgram(JSC::ExecState*);
273#endif
274#if ENABLE(WEBGL)
275JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteRenderbuffer(JSC::ExecState*);
276#endif
277#if ENABLE(WEBGL)
278JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteShader(JSC::ExecState*);
279#endif
280#if ENABLE(WEBGL)
281JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteTexture(JSC::ExecState*);
282#endif
283#if ENABLE(WEBGL)
284JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDepthFunc(JSC::ExecState*);
285#endif
286#if ENABLE(WEBGL)
287JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDepthMask(JSC::ExecState*);
288#endif
289#if ENABLE(WEBGL)
290JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDepthRange(JSC::ExecState*);
291#endif
292#if ENABLE(WEBGL)
293JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDetachShader(JSC::ExecState*);
294#endif
295#if ENABLE(WEBGL)
296JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDisable(JSC::ExecState*);
297#endif
298#if ENABLE(WEBGL)
299JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDisableVertexAttribArray(JSC::ExecState*);
300#endif
301#if ENABLE(WEBGL)
302JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawArrays(JSC::ExecState*);
303#endif
304#if ENABLE(WEBGL)
305JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawElements(JSC::ExecState*);
306#endif
307#if ENABLE(WEBGL)
308JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionEnable(JSC::ExecState*);
309#endif
310#if ENABLE(WEBGL)
311JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionEnableVertexAttribArray(JSC::ExecState*);
312#endif
313#if ENABLE(WEBGL)
314JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFinish(JSC::ExecState*);
315#endif
316#if ENABLE(WEBGL)
317JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFlush(JSC::ExecState*);
318#endif
319#if ENABLE(WEBGL)
320JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFramebufferRenderbuffer(JSC::ExecState*);
321#endif
322#if ENABLE(WEBGL)
323JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFramebufferTexture2D(JSC::ExecState*);
324#endif
325#if ENABLE(WEBGL)
326JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFrontFace(JSC::ExecState*);
327#endif
328#if ENABLE(WEBGL)
329JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGenerateMipmap(JSC::ExecState*);
330#endif
331#if ENABLE(WEBGL)
332JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetActiveAttrib(JSC::ExecState*);
333#endif
334#if ENABLE(WEBGL)
335JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetActiveUniform(JSC::ExecState*);
336#endif
337#if ENABLE(WEBGL)
338JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetAttachedShaders(JSC::ExecState*);
339#endif
340#if ENABLE(WEBGL)
341JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetAttribLocation(JSC::ExecState*);
342#endif
343#if ENABLE(WEBGL)
344JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetBufferParameter(JSC::ExecState*);
345#endif
346#if ENABLE(WEBGL)
347JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetContextAttributes(JSC::ExecState*);
348#endif
349#if ENABLE(WEBGL)
350JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetError(JSC::ExecState*);
351#endif
352#if ENABLE(WEBGL)
353JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetSupportedExtensions(JSC::ExecState*);
354#endif
355#if ENABLE(WEBGL)
356JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetExtension(JSC::ExecState*);
357#endif
358#if ENABLE(WEBGL)
359JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetFramebufferAttachmentParameter(JSC::ExecState*);
360#endif
361#if ENABLE(WEBGL)
362JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetParameter(JSC::ExecState*);
363#endif
364#if ENABLE(WEBGL)
365JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetProgramParameter(JSC::ExecState*);
366#endif
367#if ENABLE(WEBGL)
368JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetProgramInfoLog(JSC::ExecState*);
369#endif
370#if ENABLE(WEBGL)
371JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetRenderbufferParameter(JSC::ExecState*);
372#endif
373#if ENABLE(WEBGL)
374JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetShaderParameter(JSC::ExecState*);
375#endif
376#if ENABLE(WEBGL)
377JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetShaderInfoLog(JSC::ExecState*);
378#endif
379#if ENABLE(WEBGL)
380JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetShaderPrecisionFormat(JSC::ExecState*);
381#endif
382#if ENABLE(WEBGL)
383JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetShaderSource(JSC::ExecState*);
384#endif
385#if ENABLE(WEBGL)
386JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetTexParameter(JSC::ExecState*);
387#endif
388#if ENABLE(WEBGL)
389JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetUniform(JSC::ExecState*);
390#endif
391#if ENABLE(WEBGL)
392JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetUniformLocation(JSC::ExecState*);
393#endif
394#if ENABLE(WEBGL)
395JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetVertexAttrib(JSC::ExecState*);
396#endif
397#if ENABLE(WEBGL)
398JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetVertexAttribOffset(JSC::ExecState*);
399#endif
400#if ENABLE(WEBGL)
401JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionHint(JSC::ExecState*);
402#endif
403#if ENABLE(WEBGL)
404JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsBuffer(JSC::ExecState*);
405#endif
406#if ENABLE(WEBGL)
407JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsContextLost(JSC::ExecState*);
408#endif
409#if ENABLE(WEBGL)
410JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsEnabled(JSC::ExecState*);
411#endif
412#if ENABLE(WEBGL)
413JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsFramebuffer(JSC::ExecState*);
414#endif
415#if ENABLE(WEBGL)
416JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsProgram(JSC::ExecState*);
417#endif
418#if ENABLE(WEBGL)
419JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsRenderbuffer(JSC::ExecState*);
420#endif
421#if ENABLE(WEBGL)
422JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsShader(JSC::ExecState*);
423#endif
424#if ENABLE(WEBGL)
425JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsTexture(JSC::ExecState*);
426#endif
427#if ENABLE(WEBGL)
428JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionLineWidth(JSC::ExecState*);
429#endif
430#if ENABLE(WEBGL)
431JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionLinkProgram(JSC::ExecState*);
432#endif
433#if ENABLE(WEBGL)
434JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionPixelStorei(JSC::ExecState*);
435#endif
436#if ENABLE(WEBGL)
437JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionPolygonOffset(JSC::ExecState*);
438#endif
439#if ENABLE(WEBGL)
440JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionReadPixels(JSC::ExecState*);
441#endif
442#if ENABLE(WEBGL)
443JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionReleaseShaderCompiler(JSC::ExecState*);
444#endif
445#if ENABLE(WEBGL)
446JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionRenderbufferStorage(JSC::ExecState*);
447#endif
448#if ENABLE(WEBGL)
449JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionSampleCoverage(JSC::ExecState*);
450#endif
451#if ENABLE(WEBGL)
452JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionScissor(JSC::ExecState*);
453#endif
454#if ENABLE(WEBGL)
455JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionShaderSource(JSC::ExecState*);
456#endif
457#if ENABLE(WEBGL)
458JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilFunc(JSC::ExecState*);
459#endif
460#if ENABLE(WEBGL)
461JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilFuncSeparate(JSC::ExecState*);
462#endif
463#if ENABLE(WEBGL)
464JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilMask(JSC::ExecState*);
465#endif
466#if ENABLE(WEBGL)
467JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilMaskSeparate(JSC::ExecState*);
468#endif
469#if ENABLE(WEBGL)
470JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilOp(JSC::ExecState*);
471#endif
472#if ENABLE(WEBGL)
473JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilOpSeparate(JSC::ExecState*);
474#endif
475#if ENABLE(WEBGL)
476JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexParameterf(JSC::ExecState*);
477#endif
478#if ENABLE(WEBGL)
479JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexParameteri(JSC::ExecState*);
480#endif
481#if ENABLE(WEBGL)
482JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1f(JSC::ExecState*);
483#endif
484#if ENABLE(WEBGL)
485JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2f(JSC::ExecState*);
486#endif
487#if ENABLE(WEBGL)
488JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3f(JSC::ExecState*);
489#endif
490#if ENABLE(WEBGL)
491JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4f(JSC::ExecState*);
492#endif
493#if ENABLE(WEBGL)
494JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1i(JSC::ExecState*);
495#endif
496#if ENABLE(WEBGL)
497JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2i(JSC::ExecState*);
498#endif
499#if ENABLE(WEBGL)
500JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3i(JSC::ExecState*);
501#endif
502#if ENABLE(WEBGL)
503JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4i(JSC::ExecState*);
504#endif
505#if ENABLE(WEBGL)
506JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1fv(JSC::ExecState*);
507#endif
508#if ENABLE(WEBGL)
509JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2fv(JSC::ExecState*);
510#endif
511#if ENABLE(WEBGL)
512JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3fv(JSC::ExecState*);
513#endif
514#if ENABLE(WEBGL)
515JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4fv(JSC::ExecState*);
516#endif
517#if ENABLE(WEBGL)
518JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1iv(JSC::ExecState*);
519#endif
520#if ENABLE(WEBGL)
521JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2iv(JSC::ExecState*);
522#endif
523#if ENABLE(WEBGL)
524JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3iv(JSC::ExecState*);
525#endif
526#if ENABLE(WEBGL)
527JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4iv(JSC::ExecState*);
528#endif
529#if ENABLE(WEBGL)
530JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2fv(JSC::ExecState*);
531#endif
532#if ENABLE(WEBGL)
533JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3fv(JSC::ExecState*);
534#endif
535#if ENABLE(WEBGL)
536JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4fv(JSC::ExecState*);
537#endif
538#if ENABLE(WEBGL)
539JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUseProgram(JSC::ExecState*);
540#endif
541#if ENABLE(WEBGL)
542JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionValidateProgram(JSC::ExecState*);
543#endif
544#if ENABLE(WEBGL)
545JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib1f(JSC::ExecState*);
546#endif
547#if ENABLE(WEBGL)
548JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib2f(JSC::ExecState*);
549#endif
550#if ENABLE(WEBGL)
551JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib3f(JSC::ExecState*);
552#endif
553#if ENABLE(WEBGL)
554JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib4f(JSC::ExecState*);
555#endif
556#if ENABLE(WEBGL)
557JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib1fv(JSC::ExecState*);
558#endif
559#if ENABLE(WEBGL)
560JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib2fv(JSC::ExecState*);
561#endif
562#if ENABLE(WEBGL)
563JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib3fv(JSC::ExecState*);
564#endif
565#if ENABLE(WEBGL)
566JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib4fv(JSC::ExecState*);
567#endif
568#if ENABLE(WEBGL)
569JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribPointer(JSC::ExecState*);
570#endif
571#if ENABLE(WEBGL)
572JSC::EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionViewport(JSC::ExecState*);
573#endif
574
575// Attributes
576
577JSC::EncodedJSValue jsWebGL2RenderingContextConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
578bool setJSWebGL2RenderingContextConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
579#if ENABLE(WEBGL)
580JSC::EncodedJSValue jsWebGL2RenderingContextCanvas(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
581#endif
582#if ENABLE(WEBGL)
583JSC::EncodedJSValue jsWebGL2RenderingContextDrawingBufferWidth(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
584#endif
585#if ENABLE(WEBGL)
586JSC::EncodedJSValue jsWebGL2RenderingContextDrawingBufferHeight(JSC::ExecState*, JSC::EncodedJSValue, JSC::PropertyName);
587#endif
588
589class JSWebGL2RenderingContextPrototype : public JSC::JSNonFinalObject {
590public:
591 using Base = JSC::JSNonFinalObject;
592 static JSWebGL2RenderingContextPrototype* create(JSC::VM& vm, JSDOMGlobalObject* globalObject, JSC::Structure* structure)
593 {
594 JSWebGL2RenderingContextPrototype* ptr = new (NotNull, JSC::allocateCell<JSWebGL2RenderingContextPrototype>(vm.heap)) JSWebGL2RenderingContextPrototype(vm, globalObject, structure);
595 ptr->finishCreation(vm);
596 return ptr;
597 }
598
599 DECLARE_INFO;
600 static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
601 {
602 return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
603 }
604
605private:
606 JSWebGL2RenderingContextPrototype(JSC::VM& vm, JSC::JSGlobalObject*, JSC::Structure* structure)
607 : JSC::JSNonFinalObject(vm, structure)
608 {
609 }
610
611 void finishCreation(JSC::VM&);
612};
613
614using JSWebGL2RenderingContextConstructor = JSDOMConstructorNotConstructable<JSWebGL2RenderingContext>;
615
616/* Hash table for constructor */
617
618static const HashTableValue JSWebGL2RenderingContextConstructorTableValues[] =
619{
620 { "READ_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C02) } },
621 { "UNPACK_ROW_LENGTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0CF2) } },
622 { "UNPACK_SKIP_ROWS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0CF3) } },
623 { "UNPACK_SKIP_PIXELS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0CF4) } },
624 { "PACK_ROW_LENGTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D02) } },
625 { "PACK_SKIP_ROWS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D03) } },
626 { "PACK_SKIP_PIXELS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D04) } },
627 { "COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1800) } },
628 { "DEPTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1801) } },
629 { "STENCIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1802) } },
630 { "RED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1903) } },
631 { "RGB8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8051) } },
632 { "RGBA8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8058) } },
633 { "RGB10_A2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8059) } },
634 { "TEXTURE_BINDING_3D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x806A) } },
635 { "UNPACK_SKIP_IMAGES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x806D) } },
636 { "UNPACK_IMAGE_HEIGHT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x806E) } },
637 { "TEXTURE_3D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x806F) } },
638 { "TEXTURE_WRAP_R", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8072) } },
639 { "MAX_3D_TEXTURE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8073) } },
640 { "UNSIGNED_INT_2_10_10_10_REV", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8368) } },
641 { "MAX_ELEMENTS_VERTICES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80E8) } },
642 { "MAX_ELEMENTS_INDICES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80E9) } },
643 { "TEXTURE_MIN_LOD", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x813A) } },
644 { "TEXTURE_MAX_LOD", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x813B) } },
645 { "TEXTURE_BASE_LEVEL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x813C) } },
646 { "TEXTURE_MAX_LEVEL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x813D) } },
647 { "MIN", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8007) } },
648 { "MAX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8008) } },
649 { "DEPTH_COMPONENT24", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x81A6) } },
650 { "MAX_TEXTURE_LOD_BIAS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84FD) } },
651 { "TEXTURE_COMPARE_MODE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x884C) } },
652 { "TEXTURE_COMPARE_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x884D) } },
653 { "CURRENT_QUERY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8865) } },
654 { "QUERY_RESULT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8866) } },
655 { "QUERY_RESULT_AVAILABLE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8867) } },
656 { "STREAM_READ", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E1) } },
657 { "STREAM_COPY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E2) } },
658 { "STATIC_READ", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E5) } },
659 { "STATIC_COPY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E6) } },
660 { "DYNAMIC_READ", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E9) } },
661 { "DYNAMIC_COPY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88EA) } },
662 { "MAX_DRAW_BUFFERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8824) } },
663 { "DRAW_BUFFER0", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8825) } },
664 { "DRAW_BUFFER1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8826) } },
665 { "DRAW_BUFFER2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8827) } },
666 { "DRAW_BUFFER3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8828) } },
667 { "DRAW_BUFFER4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8829) } },
668 { "DRAW_BUFFER5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882A) } },
669 { "DRAW_BUFFER6", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882B) } },
670 { "DRAW_BUFFER7", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882C) } },
671 { "DRAW_BUFFER8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882D) } },
672 { "DRAW_BUFFER9", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882E) } },
673 { "DRAW_BUFFER10", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882F) } },
674 { "DRAW_BUFFER11", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8830) } },
675 { "DRAW_BUFFER12", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8831) } },
676 { "DRAW_BUFFER13", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8832) } },
677 { "DRAW_BUFFER14", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8833) } },
678 { "DRAW_BUFFER15", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8834) } },
679 { "MAX_FRAGMENT_UNIFORM_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B49) } },
680 { "MAX_VERTEX_UNIFORM_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4A) } },
681 { "SAMPLER_3D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5F) } },
682 { "SAMPLER_2D_SHADOW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B62) } },
683 { "FRAGMENT_SHADER_DERIVATIVE_HINT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B8B) } },
684 { "PIXEL_PACK_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88EB) } },
685 { "PIXEL_UNPACK_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88EC) } },
686 { "PIXEL_PACK_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88ED) } },
687 { "PIXEL_UNPACK_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88EF) } },
688 { "FLOAT_MAT2x3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B65) } },
689 { "FLOAT_MAT2x4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B66) } },
690 { "FLOAT_MAT3x2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B67) } },
691 { "FLOAT_MAT3x4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B68) } },
692 { "FLOAT_MAT4x2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B69) } },
693 { "FLOAT_MAT4x3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B6A) } },
694 { "SRGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C40) } },
695 { "SRGB8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C41) } },
696 { "SRGB8_ALPHA8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C43) } },
697 { "COMPARE_REF_TO_TEXTURE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x884E) } },
698 { "RGBA32F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8814) } },
699 { "RGB32F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8815) } },
700 { "RGBA16F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x881A) } },
701 { "RGB16F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x881B) } },
702 { "VERTEX_ATTRIB_ARRAY_INTEGER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88FD) } },
703 { "MAX_ARRAY_TEXTURE_LAYERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88FF) } },
704 { "MIN_PROGRAM_TEXEL_OFFSET", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8904) } },
705 { "MAX_PROGRAM_TEXEL_OFFSET", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8905) } },
706 { "MAX_VARYING_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4B) } },
707 { "TEXTURE_2D_ARRAY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C1A) } },
708 { "TEXTURE_BINDING_2D_ARRAY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C1D) } },
709 { "R11F_G11F_B10F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C3A) } },
710 { "UNSIGNED_INT_10F_11F_11F_REV", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C3B) } },
711 { "RGB9_E5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C3D) } },
712 { "UNSIGNED_INT_5_9_9_9_REV", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C3E) } },
713 { "TRANSFORM_FEEDBACK_BUFFER_MODE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C7F) } },
714 { "MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C80) } },
715 { "TRANSFORM_FEEDBACK_VARYINGS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C83) } },
716 { "TRANSFORM_FEEDBACK_BUFFER_START", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C84) } },
717 { "TRANSFORM_FEEDBACK_BUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C85) } },
718 { "TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C88) } },
719 { "RASTERIZER_DISCARD", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C89) } },
720 { "MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8A) } },
721 { "MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8B) } },
722 { "INTERLEAVED_ATTRIBS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8C) } },
723 { "SEPARATE_ATTRIBS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8D) } },
724 { "TRANSFORM_FEEDBACK_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8E) } },
725 { "TRANSFORM_FEEDBACK_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8F) } },
726 { "RGBA32UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D70) } },
727 { "RGB32UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D71) } },
728 { "RGBA16UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D76) } },
729 { "RGB16UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D77) } },
730 { "RGBA8UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D7C) } },
731 { "RGB8UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D7D) } },
732 { "RGBA32I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D82) } },
733 { "RGB32I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D83) } },
734 { "RGBA16I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D88) } },
735 { "RGB16I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D89) } },
736 { "RGBA8I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D8E) } },
737 { "RGB8I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D8F) } },
738 { "RED_INTEGER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D94) } },
739 { "RGB_INTEGER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D98) } },
740 { "RGBA_INTEGER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D99) } },
741 { "SAMPLER_2D_ARRAY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC1) } },
742 { "SAMPLER_2D_ARRAY_SHADOW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC4) } },
743 { "SAMPLER_CUBE_SHADOW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC5) } },
744 { "UNSIGNED_INT_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC6) } },
745 { "UNSIGNED_INT_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC7) } },
746 { "UNSIGNED_INT_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC8) } },
747 { "INT_SAMPLER_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DCA) } },
748 { "INT_SAMPLER_3D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DCB) } },
749 { "INT_SAMPLER_CUBE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DCC) } },
750 { "INT_SAMPLER_2D_ARRAY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DCF) } },
751 { "UNSIGNED_INT_SAMPLER_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DD2) } },
752 { "UNSIGNED_INT_SAMPLER_3D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DD3) } },
753 { "UNSIGNED_INT_SAMPLER_CUBE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DD4) } },
754 { "UNSIGNED_INT_SAMPLER_2D_ARRAY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DD7) } },
755 { "DEPTH_COMPONENT32F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CAC) } },
756 { "DEPTH32F_STENCIL8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CAD) } },
757 { "FLOAT_32_UNSIGNED_INT_24_8_REV", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DAD) } },
758 { "FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8210) } },
759 { "FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8211) } },
760 { "FRAMEBUFFER_ATTACHMENT_RED_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8212) } },
761 { "FRAMEBUFFER_ATTACHMENT_GREEN_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8213) } },
762 { "FRAMEBUFFER_ATTACHMENT_BLUE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8214) } },
763 { "FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8215) } },
764 { "FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8216) } },
765 { "FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8217) } },
766 { "FRAMEBUFFER_DEFAULT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8218) } },
767#if ENABLE(WEBGL)
768 { "DEPTH_STENCIL_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x821A) } },
769#else
770 { 0, 0, NoIntrinsic, { 0, 0 } },
771#endif
772#if ENABLE(WEBGL)
773 { "DEPTH_STENCIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84F9) } },
774#else
775 { 0, 0, NoIntrinsic, { 0, 0 } },
776#endif
777 { "UNSIGNED_INT_24_8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84FA) } },
778 { "DEPTH24_STENCIL8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88F0) } },
779 { "UNSIGNED_NORMALIZED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C17) } },
780 { "DRAW_FRAMEBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA6) } },
781 { "READ_FRAMEBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA8) } },
782 { "DRAW_FRAMEBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA9) } },
783 { "READ_FRAMEBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CAA) } },
784 { "RENDERBUFFER_SAMPLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CAB) } },
785 { "FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD4) } },
786 { "MAX_COLOR_ATTACHMENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CDF) } },
787 { "COLOR_ATTACHMENT1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE1) } },
788 { "COLOR_ATTACHMENT2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE2) } },
789 { "COLOR_ATTACHMENT3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE3) } },
790 { "COLOR_ATTACHMENT4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE4) } },
791 { "COLOR_ATTACHMENT5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE5) } },
792 { "COLOR_ATTACHMENT6", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE6) } },
793 { "COLOR_ATTACHMENT7", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE7) } },
794 { "COLOR_ATTACHMENT8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE8) } },
795 { "COLOR_ATTACHMENT9", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE9) } },
796 { "COLOR_ATTACHMENT10", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CEA) } },
797 { "COLOR_ATTACHMENT11", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CEB) } },
798 { "COLOR_ATTACHMENT12", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CEC) } },
799 { "COLOR_ATTACHMENT13", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CED) } },
800 { "COLOR_ATTACHMENT14", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CEE) } },
801 { "COLOR_ATTACHMENT15", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CEF) } },
802 { "FRAMEBUFFER_INCOMPLETE_MULTISAMPLE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D56) } },
803 { "MAX_SAMPLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D57) } },
804 { "HALF_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x140B) } },
805 { "RG", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8227) } },
806 { "RG_INTEGER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8228) } },
807 { "R8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8229) } },
808 { "RG8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x822B) } },
809 { "R16F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x822D) } },
810 { "R32F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x822E) } },
811 { "RG16F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x822F) } },
812 { "RG32F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8230) } },
813 { "R8I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8231) } },
814 { "R8UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8232) } },
815 { "R16I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8233) } },
816 { "R16UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8234) } },
817 { "R32I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8235) } },
818 { "R32UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8236) } },
819 { "RG8I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8237) } },
820 { "RG8UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8238) } },
821 { "RG16I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8239) } },
822 { "RG16UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x823A) } },
823 { "RG32I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x823B) } },
824 { "RG32UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x823C) } },
825 { "VERTEX_ARRAY_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x85B5) } },
826 { "R8_SNORM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F94) } },
827 { "RG8_SNORM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F95) } },
828 { "RGB8_SNORM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F96) } },
829 { "RGBA8_SNORM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F97) } },
830 { "SIGNED_NORMALIZED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F9C) } },
831 { "COPY_READ_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F36) } },
832 { "COPY_WRITE_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F37) } },
833 { "COPY_READ_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F36) } },
834 { "COPY_WRITE_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F37) } },
835 { "UNIFORM_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A11) } },
836 { "UNIFORM_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A28) } },
837 { "UNIFORM_BUFFER_START", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A29) } },
838 { "UNIFORM_BUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A2A) } },
839 { "MAX_VERTEX_UNIFORM_BLOCKS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A2B) } },
840 { "MAX_FRAGMENT_UNIFORM_BLOCKS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A2D) } },
841 { "MAX_COMBINED_UNIFORM_BLOCKS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A2E) } },
842 { "MAX_UNIFORM_BUFFER_BINDINGS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A2F) } },
843 { "MAX_UNIFORM_BLOCK_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A30) } },
844 { "MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A31) } },
845 { "MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A33) } },
846 { "UNIFORM_BUFFER_OFFSET_ALIGNMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A34) } },
847 { "ACTIVE_UNIFORM_BLOCKS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A36) } },
848 { "UNIFORM_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A37) } },
849 { "UNIFORM_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A38) } },
850 { "UNIFORM_BLOCK_INDEX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3A) } },
851 { "UNIFORM_OFFSET", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3B) } },
852 { "UNIFORM_ARRAY_STRIDE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3C) } },
853 { "UNIFORM_MATRIX_STRIDE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3D) } },
854 { "UNIFORM_IS_ROW_MAJOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3E) } },
855 { "UNIFORM_BLOCK_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3F) } },
856 { "UNIFORM_BLOCK_DATA_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A40) } },
857 { "UNIFORM_BLOCK_ACTIVE_UNIFORMS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A42) } },
858 { "UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A43) } },
859 { "UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A44) } },
860 { "UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A46) } },
861 { "INVALID_INDEX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0xFFFFFFFF) } },
862 { "MAX_VERTEX_OUTPUT_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9122) } },
863 { "MAX_FRAGMENT_INPUT_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9125) } },
864 { "MAX_SERVER_WAIT_TIMEOUT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9111) } },
865 { "OBJECT_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9112) } },
866 { "SYNC_CONDITION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9113) } },
867 { "SYNC_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9114) } },
868 { "SYNC_FLAGS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9115) } },
869 { "SYNC_FENCE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9116) } },
870 { "SYNC_GPU_COMMANDS_COMPLETE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9117) } },
871 { "UNSIGNALED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9118) } },
872 { "SIGNALED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9119) } },
873 { "ALREADY_SIGNALED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x911A) } },
874 { "TIMEOUT_EXPIRED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x911B) } },
875 { "CONDITION_SATISFIED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x911C) } },
876 { "WAIT_FAILED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x911D) } },
877 { "SYNC_FLUSH_COMMANDS_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00000001) } },
878 { "VERTEX_ATTRIB_ARRAY_DIVISOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88FE) } },
879 { "ANY_SAMPLES_PASSED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C2F) } },
880 { "ANY_SAMPLES_PASSED_CONSERVATIVE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D6A) } },
881 { "SAMPLER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8919) } },
882 { "RGB10_A2UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x906F) } },
883 { "INT_2_10_10_10_REV", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D9F) } },
884 { "TRANSFORM_FEEDBACK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8E22) } },
885 { "TRANSFORM_FEEDBACK_PAUSED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8E23) } },
886 { "TRANSFORM_FEEDBACK_ACTIVE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8E24) } },
887 { "TRANSFORM_FEEDBACK_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8E25) } },
888 { "TEXTURE_IMMUTABLE_FORMAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x912F) } },
889 { "MAX_ELEMENT_INDEX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D6B) } },
890 { "TEXTURE_IMMUTABLE_LEVELS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x82DF) } },
891 { "TIMEOUT_IGNORED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(-1) } },
892 { "MAX_CLIENT_WAIT_TIMEOUT_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9247) } },
893#if ENABLE(WEBGL)
894 { "DEPTH_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00000100) } },
895#else
896 { 0, 0, NoIntrinsic, { 0, 0 } },
897#endif
898#if ENABLE(WEBGL)
899 { "STENCIL_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00000400) } },
900#else
901 { 0, 0, NoIntrinsic, { 0, 0 } },
902#endif
903#if ENABLE(WEBGL)
904 { "COLOR_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00004000) } },
905#else
906 { 0, 0, NoIntrinsic, { 0, 0 } },
907#endif
908#if ENABLE(WEBGL)
909 { "POINTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0000) } },
910#else
911 { 0, 0, NoIntrinsic, { 0, 0 } },
912#endif
913#if ENABLE(WEBGL)
914 { "LINES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0001) } },
915#else
916 { 0, 0, NoIntrinsic, { 0, 0 } },
917#endif
918#if ENABLE(WEBGL)
919 { "LINE_LOOP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0002) } },
920#else
921 { 0, 0, NoIntrinsic, { 0, 0 } },
922#endif
923#if ENABLE(WEBGL)
924 { "LINE_STRIP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0003) } },
925#else
926 { 0, 0, NoIntrinsic, { 0, 0 } },
927#endif
928#if ENABLE(WEBGL)
929 { "TRIANGLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0004) } },
930#else
931 { 0, 0, NoIntrinsic, { 0, 0 } },
932#endif
933#if ENABLE(WEBGL)
934 { "TRIANGLE_STRIP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0005) } },
935#else
936 { 0, 0, NoIntrinsic, { 0, 0 } },
937#endif
938#if ENABLE(WEBGL)
939 { "TRIANGLE_FAN", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0006) } },
940#else
941 { 0, 0, NoIntrinsic, { 0, 0 } },
942#endif
943#if ENABLE(WEBGL)
944 { "ZERO", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
945#else
946 { 0, 0, NoIntrinsic, { 0, 0 } },
947#endif
948#if ENABLE(WEBGL)
949 { "ONE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(1) } },
950#else
951 { 0, 0, NoIntrinsic, { 0, 0 } },
952#endif
953#if ENABLE(WEBGL)
954 { "SRC_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0300) } },
955#else
956 { 0, 0, NoIntrinsic, { 0, 0 } },
957#endif
958#if ENABLE(WEBGL)
959 { "ONE_MINUS_SRC_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0301) } },
960#else
961 { 0, 0, NoIntrinsic, { 0, 0 } },
962#endif
963#if ENABLE(WEBGL)
964 { "SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0302) } },
965#else
966 { 0, 0, NoIntrinsic, { 0, 0 } },
967#endif
968#if ENABLE(WEBGL)
969 { "ONE_MINUS_SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0303) } },
970#else
971 { 0, 0, NoIntrinsic, { 0, 0 } },
972#endif
973#if ENABLE(WEBGL)
974 { "DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0304) } },
975#else
976 { 0, 0, NoIntrinsic, { 0, 0 } },
977#endif
978#if ENABLE(WEBGL)
979 { "ONE_MINUS_DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0305) } },
980#else
981 { 0, 0, NoIntrinsic, { 0, 0 } },
982#endif
983#if ENABLE(WEBGL)
984 { "DST_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0306) } },
985#else
986 { 0, 0, NoIntrinsic, { 0, 0 } },
987#endif
988#if ENABLE(WEBGL)
989 { "ONE_MINUS_DST_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0307) } },
990#else
991 { 0, 0, NoIntrinsic, { 0, 0 } },
992#endif
993#if ENABLE(WEBGL)
994 { "SRC_ALPHA_SATURATE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0308) } },
995#else
996 { 0, 0, NoIntrinsic, { 0, 0 } },
997#endif
998#if ENABLE(WEBGL)
999 { "FUNC_ADD", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8006) } },
1000#else
1001 { 0, 0, NoIntrinsic, { 0, 0 } },
1002#endif
1003#if ENABLE(WEBGL)
1004 { "BLEND_EQUATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8009) } },
1005#else
1006 { 0, 0, NoIntrinsic, { 0, 0 } },
1007#endif
1008#if ENABLE(WEBGL)
1009 { "BLEND_EQUATION_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8009) } },
1010#else
1011 { 0, 0, NoIntrinsic, { 0, 0 } },
1012#endif
1013#if ENABLE(WEBGL)
1014 { "BLEND_EQUATION_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x883D) } },
1015#else
1016 { 0, 0, NoIntrinsic, { 0, 0 } },
1017#endif
1018#if ENABLE(WEBGL)
1019 { "FUNC_SUBTRACT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x800A) } },
1020#else
1021 { 0, 0, NoIntrinsic, { 0, 0 } },
1022#endif
1023#if ENABLE(WEBGL)
1024 { "FUNC_REVERSE_SUBTRACT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x800B) } },
1025#else
1026 { 0, 0, NoIntrinsic, { 0, 0 } },
1027#endif
1028#if ENABLE(WEBGL)
1029 { "BLEND_DST_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80C8) } },
1030#else
1031 { 0, 0, NoIntrinsic, { 0, 0 } },
1032#endif
1033#if ENABLE(WEBGL)
1034 { "BLEND_SRC_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80C9) } },
1035#else
1036 { 0, 0, NoIntrinsic, { 0, 0 } },
1037#endif
1038#if ENABLE(WEBGL)
1039 { "BLEND_DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80CA) } },
1040#else
1041 { 0, 0, NoIntrinsic, { 0, 0 } },
1042#endif
1043#if ENABLE(WEBGL)
1044 { "BLEND_SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80CB) } },
1045#else
1046 { 0, 0, NoIntrinsic, { 0, 0 } },
1047#endif
1048#if ENABLE(WEBGL)
1049 { "CONSTANT_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8001) } },
1050#else
1051 { 0, 0, NoIntrinsic, { 0, 0 } },
1052#endif
1053#if ENABLE(WEBGL)
1054 { "ONE_MINUS_CONSTANT_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8002) } },
1055#else
1056 { 0, 0, NoIntrinsic, { 0, 0 } },
1057#endif
1058#if ENABLE(WEBGL)
1059 { "CONSTANT_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8003) } },
1060#else
1061 { 0, 0, NoIntrinsic, { 0, 0 } },
1062#endif
1063#if ENABLE(WEBGL)
1064 { "ONE_MINUS_CONSTANT_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8004) } },
1065#else
1066 { 0, 0, NoIntrinsic, { 0, 0 } },
1067#endif
1068#if ENABLE(WEBGL)
1069 { "BLEND_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8005) } },
1070#else
1071 { 0, 0, NoIntrinsic, { 0, 0 } },
1072#endif
1073#if ENABLE(WEBGL)
1074 { "ARRAY_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8892) } },
1075#else
1076 { 0, 0, NoIntrinsic, { 0, 0 } },
1077#endif
1078#if ENABLE(WEBGL)
1079 { "ELEMENT_ARRAY_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8893) } },
1080#else
1081 { 0, 0, NoIntrinsic, { 0, 0 } },
1082#endif
1083#if ENABLE(WEBGL)
1084 { "ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8894) } },
1085#else
1086 { 0, 0, NoIntrinsic, { 0, 0 } },
1087#endif
1088#if ENABLE(WEBGL)
1089 { "ELEMENT_ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8895) } },
1090#else
1091 { 0, 0, NoIntrinsic, { 0, 0 } },
1092#endif
1093#if ENABLE(WEBGL)
1094 { "STREAM_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E0) } },
1095#else
1096 { 0, 0, NoIntrinsic, { 0, 0 } },
1097#endif
1098#if ENABLE(WEBGL)
1099 { "STATIC_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E4) } },
1100#else
1101 { 0, 0, NoIntrinsic, { 0, 0 } },
1102#endif
1103#if ENABLE(WEBGL)
1104 { "DYNAMIC_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E8) } },
1105#else
1106 { 0, 0, NoIntrinsic, { 0, 0 } },
1107#endif
1108#if ENABLE(WEBGL)
1109 { "BUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8764) } },
1110#else
1111 { 0, 0, NoIntrinsic, { 0, 0 } },
1112#endif
1113#if ENABLE(WEBGL)
1114 { "BUFFER_USAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8765) } },
1115#else
1116 { 0, 0, NoIntrinsic, { 0, 0 } },
1117#endif
1118#if ENABLE(WEBGL)
1119 { "CURRENT_VERTEX_ATTRIB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8626) } },
1120#else
1121 { 0, 0, NoIntrinsic, { 0, 0 } },
1122#endif
1123#if ENABLE(WEBGL)
1124 { "FRONT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0404) } },
1125#else
1126 { 0, 0, NoIntrinsic, { 0, 0 } },
1127#endif
1128#if ENABLE(WEBGL)
1129 { "BACK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0405) } },
1130#else
1131 { 0, 0, NoIntrinsic, { 0, 0 } },
1132#endif
1133#if ENABLE(WEBGL)
1134 { "FRONT_AND_BACK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0408) } },
1135#else
1136 { 0, 0, NoIntrinsic, { 0, 0 } },
1137#endif
1138#if ENABLE(WEBGL)
1139 { "TEXTURE_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0DE1) } },
1140#else
1141 { 0, 0, NoIntrinsic, { 0, 0 } },
1142#endif
1143#if ENABLE(WEBGL)
1144 { "CULL_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B44) } },
1145#else
1146 { 0, 0, NoIntrinsic, { 0, 0 } },
1147#endif
1148#if ENABLE(WEBGL)
1149 { "BLEND", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BE2) } },
1150#else
1151 { 0, 0, NoIntrinsic, { 0, 0 } },
1152#endif
1153#if ENABLE(WEBGL)
1154 { "DITHER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BD0) } },
1155#else
1156 { 0, 0, NoIntrinsic, { 0, 0 } },
1157#endif
1158#if ENABLE(WEBGL)
1159 { "STENCIL_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B90) } },
1160#else
1161 { 0, 0, NoIntrinsic, { 0, 0 } },
1162#endif
1163#if ENABLE(WEBGL)
1164 { "DEPTH_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B71) } },
1165#else
1166 { 0, 0, NoIntrinsic, { 0, 0 } },
1167#endif
1168#if ENABLE(WEBGL)
1169 { "SCISSOR_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C11) } },
1170#else
1171 { 0, 0, NoIntrinsic, { 0, 0 } },
1172#endif
1173#if ENABLE(WEBGL)
1174 { "POLYGON_OFFSET_FILL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8037) } },
1175#else
1176 { 0, 0, NoIntrinsic, { 0, 0 } },
1177#endif
1178#if ENABLE(WEBGL)
1179 { "SAMPLE_ALPHA_TO_COVERAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x809E) } },
1180#else
1181 { 0, 0, NoIntrinsic, { 0, 0 } },
1182#endif
1183#if ENABLE(WEBGL)
1184 { "SAMPLE_COVERAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A0) } },
1185#else
1186 { 0, 0, NoIntrinsic, { 0, 0 } },
1187#endif
1188#if ENABLE(WEBGL)
1189 { "NO_ERROR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
1190#else
1191 { 0, 0, NoIntrinsic, { 0, 0 } },
1192#endif
1193#if ENABLE(WEBGL)
1194 { "INVALID_ENUM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0500) } },
1195#else
1196 { 0, 0, NoIntrinsic, { 0, 0 } },
1197#endif
1198#if ENABLE(WEBGL)
1199 { "INVALID_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0501) } },
1200#else
1201 { 0, 0, NoIntrinsic, { 0, 0 } },
1202#endif
1203#if ENABLE(WEBGL)
1204 { "INVALID_OPERATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0502) } },
1205#else
1206 { 0, 0, NoIntrinsic, { 0, 0 } },
1207#endif
1208#if ENABLE(WEBGL)
1209 { "OUT_OF_MEMORY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0505) } },
1210#else
1211 { 0, 0, NoIntrinsic, { 0, 0 } },
1212#endif
1213#if ENABLE(WEBGL)
1214 { "CW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0900) } },
1215#else
1216 { 0, 0, NoIntrinsic, { 0, 0 } },
1217#endif
1218#if ENABLE(WEBGL)
1219 { "CCW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0901) } },
1220#else
1221 { 0, 0, NoIntrinsic, { 0, 0 } },
1222#endif
1223#if ENABLE(WEBGL)
1224 { "LINE_WIDTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B21) } },
1225#else
1226 { 0, 0, NoIntrinsic, { 0, 0 } },
1227#endif
1228#if ENABLE(WEBGL)
1229 { "ALIASED_POINT_SIZE_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x846D) } },
1230#else
1231 { 0, 0, NoIntrinsic, { 0, 0 } },
1232#endif
1233#if ENABLE(WEBGL)
1234 { "ALIASED_LINE_WIDTH_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x846E) } },
1235#else
1236 { 0, 0, NoIntrinsic, { 0, 0 } },
1237#endif
1238#if ENABLE(WEBGL)
1239 { "CULL_FACE_MODE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B45) } },
1240#else
1241 { 0, 0, NoIntrinsic, { 0, 0 } },
1242#endif
1243#if ENABLE(WEBGL)
1244 { "FRONT_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B46) } },
1245#else
1246 { 0, 0, NoIntrinsic, { 0, 0 } },
1247#endif
1248#if ENABLE(WEBGL)
1249 { "DEPTH_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B70) } },
1250#else
1251 { 0, 0, NoIntrinsic, { 0, 0 } },
1252#endif
1253#if ENABLE(WEBGL)
1254 { "DEPTH_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B72) } },
1255#else
1256 { 0, 0, NoIntrinsic, { 0, 0 } },
1257#endif
1258#if ENABLE(WEBGL)
1259 { "DEPTH_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B73) } },
1260#else
1261 { 0, 0, NoIntrinsic, { 0, 0 } },
1262#endif
1263#if ENABLE(WEBGL)
1264 { "DEPTH_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B74) } },
1265#else
1266 { 0, 0, NoIntrinsic, { 0, 0 } },
1267#endif
1268#if ENABLE(WEBGL)
1269 { "STENCIL_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B91) } },
1270#else
1271 { 0, 0, NoIntrinsic, { 0, 0 } },
1272#endif
1273#if ENABLE(WEBGL)
1274 { "STENCIL_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B92) } },
1275#else
1276 { 0, 0, NoIntrinsic, { 0, 0 } },
1277#endif
1278#if ENABLE(WEBGL)
1279 { "STENCIL_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B94) } },
1280#else
1281 { 0, 0, NoIntrinsic, { 0, 0 } },
1282#endif
1283#if ENABLE(WEBGL)
1284 { "STENCIL_PASS_DEPTH_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B95) } },
1285#else
1286 { 0, 0, NoIntrinsic, { 0, 0 } },
1287#endif
1288#if ENABLE(WEBGL)
1289 { "STENCIL_PASS_DEPTH_PASS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B96) } },
1290#else
1291 { 0, 0, NoIntrinsic, { 0, 0 } },
1292#endif
1293#if ENABLE(WEBGL)
1294 { "STENCIL_REF", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B97) } },
1295#else
1296 { 0, 0, NoIntrinsic, { 0, 0 } },
1297#endif
1298#if ENABLE(WEBGL)
1299 { "STENCIL_VALUE_MASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B93) } },
1300#else
1301 { 0, 0, NoIntrinsic, { 0, 0 } },
1302#endif
1303#if ENABLE(WEBGL)
1304 { "STENCIL_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B98) } },
1305#else
1306 { 0, 0, NoIntrinsic, { 0, 0 } },
1307#endif
1308#if ENABLE(WEBGL)
1309 { "STENCIL_BACK_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8800) } },
1310#else
1311 { 0, 0, NoIntrinsic, { 0, 0 } },
1312#endif
1313#if ENABLE(WEBGL)
1314 { "STENCIL_BACK_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8801) } },
1315#else
1316 { 0, 0, NoIntrinsic, { 0, 0 } },
1317#endif
1318#if ENABLE(WEBGL)
1319 { "STENCIL_BACK_PASS_DEPTH_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8802) } },
1320#else
1321 { 0, 0, NoIntrinsic, { 0, 0 } },
1322#endif
1323#if ENABLE(WEBGL)
1324 { "STENCIL_BACK_PASS_DEPTH_PASS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8803) } },
1325#else
1326 { 0, 0, NoIntrinsic, { 0, 0 } },
1327#endif
1328#if ENABLE(WEBGL)
1329 { "STENCIL_BACK_REF", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA3) } },
1330#else
1331 { 0, 0, NoIntrinsic, { 0, 0 } },
1332#endif
1333#if ENABLE(WEBGL)
1334 { "STENCIL_BACK_VALUE_MASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA4) } },
1335#else
1336 { 0, 0, NoIntrinsic, { 0, 0 } },
1337#endif
1338#if ENABLE(WEBGL)
1339 { "STENCIL_BACK_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA5) } },
1340#else
1341 { 0, 0, NoIntrinsic, { 0, 0 } },
1342#endif
1343#if ENABLE(WEBGL)
1344 { "VIEWPORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BA2) } },
1345#else
1346 { 0, 0, NoIntrinsic, { 0, 0 } },
1347#endif
1348#if ENABLE(WEBGL)
1349 { "SCISSOR_BOX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C10) } },
1350#else
1351 { 0, 0, NoIntrinsic, { 0, 0 } },
1352#endif
1353#if ENABLE(WEBGL)
1354 { "COLOR_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C22) } },
1355#else
1356 { 0, 0, NoIntrinsic, { 0, 0 } },
1357#endif
1358#if ENABLE(WEBGL)
1359 { "COLOR_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C23) } },
1360#else
1361 { 0, 0, NoIntrinsic, { 0, 0 } },
1362#endif
1363#if ENABLE(WEBGL)
1364 { "UNPACK_ALIGNMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0CF5) } },
1365#else
1366 { 0, 0, NoIntrinsic, { 0, 0 } },
1367#endif
1368#if ENABLE(WEBGL)
1369 { "PACK_ALIGNMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D05) } },
1370#else
1371 { 0, 0, NoIntrinsic, { 0, 0 } },
1372#endif
1373#if ENABLE(WEBGL)
1374 { "MAX_TEXTURE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D33) } },
1375#else
1376 { 0, 0, NoIntrinsic, { 0, 0 } },
1377#endif
1378#if ENABLE(WEBGL)
1379 { "MAX_VIEWPORT_DIMS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D3A) } },
1380#else
1381 { 0, 0, NoIntrinsic, { 0, 0 } },
1382#endif
1383#if ENABLE(WEBGL)
1384 { "SUBPIXEL_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D50) } },
1385#else
1386 { 0, 0, NoIntrinsic, { 0, 0 } },
1387#endif
1388#if ENABLE(WEBGL)
1389 { "RED_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D52) } },
1390#else
1391 { 0, 0, NoIntrinsic, { 0, 0 } },
1392#endif
1393#if ENABLE(WEBGL)
1394 { "GREEN_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D53) } },
1395#else
1396 { 0, 0, NoIntrinsic, { 0, 0 } },
1397#endif
1398#if ENABLE(WEBGL)
1399 { "BLUE_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D54) } },
1400#else
1401 { 0, 0, NoIntrinsic, { 0, 0 } },
1402#endif
1403#if ENABLE(WEBGL)
1404 { "ALPHA_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D55) } },
1405#else
1406 { 0, 0, NoIntrinsic, { 0, 0 } },
1407#endif
1408#if ENABLE(WEBGL)
1409 { "DEPTH_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D56) } },
1410#else
1411 { 0, 0, NoIntrinsic, { 0, 0 } },
1412#endif
1413#if ENABLE(WEBGL)
1414 { "STENCIL_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D57) } },
1415#else
1416 { 0, 0, NoIntrinsic, { 0, 0 } },
1417#endif
1418#if ENABLE(WEBGL)
1419 { "POLYGON_OFFSET_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2A00) } },
1420#else
1421 { 0, 0, NoIntrinsic, { 0, 0 } },
1422#endif
1423#if ENABLE(WEBGL)
1424 { "POLYGON_OFFSET_FACTOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8038) } },
1425#else
1426 { 0, 0, NoIntrinsic, { 0, 0 } },
1427#endif
1428#if ENABLE(WEBGL)
1429 { "TEXTURE_BINDING_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8069) } },
1430#else
1431 { 0, 0, NoIntrinsic, { 0, 0 } },
1432#endif
1433#if ENABLE(WEBGL)
1434 { "SAMPLE_BUFFERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A8) } },
1435#else
1436 { 0, 0, NoIntrinsic, { 0, 0 } },
1437#endif
1438#if ENABLE(WEBGL)
1439 { "SAMPLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A9) } },
1440#else
1441 { 0, 0, NoIntrinsic, { 0, 0 } },
1442#endif
1443#if ENABLE(WEBGL)
1444 { "SAMPLE_COVERAGE_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80AA) } },
1445#else
1446 { 0, 0, NoIntrinsic, { 0, 0 } },
1447#endif
1448#if ENABLE(WEBGL)
1449 { "SAMPLE_COVERAGE_INVERT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80AB) } },
1450#else
1451 { 0, 0, NoIntrinsic, { 0, 0 } },
1452#endif
1453#if ENABLE(WEBGL)
1454 { "COMPRESSED_TEXTURE_FORMATS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x86A3) } },
1455#else
1456 { 0, 0, NoIntrinsic, { 0, 0 } },
1457#endif
1458#if ENABLE(WEBGL)
1459 { "DONT_CARE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1100) } },
1460#else
1461 { 0, 0, NoIntrinsic, { 0, 0 } },
1462#endif
1463#if ENABLE(WEBGL)
1464 { "FASTEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1101) } },
1465#else
1466 { 0, 0, NoIntrinsic, { 0, 0 } },
1467#endif
1468#if ENABLE(WEBGL)
1469 { "NICEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1102) } },
1470#else
1471 { 0, 0, NoIntrinsic, { 0, 0 } },
1472#endif
1473#if ENABLE(WEBGL)
1474 { "GENERATE_MIPMAP_HINT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8192) } },
1475#else
1476 { 0, 0, NoIntrinsic, { 0, 0 } },
1477#endif
1478#if ENABLE(WEBGL)
1479 { "BYTE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1400) } },
1480#else
1481 { 0, 0, NoIntrinsic, { 0, 0 } },
1482#endif
1483#if ENABLE(WEBGL)
1484 { "UNSIGNED_BYTE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1401) } },
1485#else
1486 { 0, 0, NoIntrinsic, { 0, 0 } },
1487#endif
1488#if ENABLE(WEBGL)
1489 { "SHORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1402) } },
1490#else
1491 { 0, 0, NoIntrinsic, { 0, 0 } },
1492#endif
1493#if ENABLE(WEBGL)
1494 { "UNSIGNED_SHORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1403) } },
1495#else
1496 { 0, 0, NoIntrinsic, { 0, 0 } },
1497#endif
1498#if ENABLE(WEBGL)
1499 { "INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1404) } },
1500#else
1501 { 0, 0, NoIntrinsic, { 0, 0 } },
1502#endif
1503#if ENABLE(WEBGL)
1504 { "UNSIGNED_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1405) } },
1505#else
1506 { 0, 0, NoIntrinsic, { 0, 0 } },
1507#endif
1508#if ENABLE(WEBGL)
1509 { "FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1406) } },
1510#else
1511 { 0, 0, NoIntrinsic, { 0, 0 } },
1512#endif
1513#if ENABLE(WEBGL)
1514 { "DEPTH_COMPONENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1902) } },
1515#else
1516 { 0, 0, NoIntrinsic, { 0, 0 } },
1517#endif
1518#if ENABLE(WEBGL)
1519 { "ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1906) } },
1520#else
1521 { 0, 0, NoIntrinsic, { 0, 0 } },
1522#endif
1523#if ENABLE(WEBGL)
1524 { "RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1907) } },
1525#else
1526 { 0, 0, NoIntrinsic, { 0, 0 } },
1527#endif
1528#if ENABLE(WEBGL)
1529 { "RGBA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1908) } },
1530#else
1531 { 0, 0, NoIntrinsic, { 0, 0 } },
1532#endif
1533#if ENABLE(WEBGL)
1534 { "LUMINANCE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1909) } },
1535#else
1536 { 0, 0, NoIntrinsic, { 0, 0 } },
1537#endif
1538#if ENABLE(WEBGL)
1539 { "LUMINANCE_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x190A) } },
1540#else
1541 { 0, 0, NoIntrinsic, { 0, 0 } },
1542#endif
1543#if ENABLE(WEBGL)
1544 { "UNSIGNED_SHORT_4_4_4_4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8033) } },
1545#else
1546 { 0, 0, NoIntrinsic, { 0, 0 } },
1547#endif
1548#if ENABLE(WEBGL)
1549 { "UNSIGNED_SHORT_5_5_5_1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8034) } },
1550#else
1551 { 0, 0, NoIntrinsic, { 0, 0 } },
1552#endif
1553#if ENABLE(WEBGL)
1554 { "UNSIGNED_SHORT_5_6_5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8363) } },
1555#else
1556 { 0, 0, NoIntrinsic, { 0, 0 } },
1557#endif
1558#if ENABLE(WEBGL)
1559 { "FRAGMENT_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B30) } },
1560#else
1561 { 0, 0, NoIntrinsic, { 0, 0 } },
1562#endif
1563#if ENABLE(WEBGL)
1564 { "VERTEX_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B31) } },
1565#else
1566 { 0, 0, NoIntrinsic, { 0, 0 } },
1567#endif
1568#if ENABLE(WEBGL)
1569 { "MAX_VERTEX_ATTRIBS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8869) } },
1570#else
1571 { 0, 0, NoIntrinsic, { 0, 0 } },
1572#endif
1573#if ENABLE(WEBGL)
1574 { "MAX_VERTEX_UNIFORM_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFB) } },
1575#else
1576 { 0, 0, NoIntrinsic, { 0, 0 } },
1577#endif
1578#if ENABLE(WEBGL)
1579 { "MAX_VARYING_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFC) } },
1580#else
1581 { 0, 0, NoIntrinsic, { 0, 0 } },
1582#endif
1583#if ENABLE(WEBGL)
1584 { "MAX_COMBINED_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4D) } },
1585#else
1586 { 0, 0, NoIntrinsic, { 0, 0 } },
1587#endif
1588#if ENABLE(WEBGL)
1589 { "MAX_VERTEX_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4C) } },
1590#else
1591 { 0, 0, NoIntrinsic, { 0, 0 } },
1592#endif
1593#if ENABLE(WEBGL)
1594 { "MAX_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8872) } },
1595#else
1596 { 0, 0, NoIntrinsic, { 0, 0 } },
1597#endif
1598#if ENABLE(WEBGL)
1599 { "MAX_FRAGMENT_UNIFORM_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFD) } },
1600#else
1601 { 0, 0, NoIntrinsic, { 0, 0 } },
1602#endif
1603#if ENABLE(WEBGL)
1604 { "SHADER_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4F) } },
1605#else
1606 { 0, 0, NoIntrinsic, { 0, 0 } },
1607#endif
1608#if ENABLE(WEBGL)
1609 { "DELETE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B80) } },
1610#else
1611 { 0, 0, NoIntrinsic, { 0, 0 } },
1612#endif
1613#if ENABLE(WEBGL)
1614 { "LINK_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B82) } },
1615#else
1616 { 0, 0, NoIntrinsic, { 0, 0 } },
1617#endif
1618#if ENABLE(WEBGL)
1619 { "VALIDATE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B83) } },
1620#else
1621 { 0, 0, NoIntrinsic, { 0, 0 } },
1622#endif
1623#if ENABLE(WEBGL)
1624 { "ATTACHED_SHADERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B85) } },
1625#else
1626 { 0, 0, NoIntrinsic, { 0, 0 } },
1627#endif
1628#if ENABLE(WEBGL)
1629 { "ACTIVE_UNIFORMS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B86) } },
1630#else
1631 { 0, 0, NoIntrinsic, { 0, 0 } },
1632#endif
1633#if ENABLE(WEBGL)
1634 { "ACTIVE_ATTRIBUTES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B89) } },
1635#else
1636 { 0, 0, NoIntrinsic, { 0, 0 } },
1637#endif
1638#if ENABLE(WEBGL)
1639 { "SHADING_LANGUAGE_VERSION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B8C) } },
1640#else
1641 { 0, 0, NoIntrinsic, { 0, 0 } },
1642#endif
1643#if ENABLE(WEBGL)
1644 { "CURRENT_PROGRAM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B8D) } },
1645#else
1646 { 0, 0, NoIntrinsic, { 0, 0 } },
1647#endif
1648#if ENABLE(WEBGL)
1649 { "NEVER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0200) } },
1650#else
1651 { 0, 0, NoIntrinsic, { 0, 0 } },
1652#endif
1653#if ENABLE(WEBGL)
1654 { "LESS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0201) } },
1655#else
1656 { 0, 0, NoIntrinsic, { 0, 0 } },
1657#endif
1658#if ENABLE(WEBGL)
1659 { "EQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0202) } },
1660#else
1661 { 0, 0, NoIntrinsic, { 0, 0 } },
1662#endif
1663#if ENABLE(WEBGL)
1664 { "LEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0203) } },
1665#else
1666 { 0, 0, NoIntrinsic, { 0, 0 } },
1667#endif
1668#if ENABLE(WEBGL)
1669 { "GREATER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0204) } },
1670#else
1671 { 0, 0, NoIntrinsic, { 0, 0 } },
1672#endif
1673#if ENABLE(WEBGL)
1674 { "NOTEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0205) } },
1675#else
1676 { 0, 0, NoIntrinsic, { 0, 0 } },
1677#endif
1678#if ENABLE(WEBGL)
1679 { "GEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0206) } },
1680#else
1681 { 0, 0, NoIntrinsic, { 0, 0 } },
1682#endif
1683#if ENABLE(WEBGL)
1684 { "ALWAYS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0207) } },
1685#else
1686 { 0, 0, NoIntrinsic, { 0, 0 } },
1687#endif
1688#if ENABLE(WEBGL)
1689 { "KEEP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E00) } },
1690#else
1691 { 0, 0, NoIntrinsic, { 0, 0 } },
1692#endif
1693#if ENABLE(WEBGL)
1694 { "REPLACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E01) } },
1695#else
1696 { 0, 0, NoIntrinsic, { 0, 0 } },
1697#endif
1698#if ENABLE(WEBGL)
1699 { "INCR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E02) } },
1700#else
1701 { 0, 0, NoIntrinsic, { 0, 0 } },
1702#endif
1703#if ENABLE(WEBGL)
1704 { "DECR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E03) } },
1705#else
1706 { 0, 0, NoIntrinsic, { 0, 0 } },
1707#endif
1708#if ENABLE(WEBGL)
1709 { "INVERT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x150A) } },
1710#else
1711 { 0, 0, NoIntrinsic, { 0, 0 } },
1712#endif
1713#if ENABLE(WEBGL)
1714 { "INCR_WRAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8507) } },
1715#else
1716 { 0, 0, NoIntrinsic, { 0, 0 } },
1717#endif
1718#if ENABLE(WEBGL)
1719 { "DECR_WRAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8508) } },
1720#else
1721 { 0, 0, NoIntrinsic, { 0, 0 } },
1722#endif
1723#if ENABLE(WEBGL)
1724 { "VENDOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F00) } },
1725#else
1726 { 0, 0, NoIntrinsic, { 0, 0 } },
1727#endif
1728#if ENABLE(WEBGL)
1729 { "RENDERER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F01) } },
1730#else
1731 { 0, 0, NoIntrinsic, { 0, 0 } },
1732#endif
1733#if ENABLE(WEBGL)
1734 { "VERSION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F02) } },
1735#else
1736 { 0, 0, NoIntrinsic, { 0, 0 } },
1737#endif
1738#if ENABLE(WEBGL)
1739 { "NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2600) } },
1740#else
1741 { 0, 0, NoIntrinsic, { 0, 0 } },
1742#endif
1743#if ENABLE(WEBGL)
1744 { "LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2601) } },
1745#else
1746 { 0, 0, NoIntrinsic, { 0, 0 } },
1747#endif
1748#if ENABLE(WEBGL)
1749 { "NEAREST_MIPMAP_NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2700) } },
1750#else
1751 { 0, 0, NoIntrinsic, { 0, 0 } },
1752#endif
1753#if ENABLE(WEBGL)
1754 { "LINEAR_MIPMAP_NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2701) } },
1755#else
1756 { 0, 0, NoIntrinsic, { 0, 0 } },
1757#endif
1758#if ENABLE(WEBGL)
1759 { "NEAREST_MIPMAP_LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2702) } },
1760#else
1761 { 0, 0, NoIntrinsic, { 0, 0 } },
1762#endif
1763#if ENABLE(WEBGL)
1764 { "LINEAR_MIPMAP_LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2703) } },
1765#else
1766 { 0, 0, NoIntrinsic, { 0, 0 } },
1767#endif
1768#if ENABLE(WEBGL)
1769 { "TEXTURE_MAG_FILTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2800) } },
1770#else
1771 { 0, 0, NoIntrinsic, { 0, 0 } },
1772#endif
1773#if ENABLE(WEBGL)
1774 { "TEXTURE_MIN_FILTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2801) } },
1775#else
1776 { 0, 0, NoIntrinsic, { 0, 0 } },
1777#endif
1778#if ENABLE(WEBGL)
1779 { "TEXTURE_WRAP_S", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2802) } },
1780#else
1781 { 0, 0, NoIntrinsic, { 0, 0 } },
1782#endif
1783#if ENABLE(WEBGL)
1784 { "TEXTURE_WRAP_T", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2803) } },
1785#else
1786 { 0, 0, NoIntrinsic, { 0, 0 } },
1787#endif
1788#if ENABLE(WEBGL)
1789 { "TEXTURE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1702) } },
1790#else
1791 { 0, 0, NoIntrinsic, { 0, 0 } },
1792#endif
1793#if ENABLE(WEBGL)
1794 { "TEXTURE_CUBE_MAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8513) } },
1795#else
1796 { 0, 0, NoIntrinsic, { 0, 0 } },
1797#endif
1798#if ENABLE(WEBGL)
1799 { "TEXTURE_BINDING_CUBE_MAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8514) } },
1800#else
1801 { 0, 0, NoIntrinsic, { 0, 0 } },
1802#endif
1803#if ENABLE(WEBGL)
1804 { "TEXTURE_CUBE_MAP_POSITIVE_X", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8515) } },
1805#else
1806 { 0, 0, NoIntrinsic, { 0, 0 } },
1807#endif
1808#if ENABLE(WEBGL)
1809 { "TEXTURE_CUBE_MAP_NEGATIVE_X", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8516) } },
1810#else
1811 { 0, 0, NoIntrinsic, { 0, 0 } },
1812#endif
1813#if ENABLE(WEBGL)
1814 { "TEXTURE_CUBE_MAP_POSITIVE_Y", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8517) } },
1815#else
1816 { 0, 0, NoIntrinsic, { 0, 0 } },
1817#endif
1818#if ENABLE(WEBGL)
1819 { "TEXTURE_CUBE_MAP_NEGATIVE_Y", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8518) } },
1820#else
1821 { 0, 0, NoIntrinsic, { 0, 0 } },
1822#endif
1823#if ENABLE(WEBGL)
1824 { "TEXTURE_CUBE_MAP_POSITIVE_Z", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8519) } },
1825#else
1826 { 0, 0, NoIntrinsic, { 0, 0 } },
1827#endif
1828#if ENABLE(WEBGL)
1829 { "TEXTURE_CUBE_MAP_NEGATIVE_Z", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x851A) } },
1830#else
1831 { 0, 0, NoIntrinsic, { 0, 0 } },
1832#endif
1833#if ENABLE(WEBGL)
1834 { "MAX_CUBE_MAP_TEXTURE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x851C) } },
1835#else
1836 { 0, 0, NoIntrinsic, { 0, 0 } },
1837#endif
1838#if ENABLE(WEBGL)
1839 { "TEXTURE0", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C0) } },
1840#else
1841 { 0, 0, NoIntrinsic, { 0, 0 } },
1842#endif
1843#if ENABLE(WEBGL)
1844 { "TEXTURE1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C1) } },
1845#else
1846 { 0, 0, NoIntrinsic, { 0, 0 } },
1847#endif
1848#if ENABLE(WEBGL)
1849 { "TEXTURE2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C2) } },
1850#else
1851 { 0, 0, NoIntrinsic, { 0, 0 } },
1852#endif
1853#if ENABLE(WEBGL)
1854 { "TEXTURE3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C3) } },
1855#else
1856 { 0, 0, NoIntrinsic, { 0, 0 } },
1857#endif
1858#if ENABLE(WEBGL)
1859 { "TEXTURE4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C4) } },
1860#else
1861 { 0, 0, NoIntrinsic, { 0, 0 } },
1862#endif
1863#if ENABLE(WEBGL)
1864 { "TEXTURE5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C5) } },
1865#else
1866 { 0, 0, NoIntrinsic, { 0, 0 } },
1867#endif
1868#if ENABLE(WEBGL)
1869 { "TEXTURE6", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C6) } },
1870#else
1871 { 0, 0, NoIntrinsic, { 0, 0 } },
1872#endif
1873#if ENABLE(WEBGL)
1874 { "TEXTURE7", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C7) } },
1875#else
1876 { 0, 0, NoIntrinsic, { 0, 0 } },
1877#endif
1878#if ENABLE(WEBGL)
1879 { "TEXTURE8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C8) } },
1880#else
1881 { 0, 0, NoIntrinsic, { 0, 0 } },
1882#endif
1883#if ENABLE(WEBGL)
1884 { "TEXTURE9", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C9) } },
1885#else
1886 { 0, 0, NoIntrinsic, { 0, 0 } },
1887#endif
1888#if ENABLE(WEBGL)
1889 { "TEXTURE10", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CA) } },
1890#else
1891 { 0, 0, NoIntrinsic, { 0, 0 } },
1892#endif
1893#if ENABLE(WEBGL)
1894 { "TEXTURE11", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CB) } },
1895#else
1896 { 0, 0, NoIntrinsic, { 0, 0 } },
1897#endif
1898#if ENABLE(WEBGL)
1899 { "TEXTURE12", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CC) } },
1900#else
1901 { 0, 0, NoIntrinsic, { 0, 0 } },
1902#endif
1903#if ENABLE(WEBGL)
1904 { "TEXTURE13", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CD) } },
1905#else
1906 { 0, 0, NoIntrinsic, { 0, 0 } },
1907#endif
1908#if ENABLE(WEBGL)
1909 { "TEXTURE14", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CE) } },
1910#else
1911 { 0, 0, NoIntrinsic, { 0, 0 } },
1912#endif
1913#if ENABLE(WEBGL)
1914 { "TEXTURE15", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CF) } },
1915#else
1916 { 0, 0, NoIntrinsic, { 0, 0 } },
1917#endif
1918#if ENABLE(WEBGL)
1919 { "TEXTURE16", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D0) } },
1920#else
1921 { 0, 0, NoIntrinsic, { 0, 0 } },
1922#endif
1923#if ENABLE(WEBGL)
1924 { "TEXTURE17", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D1) } },
1925#else
1926 { 0, 0, NoIntrinsic, { 0, 0 } },
1927#endif
1928#if ENABLE(WEBGL)
1929 { "TEXTURE18", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D2) } },
1930#else
1931 { 0, 0, NoIntrinsic, { 0, 0 } },
1932#endif
1933#if ENABLE(WEBGL)
1934 { "TEXTURE19", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D3) } },
1935#else
1936 { 0, 0, NoIntrinsic, { 0, 0 } },
1937#endif
1938#if ENABLE(WEBGL)
1939 { "TEXTURE20", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D4) } },
1940#else
1941 { 0, 0, NoIntrinsic, { 0, 0 } },
1942#endif
1943#if ENABLE(WEBGL)
1944 { "TEXTURE21", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D5) } },
1945#else
1946 { 0, 0, NoIntrinsic, { 0, 0 } },
1947#endif
1948#if ENABLE(WEBGL)
1949 { "TEXTURE22", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D6) } },
1950#else
1951 { 0, 0, NoIntrinsic, { 0, 0 } },
1952#endif
1953#if ENABLE(WEBGL)
1954 { "TEXTURE23", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D7) } },
1955#else
1956 { 0, 0, NoIntrinsic, { 0, 0 } },
1957#endif
1958#if ENABLE(WEBGL)
1959 { "TEXTURE24", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D8) } },
1960#else
1961 { 0, 0, NoIntrinsic, { 0, 0 } },
1962#endif
1963#if ENABLE(WEBGL)
1964 { "TEXTURE25", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D9) } },
1965#else
1966 { 0, 0, NoIntrinsic, { 0, 0 } },
1967#endif
1968#if ENABLE(WEBGL)
1969 { "TEXTURE26", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DA) } },
1970#else
1971 { 0, 0, NoIntrinsic, { 0, 0 } },
1972#endif
1973#if ENABLE(WEBGL)
1974 { "TEXTURE27", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DB) } },
1975#else
1976 { 0, 0, NoIntrinsic, { 0, 0 } },
1977#endif
1978#if ENABLE(WEBGL)
1979 { "TEXTURE28", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DC) } },
1980#else
1981 { 0, 0, NoIntrinsic, { 0, 0 } },
1982#endif
1983#if ENABLE(WEBGL)
1984 { "TEXTURE29", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DD) } },
1985#else
1986 { 0, 0, NoIntrinsic, { 0, 0 } },
1987#endif
1988#if ENABLE(WEBGL)
1989 { "TEXTURE30", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DE) } },
1990#else
1991 { 0, 0, NoIntrinsic, { 0, 0 } },
1992#endif
1993#if ENABLE(WEBGL)
1994 { "TEXTURE31", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DF) } },
1995#else
1996 { 0, 0, NoIntrinsic, { 0, 0 } },
1997#endif
1998#if ENABLE(WEBGL)
1999 { "ACTIVE_TEXTURE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84E0) } },
2000#else
2001 { 0, 0, NoIntrinsic, { 0, 0 } },
2002#endif
2003#if ENABLE(WEBGL)
2004 { "REPEAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2901) } },
2005#else
2006 { 0, 0, NoIntrinsic, { 0, 0 } },
2007#endif
2008#if ENABLE(WEBGL)
2009 { "CLAMP_TO_EDGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x812F) } },
2010#else
2011 { 0, 0, NoIntrinsic, { 0, 0 } },
2012#endif
2013#if ENABLE(WEBGL)
2014 { "MIRRORED_REPEAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8370) } },
2015#else
2016 { 0, 0, NoIntrinsic, { 0, 0 } },
2017#endif
2018#if ENABLE(WEBGL)
2019 { "FLOAT_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B50) } },
2020#else
2021 { 0, 0, NoIntrinsic, { 0, 0 } },
2022#endif
2023#if ENABLE(WEBGL)
2024 { "FLOAT_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B51) } },
2025#else
2026 { 0, 0, NoIntrinsic, { 0, 0 } },
2027#endif
2028#if ENABLE(WEBGL)
2029 { "FLOAT_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B52) } },
2030#else
2031 { 0, 0, NoIntrinsic, { 0, 0 } },
2032#endif
2033#if ENABLE(WEBGL)
2034 { "INT_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B53) } },
2035#else
2036 { 0, 0, NoIntrinsic, { 0, 0 } },
2037#endif
2038#if ENABLE(WEBGL)
2039 { "INT_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B54) } },
2040#else
2041 { 0, 0, NoIntrinsic, { 0, 0 } },
2042#endif
2043#if ENABLE(WEBGL)
2044 { "INT_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B55) } },
2045#else
2046 { 0, 0, NoIntrinsic, { 0, 0 } },
2047#endif
2048#if ENABLE(WEBGL)
2049 { "BOOL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B56) } },
2050#else
2051 { 0, 0, NoIntrinsic, { 0, 0 } },
2052#endif
2053#if ENABLE(WEBGL)
2054 { "BOOL_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B57) } },
2055#else
2056 { 0, 0, NoIntrinsic, { 0, 0 } },
2057#endif
2058#if ENABLE(WEBGL)
2059 { "BOOL_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B58) } },
2060#else
2061 { 0, 0, NoIntrinsic, { 0, 0 } },
2062#endif
2063#if ENABLE(WEBGL)
2064 { "BOOL_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B59) } },
2065#else
2066 { 0, 0, NoIntrinsic, { 0, 0 } },
2067#endif
2068#if ENABLE(WEBGL)
2069 { "FLOAT_MAT2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5A) } },
2070#else
2071 { 0, 0, NoIntrinsic, { 0, 0 } },
2072#endif
2073#if ENABLE(WEBGL)
2074 { "FLOAT_MAT3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5B) } },
2075#else
2076 { 0, 0, NoIntrinsic, { 0, 0 } },
2077#endif
2078#if ENABLE(WEBGL)
2079 { "FLOAT_MAT4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5C) } },
2080#else
2081 { 0, 0, NoIntrinsic, { 0, 0 } },
2082#endif
2083#if ENABLE(WEBGL)
2084 { "SAMPLER_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5E) } },
2085#else
2086 { 0, 0, NoIntrinsic, { 0, 0 } },
2087#endif
2088#if ENABLE(WEBGL)
2089 { "SAMPLER_CUBE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B60) } },
2090#else
2091 { 0, 0, NoIntrinsic, { 0, 0 } },
2092#endif
2093#if ENABLE(WEBGL)
2094 { "VERTEX_ATTRIB_ARRAY_ENABLED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8622) } },
2095#else
2096 { 0, 0, NoIntrinsic, { 0, 0 } },
2097#endif
2098#if ENABLE(WEBGL)
2099 { "VERTEX_ATTRIB_ARRAY_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8623) } },
2100#else
2101 { 0, 0, NoIntrinsic, { 0, 0 } },
2102#endif
2103#if ENABLE(WEBGL)
2104 { "VERTEX_ATTRIB_ARRAY_STRIDE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8624) } },
2105#else
2106 { 0, 0, NoIntrinsic, { 0, 0 } },
2107#endif
2108#if ENABLE(WEBGL)
2109 { "VERTEX_ATTRIB_ARRAY_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8625) } },
2110#else
2111 { 0, 0, NoIntrinsic, { 0, 0 } },
2112#endif
2113#if ENABLE(WEBGL)
2114 { "VERTEX_ATTRIB_ARRAY_NORMALIZED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x886A) } },
2115#else
2116 { 0, 0, NoIntrinsic, { 0, 0 } },
2117#endif
2118#if ENABLE(WEBGL)
2119 { "VERTEX_ATTRIB_ARRAY_POINTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8645) } },
2120#else
2121 { 0, 0, NoIntrinsic, { 0, 0 } },
2122#endif
2123#if ENABLE(WEBGL)
2124 { "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x889F) } },
2125#else
2126 { 0, 0, NoIntrinsic, { 0, 0 } },
2127#endif
2128#if ENABLE(WEBGL)
2129 { "IMPLEMENTATION_COLOR_READ_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B9A) } },
2130#else
2131 { 0, 0, NoIntrinsic, { 0, 0 } },
2132#endif
2133#if ENABLE(WEBGL)
2134 { "IMPLEMENTATION_COLOR_READ_FORMAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B9B) } },
2135#else
2136 { 0, 0, NoIntrinsic, { 0, 0 } },
2137#endif
2138#if ENABLE(WEBGL)
2139 { "COMPILE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B81) } },
2140#else
2141 { 0, 0, NoIntrinsic, { 0, 0 } },
2142#endif
2143#if ENABLE(WEBGL)
2144 { "LOW_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF0) } },
2145#else
2146 { 0, 0, NoIntrinsic, { 0, 0 } },
2147#endif
2148#if ENABLE(WEBGL)
2149 { "MEDIUM_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF1) } },
2150#else
2151 { 0, 0, NoIntrinsic, { 0, 0 } },
2152#endif
2153#if ENABLE(WEBGL)
2154 { "HIGH_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF2) } },
2155#else
2156 { 0, 0, NoIntrinsic, { 0, 0 } },
2157#endif
2158#if ENABLE(WEBGL)
2159 { "LOW_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF3) } },
2160#else
2161 { 0, 0, NoIntrinsic, { 0, 0 } },
2162#endif
2163#if ENABLE(WEBGL)
2164 { "MEDIUM_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF4) } },
2165#else
2166 { 0, 0, NoIntrinsic, { 0, 0 } },
2167#endif
2168#if ENABLE(WEBGL)
2169 { "HIGH_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF5) } },
2170#else
2171 { 0, 0, NoIntrinsic, { 0, 0 } },
2172#endif
2173#if ENABLE(WEBGL)
2174 { "FRAMEBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D40) } },
2175#else
2176 { 0, 0, NoIntrinsic, { 0, 0 } },
2177#endif
2178#if ENABLE(WEBGL)
2179 { "RENDERBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D41) } },
2180#else
2181 { 0, 0, NoIntrinsic, { 0, 0 } },
2182#endif
2183#if ENABLE(WEBGL)
2184 { "RGBA4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8056) } },
2185#else
2186 { 0, 0, NoIntrinsic, { 0, 0 } },
2187#endif
2188#if ENABLE(WEBGL)
2189 { "RGB5_A1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8057) } },
2190#else
2191 { 0, 0, NoIntrinsic, { 0, 0 } },
2192#endif
2193#if ENABLE(WEBGL)
2194 { "RGB565", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D62) } },
2195#else
2196 { 0, 0, NoIntrinsic, { 0, 0 } },
2197#endif
2198#if ENABLE(WEBGL)
2199 { "DEPTH_COMPONENT16", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x81A5) } },
2200#else
2201 { 0, 0, NoIntrinsic, { 0, 0 } },
2202#endif
2203#if ENABLE(WEBGL)
2204 { "STENCIL_INDEX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1901) } },
2205#else
2206 { 0, 0, NoIntrinsic, { 0, 0 } },
2207#endif
2208#if ENABLE(WEBGL)
2209 { "STENCIL_INDEX8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D48) } },
2210#else
2211 { 0, 0, NoIntrinsic, { 0, 0 } },
2212#endif
2213#if ENABLE(WEBGL)
2214 { "DEPTH_STENCIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84F9) } },
2215#else
2216 { 0, 0, NoIntrinsic, { 0, 0 } },
2217#endif
2218#if ENABLE(WEBGL)
2219 { "RENDERBUFFER_WIDTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D42) } },
2220#else
2221 { 0, 0, NoIntrinsic, { 0, 0 } },
2222#endif
2223#if ENABLE(WEBGL)
2224 { "RENDERBUFFER_HEIGHT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D43) } },
2225#else
2226 { 0, 0, NoIntrinsic, { 0, 0 } },
2227#endif
2228#if ENABLE(WEBGL)
2229 { "RENDERBUFFER_INTERNAL_FORMAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D44) } },
2230#else
2231 { 0, 0, NoIntrinsic, { 0, 0 } },
2232#endif
2233#if ENABLE(WEBGL)
2234 { "RENDERBUFFER_RED_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D50) } },
2235#else
2236 { 0, 0, NoIntrinsic, { 0, 0 } },
2237#endif
2238#if ENABLE(WEBGL)
2239 { "RENDERBUFFER_GREEN_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D51) } },
2240#else
2241 { 0, 0, NoIntrinsic, { 0, 0 } },
2242#endif
2243#if ENABLE(WEBGL)
2244 { "RENDERBUFFER_BLUE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D52) } },
2245#else
2246 { 0, 0, NoIntrinsic, { 0, 0 } },
2247#endif
2248#if ENABLE(WEBGL)
2249 { "RENDERBUFFER_ALPHA_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D53) } },
2250#else
2251 { 0, 0, NoIntrinsic, { 0, 0 } },
2252#endif
2253#if ENABLE(WEBGL)
2254 { "RENDERBUFFER_DEPTH_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D54) } },
2255#else
2256 { 0, 0, NoIntrinsic, { 0, 0 } },
2257#endif
2258#if ENABLE(WEBGL)
2259 { "RENDERBUFFER_STENCIL_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D55) } },
2260#else
2261 { 0, 0, NoIntrinsic, { 0, 0 } },
2262#endif
2263#if ENABLE(WEBGL)
2264 { "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD0) } },
2265#else
2266 { 0, 0, NoIntrinsic, { 0, 0 } },
2267#endif
2268#if ENABLE(WEBGL)
2269 { "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD1) } },
2270#else
2271 { 0, 0, NoIntrinsic, { 0, 0 } },
2272#endif
2273#if ENABLE(WEBGL)
2274 { "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD2) } },
2275#else
2276 { 0, 0, NoIntrinsic, { 0, 0 } },
2277#endif
2278#if ENABLE(WEBGL)
2279 { "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD3) } },
2280#else
2281 { 0, 0, NoIntrinsic, { 0, 0 } },
2282#endif
2283#if ENABLE(WEBGL)
2284 { "COLOR_ATTACHMENT0", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE0) } },
2285#else
2286 { 0, 0, NoIntrinsic, { 0, 0 } },
2287#endif
2288#if ENABLE(WEBGL)
2289 { "DEPTH_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D00) } },
2290#else
2291 { 0, 0, NoIntrinsic, { 0, 0 } },
2292#endif
2293#if ENABLE(WEBGL)
2294 { "STENCIL_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D20) } },
2295#else
2296 { 0, 0, NoIntrinsic, { 0, 0 } },
2297#endif
2298#if ENABLE(WEBGL)
2299 { "DEPTH_STENCIL_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x821A) } },
2300#else
2301 { 0, 0, NoIntrinsic, { 0, 0 } },
2302#endif
2303#if ENABLE(WEBGL)
2304 { "NONE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
2305#else
2306 { 0, 0, NoIntrinsic, { 0, 0 } },
2307#endif
2308#if ENABLE(WEBGL)
2309 { "FRAMEBUFFER_COMPLETE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD5) } },
2310#else
2311 { 0, 0, NoIntrinsic, { 0, 0 } },
2312#endif
2313#if ENABLE(WEBGL)
2314 { "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD6) } },
2315#else
2316 { 0, 0, NoIntrinsic, { 0, 0 } },
2317#endif
2318#if ENABLE(WEBGL)
2319 { "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD7) } },
2320#else
2321 { 0, 0, NoIntrinsic, { 0, 0 } },
2322#endif
2323#if ENABLE(WEBGL)
2324 { "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD9) } },
2325#else
2326 { 0, 0, NoIntrinsic, { 0, 0 } },
2327#endif
2328#if ENABLE(WEBGL)
2329 { "FRAMEBUFFER_UNSUPPORTED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CDD) } },
2330#else
2331 { 0, 0, NoIntrinsic, { 0, 0 } },
2332#endif
2333#if ENABLE(WEBGL)
2334 { "FRAMEBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA6) } },
2335#else
2336 { 0, 0, NoIntrinsic, { 0, 0 } },
2337#endif
2338#if ENABLE(WEBGL)
2339 { "RENDERBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA7) } },
2340#else
2341 { 0, 0, NoIntrinsic, { 0, 0 } },
2342#endif
2343#if ENABLE(WEBGL)
2344 { "MAX_RENDERBUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84E8) } },
2345#else
2346 { 0, 0, NoIntrinsic, { 0, 0 } },
2347#endif
2348#if ENABLE(WEBGL)
2349 { "INVALID_FRAMEBUFFER_OPERATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0506) } },
2350#else
2351 { 0, 0, NoIntrinsic, { 0, 0 } },
2352#endif
2353#if ENABLE(WEBGL)
2354 { "UNPACK_FLIP_Y_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9240) } },
2355#else
2356 { 0, 0, NoIntrinsic, { 0, 0 } },
2357#endif
2358#if ENABLE(WEBGL)
2359 { "UNPACK_PREMULTIPLY_ALPHA_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9241) } },
2360#else
2361 { 0, 0, NoIntrinsic, { 0, 0 } },
2362#endif
2363#if ENABLE(WEBGL)
2364 { "CONTEXT_LOST_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9242) } },
2365#else
2366 { 0, 0, NoIntrinsic, { 0, 0 } },
2367#endif
2368#if ENABLE(WEBGL)
2369 { "UNPACK_COLORSPACE_CONVERSION_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9243) } },
2370#else
2371 { 0, 0, NoIntrinsic, { 0, 0 } },
2372#endif
2373#if ENABLE(WEBGL)
2374 { "BROWSER_DEFAULT_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9244) } },
2375#else
2376 { 0, 0, NoIntrinsic, { 0, 0 } },
2377#endif
2378};
2379
2380template<> JSValue JSWebGL2RenderingContextConstructor::prototypeForStructure(JSC::VM& vm, const JSDOMGlobalObject& globalObject)
2381{
2382 UNUSED_PARAM(vm);
2383 return globalObject.functionPrototype();
2384}
2385
2386template<> void JSWebGL2RenderingContextConstructor::initializeProperties(VM& vm, JSDOMGlobalObject& globalObject)
2387{
2388 putDirect(vm, vm.propertyNames->prototype, JSWebGL2RenderingContext::prototype(vm, globalObject), JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
2389 putDirect(vm, vm.propertyNames->name, jsNontrivialString(&vm, String("WebGL2RenderingContext"_s)), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
2390 putDirect(vm, vm.propertyNames->length, jsNumber(0), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum);
2391 reifyStaticProperties(vm, JSWebGL2RenderingContext::info(), JSWebGL2RenderingContextConstructorTableValues, *this);
2392}
2393
2394template<> const ClassInfo JSWebGL2RenderingContextConstructor::s_info = { "WebGL2RenderingContext", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebGL2RenderingContextConstructor) };
2395
2396/* Hash table for prototype */
2397
2398static const HashTableValue JSWebGL2RenderingContextPrototypeTableValues[] =
2399{
2400 { "constructor", static_cast<unsigned>(JSC::PropertyAttribute::DontEnum), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGL2RenderingContextConstructor), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(setJSWebGL2RenderingContextConstructor) } },
2401#if ENABLE(WEBGL)
2402 { "canvas", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGL2RenderingContextCanvas), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
2403#else
2404 { 0, 0, NoIntrinsic, { 0, 0 } },
2405#endif
2406#if ENABLE(WEBGL)
2407 { "drawingBufferWidth", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGL2RenderingContextDrawingBufferWidth), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
2408#else
2409 { 0, 0, NoIntrinsic, { 0, 0 } },
2410#endif
2411#if ENABLE(WEBGL)
2412 { "drawingBufferHeight", static_cast<unsigned>(JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::CustomAccessor | JSC::PropertyAttribute::DOMAttribute), NoIntrinsic, { (intptr_t)static_cast<PropertySlot::GetValueFunc>(jsWebGL2RenderingContextDrawingBufferHeight), (intptr_t) static_cast<PutPropertySlot::PutValueFunc>(0) } },
2413#else
2414 { 0, 0, NoIntrinsic, { 0, 0 } },
2415#endif
2416 { "bufferData", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBufferData), (intptr_t) (3) } },
2417 { "bufferSubData", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBufferSubData), (intptr_t) (3) } },
2418 { "copyBufferSubData", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCopyBufferSubData), (intptr_t) (5) } },
2419 { "getBufferSubData", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetBufferSubData), (intptr_t) (3) } },
2420 { "blitFramebuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBlitFramebuffer), (intptr_t) (10) } },
2421 { "framebufferTextureLayer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionFramebufferTextureLayer), (intptr_t) (5) } },
2422 { "invalidateFramebuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionInvalidateFramebuffer), (intptr_t) (2) } },
2423 { "invalidateSubFramebuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionInvalidateSubFramebuffer), (intptr_t) (6) } },
2424 { "readBuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionReadBuffer), (intptr_t) (1) } },
2425 { "getInternalformatParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetInternalformatParameter), (intptr_t) (3) } },
2426 { "renderbufferStorageMultisample", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionRenderbufferStorageMultisample), (intptr_t) (5) } },
2427 { "texStorage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionTexStorage2D), (intptr_t) (5) } },
2428 { "texStorage3D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionTexStorage3D), (intptr_t) (6) } },
2429 { "texImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionTexImage2D), (intptr_t) (6) } },
2430 { "texSubImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D), (intptr_t) (7) } },
2431 { "texImage3D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionTexImage3D), (intptr_t) (10) } },
2432 { "texSubImage3D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D), (intptr_t) (11) } },
2433 { "copyTexSubImage3D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCopyTexSubImage3D), (intptr_t) (9) } },
2434 { "compressedTexImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2D), (intptr_t) (7) } },
2435 { "compressedTexImage3D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3D), (intptr_t) (8) } },
2436 { "compressedTexSubImage3D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3D), (intptr_t) (10) } },
2437 { "getFragDataLocation", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetFragDataLocation), (intptr_t) (2) } },
2438 { "uniform1ui", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform1ui), (intptr_t) (2) } },
2439 { "uniform2ui", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform2ui), (intptr_t) (3) } },
2440 { "uniform3ui", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform3ui), (intptr_t) (4) } },
2441 { "uniform4ui", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform4ui), (intptr_t) (5) } },
2442 { "uniform1uiv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform1uiv), (intptr_t) (2) } },
2443 { "uniform2uiv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform2uiv), (intptr_t) (2) } },
2444 { "uniform3uiv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform3uiv), (intptr_t) (2) } },
2445 { "uniform4uiv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform4uiv), (intptr_t) (2) } },
2446 { "uniformMatrix2x3fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2x3fv), (intptr_t) (3) } },
2447 { "uniformMatrix3x2fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3x2fv), (intptr_t) (3) } },
2448 { "uniformMatrix2x4fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2x4fv), (intptr_t) (3) } },
2449 { "uniformMatrix4x2fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4x2fv), (intptr_t) (3) } },
2450 { "uniformMatrix3x4fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3x4fv), (intptr_t) (3) } },
2451 { "uniformMatrix4x3fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4x3fv), (intptr_t) (3) } },
2452 { "vertexAttribI4i", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4i), (intptr_t) (5) } },
2453 { "vertexAttribI4iv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4iv), (intptr_t) (2) } },
2454 { "vertexAttribI4ui", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4ui), (intptr_t) (5) } },
2455 { "vertexAttribI4uiv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4uiv), (intptr_t) (2) } },
2456 { "vertexAttribIPointer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttribIPointer), (intptr_t) (5) } },
2457 { "vertexAttribDivisor", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttribDivisor), (intptr_t) (2) } },
2458 { "drawArraysInstanced", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDrawArraysInstanced), (intptr_t) (4) } },
2459 { "drawElementsInstanced", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDrawElementsInstanced), (intptr_t) (5) } },
2460 { "drawRangeElements", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDrawRangeElements), (intptr_t) (6) } },
2461 { "drawBuffers", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDrawBuffers), (intptr_t) (1) } },
2462 { "clearBufferiv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionClearBufferiv), (intptr_t) (3) } },
2463 { "clearBufferuiv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionClearBufferuiv), (intptr_t) (3) } },
2464 { "clearBufferfv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionClearBufferfv), (intptr_t) (3) } },
2465 { "clearBufferfi", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionClearBufferfi), (intptr_t) (4) } },
2466 { "createQuery", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCreateQuery), (intptr_t) (0) } },
2467 { "deleteQuery", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDeleteQuery), (intptr_t) (1) } },
2468 { "isQuery", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsQuery), (intptr_t) (1) } },
2469 { "beginQuery", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBeginQuery), (intptr_t) (2) } },
2470 { "endQuery", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionEndQuery), (intptr_t) (1) } },
2471 { "getQuery", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetQuery), (intptr_t) (2) } },
2472 { "getQueryParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetQueryParameter), (intptr_t) (2) } },
2473 { "createSampler", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCreateSampler), (intptr_t) (0) } },
2474 { "deleteSampler", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDeleteSampler), (intptr_t) (1) } },
2475 { "isSampler", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsSampler), (intptr_t) (1) } },
2476 { "bindSampler", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBindSampler), (intptr_t) (2) } },
2477 { "samplerParameteri", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionSamplerParameteri), (intptr_t) (3) } },
2478 { "samplerParameterf", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionSamplerParameterf), (intptr_t) (3) } },
2479 { "getSamplerParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetSamplerParameter), (intptr_t) (2) } },
2480 { "fenceSync", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionFenceSync), (intptr_t) (2) } },
2481 { "isSync", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsSync), (intptr_t) (1) } },
2482 { "deleteSync", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDeleteSync), (intptr_t) (1) } },
2483 { "clientWaitSync", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionClientWaitSync), (intptr_t) (3) } },
2484 { "waitSync", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionWaitSync), (intptr_t) (3) } },
2485 { "getSyncParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetSyncParameter), (intptr_t) (2) } },
2486 { "createTransformFeedback", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCreateTransformFeedback), (intptr_t) (0) } },
2487 { "deleteTransformFeedback", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDeleteTransformFeedback), (intptr_t) (1) } },
2488 { "isTransformFeedback", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsTransformFeedback), (intptr_t) (1) } },
2489 { "bindTransformFeedback", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBindTransformFeedback), (intptr_t) (2) } },
2490 { "beginTransformFeedback", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBeginTransformFeedback), (intptr_t) (1) } },
2491 { "endTransformFeedback", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionEndTransformFeedback), (intptr_t) (0) } },
2492 { "transformFeedbackVaryings", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionTransformFeedbackVaryings), (intptr_t) (3) } },
2493 { "getTransformFeedbackVarying", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetTransformFeedbackVarying), (intptr_t) (2) } },
2494 { "pauseTransformFeedback", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionPauseTransformFeedback), (intptr_t) (0) } },
2495 { "resumeTransformFeedback", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionResumeTransformFeedback), (intptr_t) (0) } },
2496 { "bindBufferBase", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBindBufferBase), (intptr_t) (3) } },
2497 { "bindBufferRange", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBindBufferRange), (intptr_t) (5) } },
2498 { "getIndexedParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetIndexedParameter), (intptr_t) (2) } },
2499 { "getUniformIndices", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetUniformIndices), (intptr_t) (2) } },
2500 { "getActiveUniforms", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetActiveUniforms), (intptr_t) (3) } },
2501 { "getUniformBlockIndex", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetUniformBlockIndex), (intptr_t) (2) } },
2502 { "getActiveUniformBlockParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBlockParameter), (intptr_t) (3) } },
2503 { "getActiveUniformBlockName", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBlockName), (intptr_t) (2) } },
2504 { "uniformBlockBinding", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniformBlockBinding), (intptr_t) (3) } },
2505 { "createVertexArray", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCreateVertexArray), (intptr_t) (0) } },
2506 { "deleteVertexArray", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDeleteVertexArray), (intptr_t) (1) } },
2507 { "isVertexArray", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsVertexArray), (intptr_t) (1) } },
2508 { "bindVertexArray", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBindVertexArray), (intptr_t) (1) } },
2509#if ENABLE(WEBGL)
2510 { "activeTexture", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionActiveTexture), (intptr_t) (1) } },
2511#else
2512 { 0, 0, NoIntrinsic, { 0, 0 } },
2513#endif
2514#if ENABLE(WEBGL)
2515 { "attachShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionAttachShader), (intptr_t) (2) } },
2516#else
2517 { 0, 0, NoIntrinsic, { 0, 0 } },
2518#endif
2519#if ENABLE(WEBGL)
2520 { "bindAttribLocation", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBindAttribLocation), (intptr_t) (3) } },
2521#else
2522 { 0, 0, NoIntrinsic, { 0, 0 } },
2523#endif
2524#if ENABLE(WEBGL)
2525 { "bindBuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBindBuffer), (intptr_t) (2) } },
2526#else
2527 { 0, 0, NoIntrinsic, { 0, 0 } },
2528#endif
2529#if ENABLE(WEBGL)
2530 { "bindFramebuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBindFramebuffer), (intptr_t) (2) } },
2531#else
2532 { 0, 0, NoIntrinsic, { 0, 0 } },
2533#endif
2534#if ENABLE(WEBGL)
2535 { "bindRenderbuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBindRenderbuffer), (intptr_t) (2) } },
2536#else
2537 { 0, 0, NoIntrinsic, { 0, 0 } },
2538#endif
2539#if ENABLE(WEBGL)
2540 { "bindTexture", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBindTexture), (intptr_t) (2) } },
2541#else
2542 { 0, 0, NoIntrinsic, { 0, 0 } },
2543#endif
2544#if ENABLE(WEBGL)
2545 { "blendColor", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBlendColor), (intptr_t) (4) } },
2546#else
2547 { 0, 0, NoIntrinsic, { 0, 0 } },
2548#endif
2549#if ENABLE(WEBGL)
2550 { "blendEquation", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBlendEquation), (intptr_t) (1) } },
2551#else
2552 { 0, 0, NoIntrinsic, { 0, 0 } },
2553#endif
2554#if ENABLE(WEBGL)
2555 { "blendEquationSeparate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBlendEquationSeparate), (intptr_t) (2) } },
2556#else
2557 { 0, 0, NoIntrinsic, { 0, 0 } },
2558#endif
2559#if ENABLE(WEBGL)
2560 { "blendFunc", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBlendFunc), (intptr_t) (2) } },
2561#else
2562 { 0, 0, NoIntrinsic, { 0, 0 } },
2563#endif
2564#if ENABLE(WEBGL)
2565 { "blendFuncSeparate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionBlendFuncSeparate), (intptr_t) (4) } },
2566#else
2567 { 0, 0, NoIntrinsic, { 0, 0 } },
2568#endif
2569#if ENABLE(WEBGL)
2570 { "checkFramebufferStatus", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCheckFramebufferStatus), (intptr_t) (1) } },
2571#else
2572 { 0, 0, NoIntrinsic, { 0, 0 } },
2573#endif
2574#if ENABLE(WEBGL)
2575 { "clear", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionClear), (intptr_t) (1) } },
2576#else
2577 { 0, 0, NoIntrinsic, { 0, 0 } },
2578#endif
2579#if ENABLE(WEBGL)
2580 { "clearColor", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionClearColor), (intptr_t) (4) } },
2581#else
2582 { 0, 0, NoIntrinsic, { 0, 0 } },
2583#endif
2584#if ENABLE(WEBGL)
2585 { "clearDepth", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionClearDepth), (intptr_t) (1) } },
2586#else
2587 { 0, 0, NoIntrinsic, { 0, 0 } },
2588#endif
2589#if ENABLE(WEBGL)
2590 { "clearStencil", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionClearStencil), (intptr_t) (1) } },
2591#else
2592 { 0, 0, NoIntrinsic, { 0, 0 } },
2593#endif
2594#if ENABLE(WEBGL)
2595 { "colorMask", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionColorMask), (intptr_t) (4) } },
2596#else
2597 { 0, 0, NoIntrinsic, { 0, 0 } },
2598#endif
2599#if ENABLE(WEBGL)
2600 { "compileShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCompileShader), (intptr_t) (1) } },
2601#else
2602 { 0, 0, NoIntrinsic, { 0, 0 } },
2603#endif
2604#if ENABLE(WEBGL)
2605 { "compressedTexSubImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage2D), (intptr_t) (8) } },
2606#else
2607 { 0, 0, NoIntrinsic, { 0, 0 } },
2608#endif
2609#if ENABLE(WEBGL)
2610 { "copyTexImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCopyTexImage2D), (intptr_t) (8) } },
2611#else
2612 { 0, 0, NoIntrinsic, { 0, 0 } },
2613#endif
2614#if ENABLE(WEBGL)
2615 { "copyTexSubImage2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCopyTexSubImage2D), (intptr_t) (8) } },
2616#else
2617 { 0, 0, NoIntrinsic, { 0, 0 } },
2618#endif
2619#if ENABLE(WEBGL)
2620 { "createBuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCreateBuffer), (intptr_t) (0) } },
2621#else
2622 { 0, 0, NoIntrinsic, { 0, 0 } },
2623#endif
2624#if ENABLE(WEBGL)
2625 { "createFramebuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCreateFramebuffer), (intptr_t) (0) } },
2626#else
2627 { 0, 0, NoIntrinsic, { 0, 0 } },
2628#endif
2629#if ENABLE(WEBGL)
2630 { "createProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCreateProgram), (intptr_t) (0) } },
2631#else
2632 { 0, 0, NoIntrinsic, { 0, 0 } },
2633#endif
2634#if ENABLE(WEBGL)
2635 { "createRenderbuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCreateRenderbuffer), (intptr_t) (0) } },
2636#else
2637 { 0, 0, NoIntrinsic, { 0, 0 } },
2638#endif
2639#if ENABLE(WEBGL)
2640 { "createShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCreateShader), (intptr_t) (1) } },
2641#else
2642 { 0, 0, NoIntrinsic, { 0, 0 } },
2643#endif
2644#if ENABLE(WEBGL)
2645 { "createTexture", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCreateTexture), (intptr_t) (0) } },
2646#else
2647 { 0, 0, NoIntrinsic, { 0, 0 } },
2648#endif
2649#if ENABLE(WEBGL)
2650 { "cullFace", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionCullFace), (intptr_t) (1) } },
2651#else
2652 { 0, 0, NoIntrinsic, { 0, 0 } },
2653#endif
2654#if ENABLE(WEBGL)
2655 { "deleteBuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDeleteBuffer), (intptr_t) (1) } },
2656#else
2657 { 0, 0, NoIntrinsic, { 0, 0 } },
2658#endif
2659#if ENABLE(WEBGL)
2660 { "deleteFramebuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDeleteFramebuffer), (intptr_t) (1) } },
2661#else
2662 { 0, 0, NoIntrinsic, { 0, 0 } },
2663#endif
2664#if ENABLE(WEBGL)
2665 { "deleteProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDeleteProgram), (intptr_t) (1) } },
2666#else
2667 { 0, 0, NoIntrinsic, { 0, 0 } },
2668#endif
2669#if ENABLE(WEBGL)
2670 { "deleteRenderbuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDeleteRenderbuffer), (intptr_t) (1) } },
2671#else
2672 { 0, 0, NoIntrinsic, { 0, 0 } },
2673#endif
2674#if ENABLE(WEBGL)
2675 { "deleteShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDeleteShader), (intptr_t) (1) } },
2676#else
2677 { 0, 0, NoIntrinsic, { 0, 0 } },
2678#endif
2679#if ENABLE(WEBGL)
2680 { "deleteTexture", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDeleteTexture), (intptr_t) (1) } },
2681#else
2682 { 0, 0, NoIntrinsic, { 0, 0 } },
2683#endif
2684#if ENABLE(WEBGL)
2685 { "depthFunc", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDepthFunc), (intptr_t) (1) } },
2686#else
2687 { 0, 0, NoIntrinsic, { 0, 0 } },
2688#endif
2689#if ENABLE(WEBGL)
2690 { "depthMask", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDepthMask), (intptr_t) (1) } },
2691#else
2692 { 0, 0, NoIntrinsic, { 0, 0 } },
2693#endif
2694#if ENABLE(WEBGL)
2695 { "depthRange", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDepthRange), (intptr_t) (2) } },
2696#else
2697 { 0, 0, NoIntrinsic, { 0, 0 } },
2698#endif
2699#if ENABLE(WEBGL)
2700 { "detachShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDetachShader), (intptr_t) (2) } },
2701#else
2702 { 0, 0, NoIntrinsic, { 0, 0 } },
2703#endif
2704#if ENABLE(WEBGL)
2705 { "disable", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDisable), (intptr_t) (1) } },
2706#else
2707 { 0, 0, NoIntrinsic, { 0, 0 } },
2708#endif
2709#if ENABLE(WEBGL)
2710 { "disableVertexAttribArray", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDisableVertexAttribArray), (intptr_t) (1) } },
2711#else
2712 { 0, 0, NoIntrinsic, { 0, 0 } },
2713#endif
2714#if ENABLE(WEBGL)
2715 { "drawArrays", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDrawArrays), (intptr_t) (3) } },
2716#else
2717 { 0, 0, NoIntrinsic, { 0, 0 } },
2718#endif
2719#if ENABLE(WEBGL)
2720 { "drawElements", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionDrawElements), (intptr_t) (4) } },
2721#else
2722 { 0, 0, NoIntrinsic, { 0, 0 } },
2723#endif
2724#if ENABLE(WEBGL)
2725 { "enable", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionEnable), (intptr_t) (1) } },
2726#else
2727 { 0, 0, NoIntrinsic, { 0, 0 } },
2728#endif
2729#if ENABLE(WEBGL)
2730 { "enableVertexAttribArray", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionEnableVertexAttribArray), (intptr_t) (1) } },
2731#else
2732 { 0, 0, NoIntrinsic, { 0, 0 } },
2733#endif
2734#if ENABLE(WEBGL)
2735 { "finish", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionFinish), (intptr_t) (0) } },
2736#else
2737 { 0, 0, NoIntrinsic, { 0, 0 } },
2738#endif
2739#if ENABLE(WEBGL)
2740 { "flush", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionFlush), (intptr_t) (0) } },
2741#else
2742 { 0, 0, NoIntrinsic, { 0, 0 } },
2743#endif
2744#if ENABLE(WEBGL)
2745 { "framebufferRenderbuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionFramebufferRenderbuffer), (intptr_t) (4) } },
2746#else
2747 { 0, 0, NoIntrinsic, { 0, 0 } },
2748#endif
2749#if ENABLE(WEBGL)
2750 { "framebufferTexture2D", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionFramebufferTexture2D), (intptr_t) (5) } },
2751#else
2752 { 0, 0, NoIntrinsic, { 0, 0 } },
2753#endif
2754#if ENABLE(WEBGL)
2755 { "frontFace", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionFrontFace), (intptr_t) (1) } },
2756#else
2757 { 0, 0, NoIntrinsic, { 0, 0 } },
2758#endif
2759#if ENABLE(WEBGL)
2760 { "generateMipmap", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGenerateMipmap), (intptr_t) (1) } },
2761#else
2762 { 0, 0, NoIntrinsic, { 0, 0 } },
2763#endif
2764#if ENABLE(WEBGL)
2765 { "getActiveAttrib", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetActiveAttrib), (intptr_t) (2) } },
2766#else
2767 { 0, 0, NoIntrinsic, { 0, 0 } },
2768#endif
2769#if ENABLE(WEBGL)
2770 { "getActiveUniform", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetActiveUniform), (intptr_t) (2) } },
2771#else
2772 { 0, 0, NoIntrinsic, { 0, 0 } },
2773#endif
2774#if ENABLE(WEBGL)
2775 { "getAttachedShaders", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetAttachedShaders), (intptr_t) (1) } },
2776#else
2777 { 0, 0, NoIntrinsic, { 0, 0 } },
2778#endif
2779#if ENABLE(WEBGL)
2780 { "getAttribLocation", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetAttribLocation), (intptr_t) (2) } },
2781#else
2782 { 0, 0, NoIntrinsic, { 0, 0 } },
2783#endif
2784#if ENABLE(WEBGL)
2785 { "getBufferParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetBufferParameter), (intptr_t) (2) } },
2786#else
2787 { 0, 0, NoIntrinsic, { 0, 0 } },
2788#endif
2789#if ENABLE(WEBGL)
2790 { "getContextAttributes", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetContextAttributes), (intptr_t) (0) } },
2791#else
2792 { 0, 0, NoIntrinsic, { 0, 0 } },
2793#endif
2794#if ENABLE(WEBGL)
2795 { "getError", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetError), (intptr_t) (0) } },
2796#else
2797 { 0, 0, NoIntrinsic, { 0, 0 } },
2798#endif
2799#if ENABLE(WEBGL)
2800 { "getSupportedExtensions", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetSupportedExtensions), (intptr_t) (0) } },
2801#else
2802 { 0, 0, NoIntrinsic, { 0, 0 } },
2803#endif
2804#if ENABLE(WEBGL)
2805 { "getExtension", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetExtension), (intptr_t) (1) } },
2806#else
2807 { 0, 0, NoIntrinsic, { 0, 0 } },
2808#endif
2809#if ENABLE(WEBGL)
2810 { "getFramebufferAttachmentParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetFramebufferAttachmentParameter), (intptr_t) (3) } },
2811#else
2812 { 0, 0, NoIntrinsic, { 0, 0 } },
2813#endif
2814#if ENABLE(WEBGL)
2815 { "getParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetParameter), (intptr_t) (1) } },
2816#else
2817 { 0, 0, NoIntrinsic, { 0, 0 } },
2818#endif
2819#if ENABLE(WEBGL)
2820 { "getProgramParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetProgramParameter), (intptr_t) (2) } },
2821#else
2822 { 0, 0, NoIntrinsic, { 0, 0 } },
2823#endif
2824#if ENABLE(WEBGL)
2825 { "getProgramInfoLog", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetProgramInfoLog), (intptr_t) (1) } },
2826#else
2827 { 0, 0, NoIntrinsic, { 0, 0 } },
2828#endif
2829#if ENABLE(WEBGL)
2830 { "getRenderbufferParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetRenderbufferParameter), (intptr_t) (2) } },
2831#else
2832 { 0, 0, NoIntrinsic, { 0, 0 } },
2833#endif
2834#if ENABLE(WEBGL)
2835 { "getShaderParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetShaderParameter), (intptr_t) (2) } },
2836#else
2837 { 0, 0, NoIntrinsic, { 0, 0 } },
2838#endif
2839#if ENABLE(WEBGL)
2840 { "getShaderInfoLog", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetShaderInfoLog), (intptr_t) (1) } },
2841#else
2842 { 0, 0, NoIntrinsic, { 0, 0 } },
2843#endif
2844#if ENABLE(WEBGL)
2845 { "getShaderPrecisionFormat", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetShaderPrecisionFormat), (intptr_t) (2) } },
2846#else
2847 { 0, 0, NoIntrinsic, { 0, 0 } },
2848#endif
2849#if ENABLE(WEBGL)
2850 { "getShaderSource", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetShaderSource), (intptr_t) (1) } },
2851#else
2852 { 0, 0, NoIntrinsic, { 0, 0 } },
2853#endif
2854#if ENABLE(WEBGL)
2855 { "getTexParameter", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetTexParameter), (intptr_t) (2) } },
2856#else
2857 { 0, 0, NoIntrinsic, { 0, 0 } },
2858#endif
2859#if ENABLE(WEBGL)
2860 { "getUniform", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetUniform), (intptr_t) (2) } },
2861#else
2862 { 0, 0, NoIntrinsic, { 0, 0 } },
2863#endif
2864#if ENABLE(WEBGL)
2865 { "getUniformLocation", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetUniformLocation), (intptr_t) (2) } },
2866#else
2867 { 0, 0, NoIntrinsic, { 0, 0 } },
2868#endif
2869#if ENABLE(WEBGL)
2870 { "getVertexAttrib", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetVertexAttrib), (intptr_t) (2) } },
2871#else
2872 { 0, 0, NoIntrinsic, { 0, 0 } },
2873#endif
2874#if ENABLE(WEBGL)
2875 { "getVertexAttribOffset", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionGetVertexAttribOffset), (intptr_t) (2) } },
2876#else
2877 { 0, 0, NoIntrinsic, { 0, 0 } },
2878#endif
2879#if ENABLE(WEBGL)
2880 { "hint", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionHint), (intptr_t) (2) } },
2881#else
2882 { 0, 0, NoIntrinsic, { 0, 0 } },
2883#endif
2884#if ENABLE(WEBGL)
2885 { "isBuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsBuffer), (intptr_t) (1) } },
2886#else
2887 { 0, 0, NoIntrinsic, { 0, 0 } },
2888#endif
2889#if ENABLE(WEBGL)
2890 { "isContextLost", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsContextLost), (intptr_t) (0) } },
2891#else
2892 { 0, 0, NoIntrinsic, { 0, 0 } },
2893#endif
2894#if ENABLE(WEBGL)
2895 { "isEnabled", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsEnabled), (intptr_t) (1) } },
2896#else
2897 { 0, 0, NoIntrinsic, { 0, 0 } },
2898#endif
2899#if ENABLE(WEBGL)
2900 { "isFramebuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsFramebuffer), (intptr_t) (1) } },
2901#else
2902 { 0, 0, NoIntrinsic, { 0, 0 } },
2903#endif
2904#if ENABLE(WEBGL)
2905 { "isProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsProgram), (intptr_t) (1) } },
2906#else
2907 { 0, 0, NoIntrinsic, { 0, 0 } },
2908#endif
2909#if ENABLE(WEBGL)
2910 { "isRenderbuffer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsRenderbuffer), (intptr_t) (1) } },
2911#else
2912 { 0, 0, NoIntrinsic, { 0, 0 } },
2913#endif
2914#if ENABLE(WEBGL)
2915 { "isShader", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsShader), (intptr_t) (1) } },
2916#else
2917 { 0, 0, NoIntrinsic, { 0, 0 } },
2918#endif
2919#if ENABLE(WEBGL)
2920 { "isTexture", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionIsTexture), (intptr_t) (1) } },
2921#else
2922 { 0, 0, NoIntrinsic, { 0, 0 } },
2923#endif
2924#if ENABLE(WEBGL)
2925 { "lineWidth", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionLineWidth), (intptr_t) (1) } },
2926#else
2927 { 0, 0, NoIntrinsic, { 0, 0 } },
2928#endif
2929#if ENABLE(WEBGL)
2930 { "linkProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionLinkProgram), (intptr_t) (1) } },
2931#else
2932 { 0, 0, NoIntrinsic, { 0, 0 } },
2933#endif
2934#if ENABLE(WEBGL)
2935 { "pixelStorei", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionPixelStorei), (intptr_t) (2) } },
2936#else
2937 { 0, 0, NoIntrinsic, { 0, 0 } },
2938#endif
2939#if ENABLE(WEBGL)
2940 { "polygonOffset", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionPolygonOffset), (intptr_t) (2) } },
2941#else
2942 { 0, 0, NoIntrinsic, { 0, 0 } },
2943#endif
2944#if ENABLE(WEBGL)
2945 { "readPixels", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionReadPixels), (intptr_t) (7) } },
2946#else
2947 { 0, 0, NoIntrinsic, { 0, 0 } },
2948#endif
2949#if ENABLE(WEBGL)
2950 { "releaseShaderCompiler", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionReleaseShaderCompiler), (intptr_t) (0) } },
2951#else
2952 { 0, 0, NoIntrinsic, { 0, 0 } },
2953#endif
2954#if ENABLE(WEBGL)
2955 { "renderbufferStorage", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionRenderbufferStorage), (intptr_t) (4) } },
2956#else
2957 { 0, 0, NoIntrinsic, { 0, 0 } },
2958#endif
2959#if ENABLE(WEBGL)
2960 { "sampleCoverage", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionSampleCoverage), (intptr_t) (2) } },
2961#else
2962 { 0, 0, NoIntrinsic, { 0, 0 } },
2963#endif
2964#if ENABLE(WEBGL)
2965 { "scissor", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionScissor), (intptr_t) (4) } },
2966#else
2967 { 0, 0, NoIntrinsic, { 0, 0 } },
2968#endif
2969#if ENABLE(WEBGL)
2970 { "shaderSource", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionShaderSource), (intptr_t) (2) } },
2971#else
2972 { 0, 0, NoIntrinsic, { 0, 0 } },
2973#endif
2974#if ENABLE(WEBGL)
2975 { "stencilFunc", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionStencilFunc), (intptr_t) (3) } },
2976#else
2977 { 0, 0, NoIntrinsic, { 0, 0 } },
2978#endif
2979#if ENABLE(WEBGL)
2980 { "stencilFuncSeparate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionStencilFuncSeparate), (intptr_t) (4) } },
2981#else
2982 { 0, 0, NoIntrinsic, { 0, 0 } },
2983#endif
2984#if ENABLE(WEBGL)
2985 { "stencilMask", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionStencilMask), (intptr_t) (1) } },
2986#else
2987 { 0, 0, NoIntrinsic, { 0, 0 } },
2988#endif
2989#if ENABLE(WEBGL)
2990 { "stencilMaskSeparate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionStencilMaskSeparate), (intptr_t) (2) } },
2991#else
2992 { 0, 0, NoIntrinsic, { 0, 0 } },
2993#endif
2994#if ENABLE(WEBGL)
2995 { "stencilOp", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionStencilOp), (intptr_t) (3) } },
2996#else
2997 { 0, 0, NoIntrinsic, { 0, 0 } },
2998#endif
2999#if ENABLE(WEBGL)
3000 { "stencilOpSeparate", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionStencilOpSeparate), (intptr_t) (4) } },
3001#else
3002 { 0, 0, NoIntrinsic, { 0, 0 } },
3003#endif
3004#if ENABLE(WEBGL)
3005 { "texParameterf", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionTexParameterf), (intptr_t) (3) } },
3006#else
3007 { 0, 0, NoIntrinsic, { 0, 0 } },
3008#endif
3009#if ENABLE(WEBGL)
3010 { "texParameteri", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionTexParameteri), (intptr_t) (3) } },
3011#else
3012 { 0, 0, NoIntrinsic, { 0, 0 } },
3013#endif
3014#if ENABLE(WEBGL)
3015 { "uniform1f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform1f), (intptr_t) (2) } },
3016#else
3017 { 0, 0, NoIntrinsic, { 0, 0 } },
3018#endif
3019#if ENABLE(WEBGL)
3020 { "uniform2f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform2f), (intptr_t) (3) } },
3021#else
3022 { 0, 0, NoIntrinsic, { 0, 0 } },
3023#endif
3024#if ENABLE(WEBGL)
3025 { "uniform3f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform3f), (intptr_t) (4) } },
3026#else
3027 { 0, 0, NoIntrinsic, { 0, 0 } },
3028#endif
3029#if ENABLE(WEBGL)
3030 { "uniform4f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform4f), (intptr_t) (5) } },
3031#else
3032 { 0, 0, NoIntrinsic, { 0, 0 } },
3033#endif
3034#if ENABLE(WEBGL)
3035 { "uniform1i", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform1i), (intptr_t) (2) } },
3036#else
3037 { 0, 0, NoIntrinsic, { 0, 0 } },
3038#endif
3039#if ENABLE(WEBGL)
3040 { "uniform2i", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform2i), (intptr_t) (3) } },
3041#else
3042 { 0, 0, NoIntrinsic, { 0, 0 } },
3043#endif
3044#if ENABLE(WEBGL)
3045 { "uniform3i", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform3i), (intptr_t) (4) } },
3046#else
3047 { 0, 0, NoIntrinsic, { 0, 0 } },
3048#endif
3049#if ENABLE(WEBGL)
3050 { "uniform4i", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform4i), (intptr_t) (5) } },
3051#else
3052 { 0, 0, NoIntrinsic, { 0, 0 } },
3053#endif
3054#if ENABLE(WEBGL)
3055 { "uniform1fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform1fv), (intptr_t) (2) } },
3056#else
3057 { 0, 0, NoIntrinsic, { 0, 0 } },
3058#endif
3059#if ENABLE(WEBGL)
3060 { "uniform2fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform2fv), (intptr_t) (2) } },
3061#else
3062 { 0, 0, NoIntrinsic, { 0, 0 } },
3063#endif
3064#if ENABLE(WEBGL)
3065 { "uniform3fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform3fv), (intptr_t) (2) } },
3066#else
3067 { 0, 0, NoIntrinsic, { 0, 0 } },
3068#endif
3069#if ENABLE(WEBGL)
3070 { "uniform4fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform4fv), (intptr_t) (2) } },
3071#else
3072 { 0, 0, NoIntrinsic, { 0, 0 } },
3073#endif
3074#if ENABLE(WEBGL)
3075 { "uniform1iv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform1iv), (intptr_t) (2) } },
3076#else
3077 { 0, 0, NoIntrinsic, { 0, 0 } },
3078#endif
3079#if ENABLE(WEBGL)
3080 { "uniform2iv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform2iv), (intptr_t) (2) } },
3081#else
3082 { 0, 0, NoIntrinsic, { 0, 0 } },
3083#endif
3084#if ENABLE(WEBGL)
3085 { "uniform3iv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform3iv), (intptr_t) (2) } },
3086#else
3087 { 0, 0, NoIntrinsic, { 0, 0 } },
3088#endif
3089#if ENABLE(WEBGL)
3090 { "uniform4iv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniform4iv), (intptr_t) (2) } },
3091#else
3092 { 0, 0, NoIntrinsic, { 0, 0 } },
3093#endif
3094#if ENABLE(WEBGL)
3095 { "uniformMatrix2fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2fv), (intptr_t) (3) } },
3096#else
3097 { 0, 0, NoIntrinsic, { 0, 0 } },
3098#endif
3099#if ENABLE(WEBGL)
3100 { "uniformMatrix3fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3fv), (intptr_t) (3) } },
3101#else
3102 { 0, 0, NoIntrinsic, { 0, 0 } },
3103#endif
3104#if ENABLE(WEBGL)
3105 { "uniformMatrix4fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4fv), (intptr_t) (3) } },
3106#else
3107 { 0, 0, NoIntrinsic, { 0, 0 } },
3108#endif
3109#if ENABLE(WEBGL)
3110 { "useProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionUseProgram), (intptr_t) (1) } },
3111#else
3112 { 0, 0, NoIntrinsic, { 0, 0 } },
3113#endif
3114#if ENABLE(WEBGL)
3115 { "validateProgram", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionValidateProgram), (intptr_t) (1) } },
3116#else
3117 { 0, 0, NoIntrinsic, { 0, 0 } },
3118#endif
3119#if ENABLE(WEBGL)
3120 { "vertexAttrib1f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttrib1f), (intptr_t) (2) } },
3121#else
3122 { 0, 0, NoIntrinsic, { 0, 0 } },
3123#endif
3124#if ENABLE(WEBGL)
3125 { "vertexAttrib2f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttrib2f), (intptr_t) (3) } },
3126#else
3127 { 0, 0, NoIntrinsic, { 0, 0 } },
3128#endif
3129#if ENABLE(WEBGL)
3130 { "vertexAttrib3f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttrib3f), (intptr_t) (4) } },
3131#else
3132 { 0, 0, NoIntrinsic, { 0, 0 } },
3133#endif
3134#if ENABLE(WEBGL)
3135 { "vertexAttrib4f", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttrib4f), (intptr_t) (5) } },
3136#else
3137 { 0, 0, NoIntrinsic, { 0, 0 } },
3138#endif
3139#if ENABLE(WEBGL)
3140 { "vertexAttrib1fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttrib1fv), (intptr_t) (2) } },
3141#else
3142 { 0, 0, NoIntrinsic, { 0, 0 } },
3143#endif
3144#if ENABLE(WEBGL)
3145 { "vertexAttrib2fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttrib2fv), (intptr_t) (2) } },
3146#else
3147 { 0, 0, NoIntrinsic, { 0, 0 } },
3148#endif
3149#if ENABLE(WEBGL)
3150 { "vertexAttrib3fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttrib3fv), (intptr_t) (2) } },
3151#else
3152 { 0, 0, NoIntrinsic, { 0, 0 } },
3153#endif
3154#if ENABLE(WEBGL)
3155 { "vertexAttrib4fv", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttrib4fv), (intptr_t) (2) } },
3156#else
3157 { 0, 0, NoIntrinsic, { 0, 0 } },
3158#endif
3159#if ENABLE(WEBGL)
3160 { "vertexAttribPointer", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionVertexAttribPointer), (intptr_t) (6) } },
3161#else
3162 { 0, 0, NoIntrinsic, { 0, 0 } },
3163#endif
3164#if ENABLE(WEBGL)
3165 { "viewport", static_cast<unsigned>(JSC::PropertyAttribute::Function), NoIntrinsic, { (intptr_t)static_cast<RawNativeFunction>(jsWebGL2RenderingContextPrototypeFunctionViewport), (intptr_t) (4) } },
3166#else
3167 { 0, 0, NoIntrinsic, { 0, 0 } },
3168#endif
3169 { "READ_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C02) } },
3170 { "UNPACK_ROW_LENGTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0CF2) } },
3171 { "UNPACK_SKIP_ROWS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0CF3) } },
3172 { "UNPACK_SKIP_PIXELS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0CF4) } },
3173 { "PACK_ROW_LENGTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D02) } },
3174 { "PACK_SKIP_ROWS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D03) } },
3175 { "PACK_SKIP_PIXELS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D04) } },
3176 { "COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1800) } },
3177 { "DEPTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1801) } },
3178 { "STENCIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1802) } },
3179 { "RED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1903) } },
3180 { "RGB8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8051) } },
3181 { "RGBA8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8058) } },
3182 { "RGB10_A2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8059) } },
3183 { "TEXTURE_BINDING_3D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x806A) } },
3184 { "UNPACK_SKIP_IMAGES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x806D) } },
3185 { "UNPACK_IMAGE_HEIGHT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x806E) } },
3186 { "TEXTURE_3D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x806F) } },
3187 { "TEXTURE_WRAP_R", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8072) } },
3188 { "MAX_3D_TEXTURE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8073) } },
3189 { "UNSIGNED_INT_2_10_10_10_REV", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8368) } },
3190 { "MAX_ELEMENTS_VERTICES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80E8) } },
3191 { "MAX_ELEMENTS_INDICES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80E9) } },
3192 { "TEXTURE_MIN_LOD", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x813A) } },
3193 { "TEXTURE_MAX_LOD", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x813B) } },
3194 { "TEXTURE_BASE_LEVEL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x813C) } },
3195 { "TEXTURE_MAX_LEVEL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x813D) } },
3196 { "MIN", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8007) } },
3197 { "MAX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8008) } },
3198 { "DEPTH_COMPONENT24", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x81A6) } },
3199 { "MAX_TEXTURE_LOD_BIAS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84FD) } },
3200 { "TEXTURE_COMPARE_MODE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x884C) } },
3201 { "TEXTURE_COMPARE_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x884D) } },
3202 { "CURRENT_QUERY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8865) } },
3203 { "QUERY_RESULT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8866) } },
3204 { "QUERY_RESULT_AVAILABLE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8867) } },
3205 { "STREAM_READ", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E1) } },
3206 { "STREAM_COPY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E2) } },
3207 { "STATIC_READ", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E5) } },
3208 { "STATIC_COPY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E6) } },
3209 { "DYNAMIC_READ", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E9) } },
3210 { "DYNAMIC_COPY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88EA) } },
3211 { "MAX_DRAW_BUFFERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8824) } },
3212 { "DRAW_BUFFER0", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8825) } },
3213 { "DRAW_BUFFER1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8826) } },
3214 { "DRAW_BUFFER2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8827) } },
3215 { "DRAW_BUFFER3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8828) } },
3216 { "DRAW_BUFFER4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8829) } },
3217 { "DRAW_BUFFER5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882A) } },
3218 { "DRAW_BUFFER6", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882B) } },
3219 { "DRAW_BUFFER7", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882C) } },
3220 { "DRAW_BUFFER8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882D) } },
3221 { "DRAW_BUFFER9", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882E) } },
3222 { "DRAW_BUFFER10", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x882F) } },
3223 { "DRAW_BUFFER11", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8830) } },
3224 { "DRAW_BUFFER12", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8831) } },
3225 { "DRAW_BUFFER13", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8832) } },
3226 { "DRAW_BUFFER14", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8833) } },
3227 { "DRAW_BUFFER15", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8834) } },
3228 { "MAX_FRAGMENT_UNIFORM_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B49) } },
3229 { "MAX_VERTEX_UNIFORM_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4A) } },
3230 { "SAMPLER_3D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5F) } },
3231 { "SAMPLER_2D_SHADOW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B62) } },
3232 { "FRAGMENT_SHADER_DERIVATIVE_HINT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B8B) } },
3233 { "PIXEL_PACK_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88EB) } },
3234 { "PIXEL_UNPACK_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88EC) } },
3235 { "PIXEL_PACK_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88ED) } },
3236 { "PIXEL_UNPACK_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88EF) } },
3237 { "FLOAT_MAT2x3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B65) } },
3238 { "FLOAT_MAT2x4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B66) } },
3239 { "FLOAT_MAT3x2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B67) } },
3240 { "FLOAT_MAT3x4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B68) } },
3241 { "FLOAT_MAT4x2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B69) } },
3242 { "FLOAT_MAT4x3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B6A) } },
3243 { "SRGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C40) } },
3244 { "SRGB8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C41) } },
3245 { "SRGB8_ALPHA8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C43) } },
3246 { "COMPARE_REF_TO_TEXTURE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x884E) } },
3247 { "RGBA32F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8814) } },
3248 { "RGB32F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8815) } },
3249 { "RGBA16F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x881A) } },
3250 { "RGB16F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x881B) } },
3251 { "VERTEX_ATTRIB_ARRAY_INTEGER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88FD) } },
3252 { "MAX_ARRAY_TEXTURE_LAYERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88FF) } },
3253 { "MIN_PROGRAM_TEXEL_OFFSET", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8904) } },
3254 { "MAX_PROGRAM_TEXEL_OFFSET", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8905) } },
3255 { "MAX_VARYING_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4B) } },
3256 { "TEXTURE_2D_ARRAY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C1A) } },
3257 { "TEXTURE_BINDING_2D_ARRAY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C1D) } },
3258 { "R11F_G11F_B10F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C3A) } },
3259 { "UNSIGNED_INT_10F_11F_11F_REV", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C3B) } },
3260 { "RGB9_E5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C3D) } },
3261 { "UNSIGNED_INT_5_9_9_9_REV", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C3E) } },
3262 { "TRANSFORM_FEEDBACK_BUFFER_MODE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C7F) } },
3263 { "MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C80) } },
3264 { "TRANSFORM_FEEDBACK_VARYINGS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C83) } },
3265 { "TRANSFORM_FEEDBACK_BUFFER_START", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C84) } },
3266 { "TRANSFORM_FEEDBACK_BUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C85) } },
3267 { "TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C88) } },
3268 { "RASTERIZER_DISCARD", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C89) } },
3269 { "MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8A) } },
3270 { "MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8B) } },
3271 { "INTERLEAVED_ATTRIBS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8C) } },
3272 { "SEPARATE_ATTRIBS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8D) } },
3273 { "TRANSFORM_FEEDBACK_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8E) } },
3274 { "TRANSFORM_FEEDBACK_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C8F) } },
3275 { "RGBA32UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D70) } },
3276 { "RGB32UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D71) } },
3277 { "RGBA16UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D76) } },
3278 { "RGB16UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D77) } },
3279 { "RGBA8UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D7C) } },
3280 { "RGB8UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D7D) } },
3281 { "RGBA32I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D82) } },
3282 { "RGB32I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D83) } },
3283 { "RGBA16I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D88) } },
3284 { "RGB16I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D89) } },
3285 { "RGBA8I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D8E) } },
3286 { "RGB8I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D8F) } },
3287 { "RED_INTEGER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D94) } },
3288 { "RGB_INTEGER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D98) } },
3289 { "RGBA_INTEGER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D99) } },
3290 { "SAMPLER_2D_ARRAY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC1) } },
3291 { "SAMPLER_2D_ARRAY_SHADOW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC4) } },
3292 { "SAMPLER_CUBE_SHADOW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC5) } },
3293 { "UNSIGNED_INT_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC6) } },
3294 { "UNSIGNED_INT_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC7) } },
3295 { "UNSIGNED_INT_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DC8) } },
3296 { "INT_SAMPLER_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DCA) } },
3297 { "INT_SAMPLER_3D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DCB) } },
3298 { "INT_SAMPLER_CUBE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DCC) } },
3299 { "INT_SAMPLER_2D_ARRAY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DCF) } },
3300 { "UNSIGNED_INT_SAMPLER_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DD2) } },
3301 { "UNSIGNED_INT_SAMPLER_3D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DD3) } },
3302 { "UNSIGNED_INT_SAMPLER_CUBE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DD4) } },
3303 { "UNSIGNED_INT_SAMPLER_2D_ARRAY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DD7) } },
3304 { "DEPTH_COMPONENT32F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CAC) } },
3305 { "DEPTH32F_STENCIL8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CAD) } },
3306 { "FLOAT_32_UNSIGNED_INT_24_8_REV", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DAD) } },
3307 { "FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8210) } },
3308 { "FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8211) } },
3309 { "FRAMEBUFFER_ATTACHMENT_RED_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8212) } },
3310 { "FRAMEBUFFER_ATTACHMENT_GREEN_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8213) } },
3311 { "FRAMEBUFFER_ATTACHMENT_BLUE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8214) } },
3312 { "FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8215) } },
3313 { "FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8216) } },
3314 { "FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8217) } },
3315 { "FRAMEBUFFER_DEFAULT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8218) } },
3316#if ENABLE(WEBGL)
3317 { "DEPTH_STENCIL_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x821A) } },
3318#else
3319 { 0, 0, NoIntrinsic, { 0, 0 } },
3320#endif
3321#if ENABLE(WEBGL)
3322 { "DEPTH_STENCIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84F9) } },
3323#else
3324 { 0, 0, NoIntrinsic, { 0, 0 } },
3325#endif
3326 { "UNSIGNED_INT_24_8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84FA) } },
3327 { "DEPTH24_STENCIL8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88F0) } },
3328 { "UNSIGNED_NORMALIZED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C17) } },
3329 { "DRAW_FRAMEBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA6) } },
3330 { "READ_FRAMEBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA8) } },
3331 { "DRAW_FRAMEBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA9) } },
3332 { "READ_FRAMEBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CAA) } },
3333 { "RENDERBUFFER_SAMPLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CAB) } },
3334 { "FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD4) } },
3335 { "MAX_COLOR_ATTACHMENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CDF) } },
3336 { "COLOR_ATTACHMENT1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE1) } },
3337 { "COLOR_ATTACHMENT2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE2) } },
3338 { "COLOR_ATTACHMENT3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE3) } },
3339 { "COLOR_ATTACHMENT4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE4) } },
3340 { "COLOR_ATTACHMENT5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE5) } },
3341 { "COLOR_ATTACHMENT6", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE6) } },
3342 { "COLOR_ATTACHMENT7", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE7) } },
3343 { "COLOR_ATTACHMENT8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE8) } },
3344 { "COLOR_ATTACHMENT9", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE9) } },
3345 { "COLOR_ATTACHMENT10", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CEA) } },
3346 { "COLOR_ATTACHMENT11", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CEB) } },
3347 { "COLOR_ATTACHMENT12", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CEC) } },
3348 { "COLOR_ATTACHMENT13", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CED) } },
3349 { "COLOR_ATTACHMENT14", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CEE) } },
3350 { "COLOR_ATTACHMENT15", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CEF) } },
3351 { "FRAMEBUFFER_INCOMPLETE_MULTISAMPLE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D56) } },
3352 { "MAX_SAMPLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D57) } },
3353 { "HALF_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x140B) } },
3354 { "RG", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8227) } },
3355 { "RG_INTEGER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8228) } },
3356 { "R8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8229) } },
3357 { "RG8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x822B) } },
3358 { "R16F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x822D) } },
3359 { "R32F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x822E) } },
3360 { "RG16F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x822F) } },
3361 { "RG32F", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8230) } },
3362 { "R8I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8231) } },
3363 { "R8UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8232) } },
3364 { "R16I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8233) } },
3365 { "R16UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8234) } },
3366 { "R32I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8235) } },
3367 { "R32UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8236) } },
3368 { "RG8I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8237) } },
3369 { "RG8UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8238) } },
3370 { "RG16I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8239) } },
3371 { "RG16UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x823A) } },
3372 { "RG32I", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x823B) } },
3373 { "RG32UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x823C) } },
3374 { "VERTEX_ARRAY_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x85B5) } },
3375 { "R8_SNORM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F94) } },
3376 { "RG8_SNORM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F95) } },
3377 { "RGB8_SNORM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F96) } },
3378 { "RGBA8_SNORM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F97) } },
3379 { "SIGNED_NORMALIZED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F9C) } },
3380 { "COPY_READ_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F36) } },
3381 { "COPY_WRITE_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F37) } },
3382 { "COPY_READ_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F36) } },
3383 { "COPY_WRITE_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8F37) } },
3384 { "UNIFORM_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A11) } },
3385 { "UNIFORM_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A28) } },
3386 { "UNIFORM_BUFFER_START", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A29) } },
3387 { "UNIFORM_BUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A2A) } },
3388 { "MAX_VERTEX_UNIFORM_BLOCKS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A2B) } },
3389 { "MAX_FRAGMENT_UNIFORM_BLOCKS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A2D) } },
3390 { "MAX_COMBINED_UNIFORM_BLOCKS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A2E) } },
3391 { "MAX_UNIFORM_BUFFER_BINDINGS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A2F) } },
3392 { "MAX_UNIFORM_BLOCK_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A30) } },
3393 { "MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A31) } },
3394 { "MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A33) } },
3395 { "UNIFORM_BUFFER_OFFSET_ALIGNMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A34) } },
3396 { "ACTIVE_UNIFORM_BLOCKS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A36) } },
3397 { "UNIFORM_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A37) } },
3398 { "UNIFORM_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A38) } },
3399 { "UNIFORM_BLOCK_INDEX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3A) } },
3400 { "UNIFORM_OFFSET", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3B) } },
3401 { "UNIFORM_ARRAY_STRIDE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3C) } },
3402 { "UNIFORM_MATRIX_STRIDE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3D) } },
3403 { "UNIFORM_IS_ROW_MAJOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3E) } },
3404 { "UNIFORM_BLOCK_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A3F) } },
3405 { "UNIFORM_BLOCK_DATA_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A40) } },
3406 { "UNIFORM_BLOCK_ACTIVE_UNIFORMS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A42) } },
3407 { "UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A43) } },
3408 { "UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A44) } },
3409 { "UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8A46) } },
3410 { "INVALID_INDEX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0xFFFFFFFF) } },
3411 { "MAX_VERTEX_OUTPUT_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9122) } },
3412 { "MAX_FRAGMENT_INPUT_COMPONENTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9125) } },
3413 { "MAX_SERVER_WAIT_TIMEOUT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9111) } },
3414 { "OBJECT_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9112) } },
3415 { "SYNC_CONDITION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9113) } },
3416 { "SYNC_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9114) } },
3417 { "SYNC_FLAGS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9115) } },
3418 { "SYNC_FENCE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9116) } },
3419 { "SYNC_GPU_COMMANDS_COMPLETE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9117) } },
3420 { "UNSIGNALED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9118) } },
3421 { "SIGNALED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9119) } },
3422 { "ALREADY_SIGNALED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x911A) } },
3423 { "TIMEOUT_EXPIRED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x911B) } },
3424 { "CONDITION_SATISFIED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x911C) } },
3425 { "WAIT_FAILED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x911D) } },
3426 { "SYNC_FLUSH_COMMANDS_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00000001) } },
3427 { "VERTEX_ATTRIB_ARRAY_DIVISOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88FE) } },
3428 { "ANY_SAMPLES_PASSED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8C2F) } },
3429 { "ANY_SAMPLES_PASSED_CONSERVATIVE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D6A) } },
3430 { "SAMPLER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8919) } },
3431 { "RGB10_A2UI", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x906F) } },
3432 { "INT_2_10_10_10_REV", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D9F) } },
3433 { "TRANSFORM_FEEDBACK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8E22) } },
3434 { "TRANSFORM_FEEDBACK_PAUSED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8E23) } },
3435 { "TRANSFORM_FEEDBACK_ACTIVE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8E24) } },
3436 { "TRANSFORM_FEEDBACK_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8E25) } },
3437 { "TEXTURE_IMMUTABLE_FORMAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x912F) } },
3438 { "MAX_ELEMENT_INDEX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D6B) } },
3439 { "TEXTURE_IMMUTABLE_LEVELS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x82DF) } },
3440 { "TIMEOUT_IGNORED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(-1) } },
3441 { "MAX_CLIENT_WAIT_TIMEOUT_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9247) } },
3442#if ENABLE(WEBGL)
3443 { "DEPTH_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00000100) } },
3444#else
3445 { 0, 0, NoIntrinsic, { 0, 0 } },
3446#endif
3447#if ENABLE(WEBGL)
3448 { "STENCIL_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00000400) } },
3449#else
3450 { 0, 0, NoIntrinsic, { 0, 0 } },
3451#endif
3452#if ENABLE(WEBGL)
3453 { "COLOR_BUFFER_BIT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x00004000) } },
3454#else
3455 { 0, 0, NoIntrinsic, { 0, 0 } },
3456#endif
3457#if ENABLE(WEBGL)
3458 { "POINTS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0000) } },
3459#else
3460 { 0, 0, NoIntrinsic, { 0, 0 } },
3461#endif
3462#if ENABLE(WEBGL)
3463 { "LINES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0001) } },
3464#else
3465 { 0, 0, NoIntrinsic, { 0, 0 } },
3466#endif
3467#if ENABLE(WEBGL)
3468 { "LINE_LOOP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0002) } },
3469#else
3470 { 0, 0, NoIntrinsic, { 0, 0 } },
3471#endif
3472#if ENABLE(WEBGL)
3473 { "LINE_STRIP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0003) } },
3474#else
3475 { 0, 0, NoIntrinsic, { 0, 0 } },
3476#endif
3477#if ENABLE(WEBGL)
3478 { "TRIANGLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0004) } },
3479#else
3480 { 0, 0, NoIntrinsic, { 0, 0 } },
3481#endif
3482#if ENABLE(WEBGL)
3483 { "TRIANGLE_STRIP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0005) } },
3484#else
3485 { 0, 0, NoIntrinsic, { 0, 0 } },
3486#endif
3487#if ENABLE(WEBGL)
3488 { "TRIANGLE_FAN", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0006) } },
3489#else
3490 { 0, 0, NoIntrinsic, { 0, 0 } },
3491#endif
3492#if ENABLE(WEBGL)
3493 { "ZERO", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
3494#else
3495 { 0, 0, NoIntrinsic, { 0, 0 } },
3496#endif
3497#if ENABLE(WEBGL)
3498 { "ONE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(1) } },
3499#else
3500 { 0, 0, NoIntrinsic, { 0, 0 } },
3501#endif
3502#if ENABLE(WEBGL)
3503 { "SRC_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0300) } },
3504#else
3505 { 0, 0, NoIntrinsic, { 0, 0 } },
3506#endif
3507#if ENABLE(WEBGL)
3508 { "ONE_MINUS_SRC_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0301) } },
3509#else
3510 { 0, 0, NoIntrinsic, { 0, 0 } },
3511#endif
3512#if ENABLE(WEBGL)
3513 { "SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0302) } },
3514#else
3515 { 0, 0, NoIntrinsic, { 0, 0 } },
3516#endif
3517#if ENABLE(WEBGL)
3518 { "ONE_MINUS_SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0303) } },
3519#else
3520 { 0, 0, NoIntrinsic, { 0, 0 } },
3521#endif
3522#if ENABLE(WEBGL)
3523 { "DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0304) } },
3524#else
3525 { 0, 0, NoIntrinsic, { 0, 0 } },
3526#endif
3527#if ENABLE(WEBGL)
3528 { "ONE_MINUS_DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0305) } },
3529#else
3530 { 0, 0, NoIntrinsic, { 0, 0 } },
3531#endif
3532#if ENABLE(WEBGL)
3533 { "DST_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0306) } },
3534#else
3535 { 0, 0, NoIntrinsic, { 0, 0 } },
3536#endif
3537#if ENABLE(WEBGL)
3538 { "ONE_MINUS_DST_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0307) } },
3539#else
3540 { 0, 0, NoIntrinsic, { 0, 0 } },
3541#endif
3542#if ENABLE(WEBGL)
3543 { "SRC_ALPHA_SATURATE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0308) } },
3544#else
3545 { 0, 0, NoIntrinsic, { 0, 0 } },
3546#endif
3547#if ENABLE(WEBGL)
3548 { "FUNC_ADD", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8006) } },
3549#else
3550 { 0, 0, NoIntrinsic, { 0, 0 } },
3551#endif
3552#if ENABLE(WEBGL)
3553 { "BLEND_EQUATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8009) } },
3554#else
3555 { 0, 0, NoIntrinsic, { 0, 0 } },
3556#endif
3557#if ENABLE(WEBGL)
3558 { "BLEND_EQUATION_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8009) } },
3559#else
3560 { 0, 0, NoIntrinsic, { 0, 0 } },
3561#endif
3562#if ENABLE(WEBGL)
3563 { "BLEND_EQUATION_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x883D) } },
3564#else
3565 { 0, 0, NoIntrinsic, { 0, 0 } },
3566#endif
3567#if ENABLE(WEBGL)
3568 { "FUNC_SUBTRACT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x800A) } },
3569#else
3570 { 0, 0, NoIntrinsic, { 0, 0 } },
3571#endif
3572#if ENABLE(WEBGL)
3573 { "FUNC_REVERSE_SUBTRACT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x800B) } },
3574#else
3575 { 0, 0, NoIntrinsic, { 0, 0 } },
3576#endif
3577#if ENABLE(WEBGL)
3578 { "BLEND_DST_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80C8) } },
3579#else
3580 { 0, 0, NoIntrinsic, { 0, 0 } },
3581#endif
3582#if ENABLE(WEBGL)
3583 { "BLEND_SRC_RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80C9) } },
3584#else
3585 { 0, 0, NoIntrinsic, { 0, 0 } },
3586#endif
3587#if ENABLE(WEBGL)
3588 { "BLEND_DST_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80CA) } },
3589#else
3590 { 0, 0, NoIntrinsic, { 0, 0 } },
3591#endif
3592#if ENABLE(WEBGL)
3593 { "BLEND_SRC_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80CB) } },
3594#else
3595 { 0, 0, NoIntrinsic, { 0, 0 } },
3596#endif
3597#if ENABLE(WEBGL)
3598 { "CONSTANT_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8001) } },
3599#else
3600 { 0, 0, NoIntrinsic, { 0, 0 } },
3601#endif
3602#if ENABLE(WEBGL)
3603 { "ONE_MINUS_CONSTANT_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8002) } },
3604#else
3605 { 0, 0, NoIntrinsic, { 0, 0 } },
3606#endif
3607#if ENABLE(WEBGL)
3608 { "CONSTANT_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8003) } },
3609#else
3610 { 0, 0, NoIntrinsic, { 0, 0 } },
3611#endif
3612#if ENABLE(WEBGL)
3613 { "ONE_MINUS_CONSTANT_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8004) } },
3614#else
3615 { 0, 0, NoIntrinsic, { 0, 0 } },
3616#endif
3617#if ENABLE(WEBGL)
3618 { "BLEND_COLOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8005) } },
3619#else
3620 { 0, 0, NoIntrinsic, { 0, 0 } },
3621#endif
3622#if ENABLE(WEBGL)
3623 { "ARRAY_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8892) } },
3624#else
3625 { 0, 0, NoIntrinsic, { 0, 0 } },
3626#endif
3627#if ENABLE(WEBGL)
3628 { "ELEMENT_ARRAY_BUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8893) } },
3629#else
3630 { 0, 0, NoIntrinsic, { 0, 0 } },
3631#endif
3632#if ENABLE(WEBGL)
3633 { "ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8894) } },
3634#else
3635 { 0, 0, NoIntrinsic, { 0, 0 } },
3636#endif
3637#if ENABLE(WEBGL)
3638 { "ELEMENT_ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8895) } },
3639#else
3640 { 0, 0, NoIntrinsic, { 0, 0 } },
3641#endif
3642#if ENABLE(WEBGL)
3643 { "STREAM_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E0) } },
3644#else
3645 { 0, 0, NoIntrinsic, { 0, 0 } },
3646#endif
3647#if ENABLE(WEBGL)
3648 { "STATIC_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E4) } },
3649#else
3650 { 0, 0, NoIntrinsic, { 0, 0 } },
3651#endif
3652#if ENABLE(WEBGL)
3653 { "DYNAMIC_DRAW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x88E8) } },
3654#else
3655 { 0, 0, NoIntrinsic, { 0, 0 } },
3656#endif
3657#if ENABLE(WEBGL)
3658 { "BUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8764) } },
3659#else
3660 { 0, 0, NoIntrinsic, { 0, 0 } },
3661#endif
3662#if ENABLE(WEBGL)
3663 { "BUFFER_USAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8765) } },
3664#else
3665 { 0, 0, NoIntrinsic, { 0, 0 } },
3666#endif
3667#if ENABLE(WEBGL)
3668 { "CURRENT_VERTEX_ATTRIB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8626) } },
3669#else
3670 { 0, 0, NoIntrinsic, { 0, 0 } },
3671#endif
3672#if ENABLE(WEBGL)
3673 { "FRONT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0404) } },
3674#else
3675 { 0, 0, NoIntrinsic, { 0, 0 } },
3676#endif
3677#if ENABLE(WEBGL)
3678 { "BACK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0405) } },
3679#else
3680 { 0, 0, NoIntrinsic, { 0, 0 } },
3681#endif
3682#if ENABLE(WEBGL)
3683 { "FRONT_AND_BACK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0408) } },
3684#else
3685 { 0, 0, NoIntrinsic, { 0, 0 } },
3686#endif
3687#if ENABLE(WEBGL)
3688 { "TEXTURE_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0DE1) } },
3689#else
3690 { 0, 0, NoIntrinsic, { 0, 0 } },
3691#endif
3692#if ENABLE(WEBGL)
3693 { "CULL_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B44) } },
3694#else
3695 { 0, 0, NoIntrinsic, { 0, 0 } },
3696#endif
3697#if ENABLE(WEBGL)
3698 { "BLEND", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BE2) } },
3699#else
3700 { 0, 0, NoIntrinsic, { 0, 0 } },
3701#endif
3702#if ENABLE(WEBGL)
3703 { "DITHER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BD0) } },
3704#else
3705 { 0, 0, NoIntrinsic, { 0, 0 } },
3706#endif
3707#if ENABLE(WEBGL)
3708 { "STENCIL_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B90) } },
3709#else
3710 { 0, 0, NoIntrinsic, { 0, 0 } },
3711#endif
3712#if ENABLE(WEBGL)
3713 { "DEPTH_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B71) } },
3714#else
3715 { 0, 0, NoIntrinsic, { 0, 0 } },
3716#endif
3717#if ENABLE(WEBGL)
3718 { "SCISSOR_TEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C11) } },
3719#else
3720 { 0, 0, NoIntrinsic, { 0, 0 } },
3721#endif
3722#if ENABLE(WEBGL)
3723 { "POLYGON_OFFSET_FILL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8037) } },
3724#else
3725 { 0, 0, NoIntrinsic, { 0, 0 } },
3726#endif
3727#if ENABLE(WEBGL)
3728 { "SAMPLE_ALPHA_TO_COVERAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x809E) } },
3729#else
3730 { 0, 0, NoIntrinsic, { 0, 0 } },
3731#endif
3732#if ENABLE(WEBGL)
3733 { "SAMPLE_COVERAGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A0) } },
3734#else
3735 { 0, 0, NoIntrinsic, { 0, 0 } },
3736#endif
3737#if ENABLE(WEBGL)
3738 { "NO_ERROR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
3739#else
3740 { 0, 0, NoIntrinsic, { 0, 0 } },
3741#endif
3742#if ENABLE(WEBGL)
3743 { "INVALID_ENUM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0500) } },
3744#else
3745 { 0, 0, NoIntrinsic, { 0, 0 } },
3746#endif
3747#if ENABLE(WEBGL)
3748 { "INVALID_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0501) } },
3749#else
3750 { 0, 0, NoIntrinsic, { 0, 0 } },
3751#endif
3752#if ENABLE(WEBGL)
3753 { "INVALID_OPERATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0502) } },
3754#else
3755 { 0, 0, NoIntrinsic, { 0, 0 } },
3756#endif
3757#if ENABLE(WEBGL)
3758 { "OUT_OF_MEMORY", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0505) } },
3759#else
3760 { 0, 0, NoIntrinsic, { 0, 0 } },
3761#endif
3762#if ENABLE(WEBGL)
3763 { "CW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0900) } },
3764#else
3765 { 0, 0, NoIntrinsic, { 0, 0 } },
3766#endif
3767#if ENABLE(WEBGL)
3768 { "CCW", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0901) } },
3769#else
3770 { 0, 0, NoIntrinsic, { 0, 0 } },
3771#endif
3772#if ENABLE(WEBGL)
3773 { "LINE_WIDTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B21) } },
3774#else
3775 { 0, 0, NoIntrinsic, { 0, 0 } },
3776#endif
3777#if ENABLE(WEBGL)
3778 { "ALIASED_POINT_SIZE_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x846D) } },
3779#else
3780 { 0, 0, NoIntrinsic, { 0, 0 } },
3781#endif
3782#if ENABLE(WEBGL)
3783 { "ALIASED_LINE_WIDTH_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x846E) } },
3784#else
3785 { 0, 0, NoIntrinsic, { 0, 0 } },
3786#endif
3787#if ENABLE(WEBGL)
3788 { "CULL_FACE_MODE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B45) } },
3789#else
3790 { 0, 0, NoIntrinsic, { 0, 0 } },
3791#endif
3792#if ENABLE(WEBGL)
3793 { "FRONT_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B46) } },
3794#else
3795 { 0, 0, NoIntrinsic, { 0, 0 } },
3796#endif
3797#if ENABLE(WEBGL)
3798 { "DEPTH_RANGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B70) } },
3799#else
3800 { 0, 0, NoIntrinsic, { 0, 0 } },
3801#endif
3802#if ENABLE(WEBGL)
3803 { "DEPTH_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B72) } },
3804#else
3805 { 0, 0, NoIntrinsic, { 0, 0 } },
3806#endif
3807#if ENABLE(WEBGL)
3808 { "DEPTH_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B73) } },
3809#else
3810 { 0, 0, NoIntrinsic, { 0, 0 } },
3811#endif
3812#if ENABLE(WEBGL)
3813 { "DEPTH_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B74) } },
3814#else
3815 { 0, 0, NoIntrinsic, { 0, 0 } },
3816#endif
3817#if ENABLE(WEBGL)
3818 { "STENCIL_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B91) } },
3819#else
3820 { 0, 0, NoIntrinsic, { 0, 0 } },
3821#endif
3822#if ENABLE(WEBGL)
3823 { "STENCIL_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B92) } },
3824#else
3825 { 0, 0, NoIntrinsic, { 0, 0 } },
3826#endif
3827#if ENABLE(WEBGL)
3828 { "STENCIL_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B94) } },
3829#else
3830 { 0, 0, NoIntrinsic, { 0, 0 } },
3831#endif
3832#if ENABLE(WEBGL)
3833 { "STENCIL_PASS_DEPTH_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B95) } },
3834#else
3835 { 0, 0, NoIntrinsic, { 0, 0 } },
3836#endif
3837#if ENABLE(WEBGL)
3838 { "STENCIL_PASS_DEPTH_PASS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B96) } },
3839#else
3840 { 0, 0, NoIntrinsic, { 0, 0 } },
3841#endif
3842#if ENABLE(WEBGL)
3843 { "STENCIL_REF", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B97) } },
3844#else
3845 { 0, 0, NoIntrinsic, { 0, 0 } },
3846#endif
3847#if ENABLE(WEBGL)
3848 { "STENCIL_VALUE_MASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B93) } },
3849#else
3850 { 0, 0, NoIntrinsic, { 0, 0 } },
3851#endif
3852#if ENABLE(WEBGL)
3853 { "STENCIL_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0B98) } },
3854#else
3855 { 0, 0, NoIntrinsic, { 0, 0 } },
3856#endif
3857#if ENABLE(WEBGL)
3858 { "STENCIL_BACK_FUNC", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8800) } },
3859#else
3860 { 0, 0, NoIntrinsic, { 0, 0 } },
3861#endif
3862#if ENABLE(WEBGL)
3863 { "STENCIL_BACK_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8801) } },
3864#else
3865 { 0, 0, NoIntrinsic, { 0, 0 } },
3866#endif
3867#if ENABLE(WEBGL)
3868 { "STENCIL_BACK_PASS_DEPTH_FAIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8802) } },
3869#else
3870 { 0, 0, NoIntrinsic, { 0, 0 } },
3871#endif
3872#if ENABLE(WEBGL)
3873 { "STENCIL_BACK_PASS_DEPTH_PASS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8803) } },
3874#else
3875 { 0, 0, NoIntrinsic, { 0, 0 } },
3876#endif
3877#if ENABLE(WEBGL)
3878 { "STENCIL_BACK_REF", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA3) } },
3879#else
3880 { 0, 0, NoIntrinsic, { 0, 0 } },
3881#endif
3882#if ENABLE(WEBGL)
3883 { "STENCIL_BACK_VALUE_MASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA4) } },
3884#else
3885 { 0, 0, NoIntrinsic, { 0, 0 } },
3886#endif
3887#if ENABLE(WEBGL)
3888 { "STENCIL_BACK_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA5) } },
3889#else
3890 { 0, 0, NoIntrinsic, { 0, 0 } },
3891#endif
3892#if ENABLE(WEBGL)
3893 { "VIEWPORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0BA2) } },
3894#else
3895 { 0, 0, NoIntrinsic, { 0, 0 } },
3896#endif
3897#if ENABLE(WEBGL)
3898 { "SCISSOR_BOX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C10) } },
3899#else
3900 { 0, 0, NoIntrinsic, { 0, 0 } },
3901#endif
3902#if ENABLE(WEBGL)
3903 { "COLOR_CLEAR_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C22) } },
3904#else
3905 { 0, 0, NoIntrinsic, { 0, 0 } },
3906#endif
3907#if ENABLE(WEBGL)
3908 { "COLOR_WRITEMASK", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0C23) } },
3909#else
3910 { 0, 0, NoIntrinsic, { 0, 0 } },
3911#endif
3912#if ENABLE(WEBGL)
3913 { "UNPACK_ALIGNMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0CF5) } },
3914#else
3915 { 0, 0, NoIntrinsic, { 0, 0 } },
3916#endif
3917#if ENABLE(WEBGL)
3918 { "PACK_ALIGNMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D05) } },
3919#else
3920 { 0, 0, NoIntrinsic, { 0, 0 } },
3921#endif
3922#if ENABLE(WEBGL)
3923 { "MAX_TEXTURE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D33) } },
3924#else
3925 { 0, 0, NoIntrinsic, { 0, 0 } },
3926#endif
3927#if ENABLE(WEBGL)
3928 { "MAX_VIEWPORT_DIMS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D3A) } },
3929#else
3930 { 0, 0, NoIntrinsic, { 0, 0 } },
3931#endif
3932#if ENABLE(WEBGL)
3933 { "SUBPIXEL_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D50) } },
3934#else
3935 { 0, 0, NoIntrinsic, { 0, 0 } },
3936#endif
3937#if ENABLE(WEBGL)
3938 { "RED_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D52) } },
3939#else
3940 { 0, 0, NoIntrinsic, { 0, 0 } },
3941#endif
3942#if ENABLE(WEBGL)
3943 { "GREEN_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D53) } },
3944#else
3945 { 0, 0, NoIntrinsic, { 0, 0 } },
3946#endif
3947#if ENABLE(WEBGL)
3948 { "BLUE_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D54) } },
3949#else
3950 { 0, 0, NoIntrinsic, { 0, 0 } },
3951#endif
3952#if ENABLE(WEBGL)
3953 { "ALPHA_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D55) } },
3954#else
3955 { 0, 0, NoIntrinsic, { 0, 0 } },
3956#endif
3957#if ENABLE(WEBGL)
3958 { "DEPTH_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D56) } },
3959#else
3960 { 0, 0, NoIntrinsic, { 0, 0 } },
3961#endif
3962#if ENABLE(WEBGL)
3963 { "STENCIL_BITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0D57) } },
3964#else
3965 { 0, 0, NoIntrinsic, { 0, 0 } },
3966#endif
3967#if ENABLE(WEBGL)
3968 { "POLYGON_OFFSET_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2A00) } },
3969#else
3970 { 0, 0, NoIntrinsic, { 0, 0 } },
3971#endif
3972#if ENABLE(WEBGL)
3973 { "POLYGON_OFFSET_FACTOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8038) } },
3974#else
3975 { 0, 0, NoIntrinsic, { 0, 0 } },
3976#endif
3977#if ENABLE(WEBGL)
3978 { "TEXTURE_BINDING_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8069) } },
3979#else
3980 { 0, 0, NoIntrinsic, { 0, 0 } },
3981#endif
3982#if ENABLE(WEBGL)
3983 { "SAMPLE_BUFFERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A8) } },
3984#else
3985 { 0, 0, NoIntrinsic, { 0, 0 } },
3986#endif
3987#if ENABLE(WEBGL)
3988 { "SAMPLES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80A9) } },
3989#else
3990 { 0, 0, NoIntrinsic, { 0, 0 } },
3991#endif
3992#if ENABLE(WEBGL)
3993 { "SAMPLE_COVERAGE_VALUE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80AA) } },
3994#else
3995 { 0, 0, NoIntrinsic, { 0, 0 } },
3996#endif
3997#if ENABLE(WEBGL)
3998 { "SAMPLE_COVERAGE_INVERT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x80AB) } },
3999#else
4000 { 0, 0, NoIntrinsic, { 0, 0 } },
4001#endif
4002#if ENABLE(WEBGL)
4003 { "COMPRESSED_TEXTURE_FORMATS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x86A3) } },
4004#else
4005 { 0, 0, NoIntrinsic, { 0, 0 } },
4006#endif
4007#if ENABLE(WEBGL)
4008 { "DONT_CARE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1100) } },
4009#else
4010 { 0, 0, NoIntrinsic, { 0, 0 } },
4011#endif
4012#if ENABLE(WEBGL)
4013 { "FASTEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1101) } },
4014#else
4015 { 0, 0, NoIntrinsic, { 0, 0 } },
4016#endif
4017#if ENABLE(WEBGL)
4018 { "NICEST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1102) } },
4019#else
4020 { 0, 0, NoIntrinsic, { 0, 0 } },
4021#endif
4022#if ENABLE(WEBGL)
4023 { "GENERATE_MIPMAP_HINT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8192) } },
4024#else
4025 { 0, 0, NoIntrinsic, { 0, 0 } },
4026#endif
4027#if ENABLE(WEBGL)
4028 { "BYTE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1400) } },
4029#else
4030 { 0, 0, NoIntrinsic, { 0, 0 } },
4031#endif
4032#if ENABLE(WEBGL)
4033 { "UNSIGNED_BYTE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1401) } },
4034#else
4035 { 0, 0, NoIntrinsic, { 0, 0 } },
4036#endif
4037#if ENABLE(WEBGL)
4038 { "SHORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1402) } },
4039#else
4040 { 0, 0, NoIntrinsic, { 0, 0 } },
4041#endif
4042#if ENABLE(WEBGL)
4043 { "UNSIGNED_SHORT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1403) } },
4044#else
4045 { 0, 0, NoIntrinsic, { 0, 0 } },
4046#endif
4047#if ENABLE(WEBGL)
4048 { "INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1404) } },
4049#else
4050 { 0, 0, NoIntrinsic, { 0, 0 } },
4051#endif
4052#if ENABLE(WEBGL)
4053 { "UNSIGNED_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1405) } },
4054#else
4055 { 0, 0, NoIntrinsic, { 0, 0 } },
4056#endif
4057#if ENABLE(WEBGL)
4058 { "FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1406) } },
4059#else
4060 { 0, 0, NoIntrinsic, { 0, 0 } },
4061#endif
4062#if ENABLE(WEBGL)
4063 { "DEPTH_COMPONENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1902) } },
4064#else
4065 { 0, 0, NoIntrinsic, { 0, 0 } },
4066#endif
4067#if ENABLE(WEBGL)
4068 { "ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1906) } },
4069#else
4070 { 0, 0, NoIntrinsic, { 0, 0 } },
4071#endif
4072#if ENABLE(WEBGL)
4073 { "RGB", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1907) } },
4074#else
4075 { 0, 0, NoIntrinsic, { 0, 0 } },
4076#endif
4077#if ENABLE(WEBGL)
4078 { "RGBA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1908) } },
4079#else
4080 { 0, 0, NoIntrinsic, { 0, 0 } },
4081#endif
4082#if ENABLE(WEBGL)
4083 { "LUMINANCE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1909) } },
4084#else
4085 { 0, 0, NoIntrinsic, { 0, 0 } },
4086#endif
4087#if ENABLE(WEBGL)
4088 { "LUMINANCE_ALPHA", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x190A) } },
4089#else
4090 { 0, 0, NoIntrinsic, { 0, 0 } },
4091#endif
4092#if ENABLE(WEBGL)
4093 { "UNSIGNED_SHORT_4_4_4_4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8033) } },
4094#else
4095 { 0, 0, NoIntrinsic, { 0, 0 } },
4096#endif
4097#if ENABLE(WEBGL)
4098 { "UNSIGNED_SHORT_5_5_5_1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8034) } },
4099#else
4100 { 0, 0, NoIntrinsic, { 0, 0 } },
4101#endif
4102#if ENABLE(WEBGL)
4103 { "UNSIGNED_SHORT_5_6_5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8363) } },
4104#else
4105 { 0, 0, NoIntrinsic, { 0, 0 } },
4106#endif
4107#if ENABLE(WEBGL)
4108 { "FRAGMENT_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B30) } },
4109#else
4110 { 0, 0, NoIntrinsic, { 0, 0 } },
4111#endif
4112#if ENABLE(WEBGL)
4113 { "VERTEX_SHADER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B31) } },
4114#else
4115 { 0, 0, NoIntrinsic, { 0, 0 } },
4116#endif
4117#if ENABLE(WEBGL)
4118 { "MAX_VERTEX_ATTRIBS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8869) } },
4119#else
4120 { 0, 0, NoIntrinsic, { 0, 0 } },
4121#endif
4122#if ENABLE(WEBGL)
4123 { "MAX_VERTEX_UNIFORM_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFB) } },
4124#else
4125 { 0, 0, NoIntrinsic, { 0, 0 } },
4126#endif
4127#if ENABLE(WEBGL)
4128 { "MAX_VARYING_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFC) } },
4129#else
4130 { 0, 0, NoIntrinsic, { 0, 0 } },
4131#endif
4132#if ENABLE(WEBGL)
4133 { "MAX_COMBINED_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4D) } },
4134#else
4135 { 0, 0, NoIntrinsic, { 0, 0 } },
4136#endif
4137#if ENABLE(WEBGL)
4138 { "MAX_VERTEX_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4C) } },
4139#else
4140 { 0, 0, NoIntrinsic, { 0, 0 } },
4141#endif
4142#if ENABLE(WEBGL)
4143 { "MAX_TEXTURE_IMAGE_UNITS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8872) } },
4144#else
4145 { 0, 0, NoIntrinsic, { 0, 0 } },
4146#endif
4147#if ENABLE(WEBGL)
4148 { "MAX_FRAGMENT_UNIFORM_VECTORS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DFD) } },
4149#else
4150 { 0, 0, NoIntrinsic, { 0, 0 } },
4151#endif
4152#if ENABLE(WEBGL)
4153 { "SHADER_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B4F) } },
4154#else
4155 { 0, 0, NoIntrinsic, { 0, 0 } },
4156#endif
4157#if ENABLE(WEBGL)
4158 { "DELETE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B80) } },
4159#else
4160 { 0, 0, NoIntrinsic, { 0, 0 } },
4161#endif
4162#if ENABLE(WEBGL)
4163 { "LINK_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B82) } },
4164#else
4165 { 0, 0, NoIntrinsic, { 0, 0 } },
4166#endif
4167#if ENABLE(WEBGL)
4168 { "VALIDATE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B83) } },
4169#else
4170 { 0, 0, NoIntrinsic, { 0, 0 } },
4171#endif
4172#if ENABLE(WEBGL)
4173 { "ATTACHED_SHADERS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B85) } },
4174#else
4175 { 0, 0, NoIntrinsic, { 0, 0 } },
4176#endif
4177#if ENABLE(WEBGL)
4178 { "ACTIVE_UNIFORMS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B86) } },
4179#else
4180 { 0, 0, NoIntrinsic, { 0, 0 } },
4181#endif
4182#if ENABLE(WEBGL)
4183 { "ACTIVE_ATTRIBUTES", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B89) } },
4184#else
4185 { 0, 0, NoIntrinsic, { 0, 0 } },
4186#endif
4187#if ENABLE(WEBGL)
4188 { "SHADING_LANGUAGE_VERSION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B8C) } },
4189#else
4190 { 0, 0, NoIntrinsic, { 0, 0 } },
4191#endif
4192#if ENABLE(WEBGL)
4193 { "CURRENT_PROGRAM", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B8D) } },
4194#else
4195 { 0, 0, NoIntrinsic, { 0, 0 } },
4196#endif
4197#if ENABLE(WEBGL)
4198 { "NEVER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0200) } },
4199#else
4200 { 0, 0, NoIntrinsic, { 0, 0 } },
4201#endif
4202#if ENABLE(WEBGL)
4203 { "LESS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0201) } },
4204#else
4205 { 0, 0, NoIntrinsic, { 0, 0 } },
4206#endif
4207#if ENABLE(WEBGL)
4208 { "EQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0202) } },
4209#else
4210 { 0, 0, NoIntrinsic, { 0, 0 } },
4211#endif
4212#if ENABLE(WEBGL)
4213 { "LEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0203) } },
4214#else
4215 { 0, 0, NoIntrinsic, { 0, 0 } },
4216#endif
4217#if ENABLE(WEBGL)
4218 { "GREATER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0204) } },
4219#else
4220 { 0, 0, NoIntrinsic, { 0, 0 } },
4221#endif
4222#if ENABLE(WEBGL)
4223 { "NOTEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0205) } },
4224#else
4225 { 0, 0, NoIntrinsic, { 0, 0 } },
4226#endif
4227#if ENABLE(WEBGL)
4228 { "GEQUAL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0206) } },
4229#else
4230 { 0, 0, NoIntrinsic, { 0, 0 } },
4231#endif
4232#if ENABLE(WEBGL)
4233 { "ALWAYS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0207) } },
4234#else
4235 { 0, 0, NoIntrinsic, { 0, 0 } },
4236#endif
4237#if ENABLE(WEBGL)
4238 { "KEEP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E00) } },
4239#else
4240 { 0, 0, NoIntrinsic, { 0, 0 } },
4241#endif
4242#if ENABLE(WEBGL)
4243 { "REPLACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E01) } },
4244#else
4245 { 0, 0, NoIntrinsic, { 0, 0 } },
4246#endif
4247#if ENABLE(WEBGL)
4248 { "INCR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E02) } },
4249#else
4250 { 0, 0, NoIntrinsic, { 0, 0 } },
4251#endif
4252#if ENABLE(WEBGL)
4253 { "DECR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1E03) } },
4254#else
4255 { 0, 0, NoIntrinsic, { 0, 0 } },
4256#endif
4257#if ENABLE(WEBGL)
4258 { "INVERT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x150A) } },
4259#else
4260 { 0, 0, NoIntrinsic, { 0, 0 } },
4261#endif
4262#if ENABLE(WEBGL)
4263 { "INCR_WRAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8507) } },
4264#else
4265 { 0, 0, NoIntrinsic, { 0, 0 } },
4266#endif
4267#if ENABLE(WEBGL)
4268 { "DECR_WRAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8508) } },
4269#else
4270 { 0, 0, NoIntrinsic, { 0, 0 } },
4271#endif
4272#if ENABLE(WEBGL)
4273 { "VENDOR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F00) } },
4274#else
4275 { 0, 0, NoIntrinsic, { 0, 0 } },
4276#endif
4277#if ENABLE(WEBGL)
4278 { "RENDERER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F01) } },
4279#else
4280 { 0, 0, NoIntrinsic, { 0, 0 } },
4281#endif
4282#if ENABLE(WEBGL)
4283 { "VERSION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1F02) } },
4284#else
4285 { 0, 0, NoIntrinsic, { 0, 0 } },
4286#endif
4287#if ENABLE(WEBGL)
4288 { "NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2600) } },
4289#else
4290 { 0, 0, NoIntrinsic, { 0, 0 } },
4291#endif
4292#if ENABLE(WEBGL)
4293 { "LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2601) } },
4294#else
4295 { 0, 0, NoIntrinsic, { 0, 0 } },
4296#endif
4297#if ENABLE(WEBGL)
4298 { "NEAREST_MIPMAP_NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2700) } },
4299#else
4300 { 0, 0, NoIntrinsic, { 0, 0 } },
4301#endif
4302#if ENABLE(WEBGL)
4303 { "LINEAR_MIPMAP_NEAREST", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2701) } },
4304#else
4305 { 0, 0, NoIntrinsic, { 0, 0 } },
4306#endif
4307#if ENABLE(WEBGL)
4308 { "NEAREST_MIPMAP_LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2702) } },
4309#else
4310 { 0, 0, NoIntrinsic, { 0, 0 } },
4311#endif
4312#if ENABLE(WEBGL)
4313 { "LINEAR_MIPMAP_LINEAR", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2703) } },
4314#else
4315 { 0, 0, NoIntrinsic, { 0, 0 } },
4316#endif
4317#if ENABLE(WEBGL)
4318 { "TEXTURE_MAG_FILTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2800) } },
4319#else
4320 { 0, 0, NoIntrinsic, { 0, 0 } },
4321#endif
4322#if ENABLE(WEBGL)
4323 { "TEXTURE_MIN_FILTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2801) } },
4324#else
4325 { 0, 0, NoIntrinsic, { 0, 0 } },
4326#endif
4327#if ENABLE(WEBGL)
4328 { "TEXTURE_WRAP_S", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2802) } },
4329#else
4330 { 0, 0, NoIntrinsic, { 0, 0 } },
4331#endif
4332#if ENABLE(WEBGL)
4333 { "TEXTURE_WRAP_T", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2803) } },
4334#else
4335 { 0, 0, NoIntrinsic, { 0, 0 } },
4336#endif
4337#if ENABLE(WEBGL)
4338 { "TEXTURE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1702) } },
4339#else
4340 { 0, 0, NoIntrinsic, { 0, 0 } },
4341#endif
4342#if ENABLE(WEBGL)
4343 { "TEXTURE_CUBE_MAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8513) } },
4344#else
4345 { 0, 0, NoIntrinsic, { 0, 0 } },
4346#endif
4347#if ENABLE(WEBGL)
4348 { "TEXTURE_BINDING_CUBE_MAP", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8514) } },
4349#else
4350 { 0, 0, NoIntrinsic, { 0, 0 } },
4351#endif
4352#if ENABLE(WEBGL)
4353 { "TEXTURE_CUBE_MAP_POSITIVE_X", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8515) } },
4354#else
4355 { 0, 0, NoIntrinsic, { 0, 0 } },
4356#endif
4357#if ENABLE(WEBGL)
4358 { "TEXTURE_CUBE_MAP_NEGATIVE_X", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8516) } },
4359#else
4360 { 0, 0, NoIntrinsic, { 0, 0 } },
4361#endif
4362#if ENABLE(WEBGL)
4363 { "TEXTURE_CUBE_MAP_POSITIVE_Y", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8517) } },
4364#else
4365 { 0, 0, NoIntrinsic, { 0, 0 } },
4366#endif
4367#if ENABLE(WEBGL)
4368 { "TEXTURE_CUBE_MAP_NEGATIVE_Y", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8518) } },
4369#else
4370 { 0, 0, NoIntrinsic, { 0, 0 } },
4371#endif
4372#if ENABLE(WEBGL)
4373 { "TEXTURE_CUBE_MAP_POSITIVE_Z", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8519) } },
4374#else
4375 { 0, 0, NoIntrinsic, { 0, 0 } },
4376#endif
4377#if ENABLE(WEBGL)
4378 { "TEXTURE_CUBE_MAP_NEGATIVE_Z", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x851A) } },
4379#else
4380 { 0, 0, NoIntrinsic, { 0, 0 } },
4381#endif
4382#if ENABLE(WEBGL)
4383 { "MAX_CUBE_MAP_TEXTURE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x851C) } },
4384#else
4385 { 0, 0, NoIntrinsic, { 0, 0 } },
4386#endif
4387#if ENABLE(WEBGL)
4388 { "TEXTURE0", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C0) } },
4389#else
4390 { 0, 0, NoIntrinsic, { 0, 0 } },
4391#endif
4392#if ENABLE(WEBGL)
4393 { "TEXTURE1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C1) } },
4394#else
4395 { 0, 0, NoIntrinsic, { 0, 0 } },
4396#endif
4397#if ENABLE(WEBGL)
4398 { "TEXTURE2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C2) } },
4399#else
4400 { 0, 0, NoIntrinsic, { 0, 0 } },
4401#endif
4402#if ENABLE(WEBGL)
4403 { "TEXTURE3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C3) } },
4404#else
4405 { 0, 0, NoIntrinsic, { 0, 0 } },
4406#endif
4407#if ENABLE(WEBGL)
4408 { "TEXTURE4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C4) } },
4409#else
4410 { 0, 0, NoIntrinsic, { 0, 0 } },
4411#endif
4412#if ENABLE(WEBGL)
4413 { "TEXTURE5", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C5) } },
4414#else
4415 { 0, 0, NoIntrinsic, { 0, 0 } },
4416#endif
4417#if ENABLE(WEBGL)
4418 { "TEXTURE6", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C6) } },
4419#else
4420 { 0, 0, NoIntrinsic, { 0, 0 } },
4421#endif
4422#if ENABLE(WEBGL)
4423 { "TEXTURE7", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C7) } },
4424#else
4425 { 0, 0, NoIntrinsic, { 0, 0 } },
4426#endif
4427#if ENABLE(WEBGL)
4428 { "TEXTURE8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C8) } },
4429#else
4430 { 0, 0, NoIntrinsic, { 0, 0 } },
4431#endif
4432#if ENABLE(WEBGL)
4433 { "TEXTURE9", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84C9) } },
4434#else
4435 { 0, 0, NoIntrinsic, { 0, 0 } },
4436#endif
4437#if ENABLE(WEBGL)
4438 { "TEXTURE10", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CA) } },
4439#else
4440 { 0, 0, NoIntrinsic, { 0, 0 } },
4441#endif
4442#if ENABLE(WEBGL)
4443 { "TEXTURE11", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CB) } },
4444#else
4445 { 0, 0, NoIntrinsic, { 0, 0 } },
4446#endif
4447#if ENABLE(WEBGL)
4448 { "TEXTURE12", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CC) } },
4449#else
4450 { 0, 0, NoIntrinsic, { 0, 0 } },
4451#endif
4452#if ENABLE(WEBGL)
4453 { "TEXTURE13", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CD) } },
4454#else
4455 { 0, 0, NoIntrinsic, { 0, 0 } },
4456#endif
4457#if ENABLE(WEBGL)
4458 { "TEXTURE14", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CE) } },
4459#else
4460 { 0, 0, NoIntrinsic, { 0, 0 } },
4461#endif
4462#if ENABLE(WEBGL)
4463 { "TEXTURE15", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84CF) } },
4464#else
4465 { 0, 0, NoIntrinsic, { 0, 0 } },
4466#endif
4467#if ENABLE(WEBGL)
4468 { "TEXTURE16", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D0) } },
4469#else
4470 { 0, 0, NoIntrinsic, { 0, 0 } },
4471#endif
4472#if ENABLE(WEBGL)
4473 { "TEXTURE17", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D1) } },
4474#else
4475 { 0, 0, NoIntrinsic, { 0, 0 } },
4476#endif
4477#if ENABLE(WEBGL)
4478 { "TEXTURE18", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D2) } },
4479#else
4480 { 0, 0, NoIntrinsic, { 0, 0 } },
4481#endif
4482#if ENABLE(WEBGL)
4483 { "TEXTURE19", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D3) } },
4484#else
4485 { 0, 0, NoIntrinsic, { 0, 0 } },
4486#endif
4487#if ENABLE(WEBGL)
4488 { "TEXTURE20", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D4) } },
4489#else
4490 { 0, 0, NoIntrinsic, { 0, 0 } },
4491#endif
4492#if ENABLE(WEBGL)
4493 { "TEXTURE21", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D5) } },
4494#else
4495 { 0, 0, NoIntrinsic, { 0, 0 } },
4496#endif
4497#if ENABLE(WEBGL)
4498 { "TEXTURE22", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D6) } },
4499#else
4500 { 0, 0, NoIntrinsic, { 0, 0 } },
4501#endif
4502#if ENABLE(WEBGL)
4503 { "TEXTURE23", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D7) } },
4504#else
4505 { 0, 0, NoIntrinsic, { 0, 0 } },
4506#endif
4507#if ENABLE(WEBGL)
4508 { "TEXTURE24", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D8) } },
4509#else
4510 { 0, 0, NoIntrinsic, { 0, 0 } },
4511#endif
4512#if ENABLE(WEBGL)
4513 { "TEXTURE25", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84D9) } },
4514#else
4515 { 0, 0, NoIntrinsic, { 0, 0 } },
4516#endif
4517#if ENABLE(WEBGL)
4518 { "TEXTURE26", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DA) } },
4519#else
4520 { 0, 0, NoIntrinsic, { 0, 0 } },
4521#endif
4522#if ENABLE(WEBGL)
4523 { "TEXTURE27", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DB) } },
4524#else
4525 { 0, 0, NoIntrinsic, { 0, 0 } },
4526#endif
4527#if ENABLE(WEBGL)
4528 { "TEXTURE28", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DC) } },
4529#else
4530 { 0, 0, NoIntrinsic, { 0, 0 } },
4531#endif
4532#if ENABLE(WEBGL)
4533 { "TEXTURE29", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DD) } },
4534#else
4535 { 0, 0, NoIntrinsic, { 0, 0 } },
4536#endif
4537#if ENABLE(WEBGL)
4538 { "TEXTURE30", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DE) } },
4539#else
4540 { 0, 0, NoIntrinsic, { 0, 0 } },
4541#endif
4542#if ENABLE(WEBGL)
4543 { "TEXTURE31", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84DF) } },
4544#else
4545 { 0, 0, NoIntrinsic, { 0, 0 } },
4546#endif
4547#if ENABLE(WEBGL)
4548 { "ACTIVE_TEXTURE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84E0) } },
4549#else
4550 { 0, 0, NoIntrinsic, { 0, 0 } },
4551#endif
4552#if ENABLE(WEBGL)
4553 { "REPEAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x2901) } },
4554#else
4555 { 0, 0, NoIntrinsic, { 0, 0 } },
4556#endif
4557#if ENABLE(WEBGL)
4558 { "CLAMP_TO_EDGE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x812F) } },
4559#else
4560 { 0, 0, NoIntrinsic, { 0, 0 } },
4561#endif
4562#if ENABLE(WEBGL)
4563 { "MIRRORED_REPEAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8370) } },
4564#else
4565 { 0, 0, NoIntrinsic, { 0, 0 } },
4566#endif
4567#if ENABLE(WEBGL)
4568 { "FLOAT_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B50) } },
4569#else
4570 { 0, 0, NoIntrinsic, { 0, 0 } },
4571#endif
4572#if ENABLE(WEBGL)
4573 { "FLOAT_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B51) } },
4574#else
4575 { 0, 0, NoIntrinsic, { 0, 0 } },
4576#endif
4577#if ENABLE(WEBGL)
4578 { "FLOAT_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B52) } },
4579#else
4580 { 0, 0, NoIntrinsic, { 0, 0 } },
4581#endif
4582#if ENABLE(WEBGL)
4583 { "INT_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B53) } },
4584#else
4585 { 0, 0, NoIntrinsic, { 0, 0 } },
4586#endif
4587#if ENABLE(WEBGL)
4588 { "INT_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B54) } },
4589#else
4590 { 0, 0, NoIntrinsic, { 0, 0 } },
4591#endif
4592#if ENABLE(WEBGL)
4593 { "INT_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B55) } },
4594#else
4595 { 0, 0, NoIntrinsic, { 0, 0 } },
4596#endif
4597#if ENABLE(WEBGL)
4598 { "BOOL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B56) } },
4599#else
4600 { 0, 0, NoIntrinsic, { 0, 0 } },
4601#endif
4602#if ENABLE(WEBGL)
4603 { "BOOL_VEC2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B57) } },
4604#else
4605 { 0, 0, NoIntrinsic, { 0, 0 } },
4606#endif
4607#if ENABLE(WEBGL)
4608 { "BOOL_VEC3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B58) } },
4609#else
4610 { 0, 0, NoIntrinsic, { 0, 0 } },
4611#endif
4612#if ENABLE(WEBGL)
4613 { "BOOL_VEC4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B59) } },
4614#else
4615 { 0, 0, NoIntrinsic, { 0, 0 } },
4616#endif
4617#if ENABLE(WEBGL)
4618 { "FLOAT_MAT2", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5A) } },
4619#else
4620 { 0, 0, NoIntrinsic, { 0, 0 } },
4621#endif
4622#if ENABLE(WEBGL)
4623 { "FLOAT_MAT3", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5B) } },
4624#else
4625 { 0, 0, NoIntrinsic, { 0, 0 } },
4626#endif
4627#if ENABLE(WEBGL)
4628 { "FLOAT_MAT4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5C) } },
4629#else
4630 { 0, 0, NoIntrinsic, { 0, 0 } },
4631#endif
4632#if ENABLE(WEBGL)
4633 { "SAMPLER_2D", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B5E) } },
4634#else
4635 { 0, 0, NoIntrinsic, { 0, 0 } },
4636#endif
4637#if ENABLE(WEBGL)
4638 { "SAMPLER_CUBE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B60) } },
4639#else
4640 { 0, 0, NoIntrinsic, { 0, 0 } },
4641#endif
4642#if ENABLE(WEBGL)
4643 { "VERTEX_ATTRIB_ARRAY_ENABLED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8622) } },
4644#else
4645 { 0, 0, NoIntrinsic, { 0, 0 } },
4646#endif
4647#if ENABLE(WEBGL)
4648 { "VERTEX_ATTRIB_ARRAY_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8623) } },
4649#else
4650 { 0, 0, NoIntrinsic, { 0, 0 } },
4651#endif
4652#if ENABLE(WEBGL)
4653 { "VERTEX_ATTRIB_ARRAY_STRIDE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8624) } },
4654#else
4655 { 0, 0, NoIntrinsic, { 0, 0 } },
4656#endif
4657#if ENABLE(WEBGL)
4658 { "VERTEX_ATTRIB_ARRAY_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8625) } },
4659#else
4660 { 0, 0, NoIntrinsic, { 0, 0 } },
4661#endif
4662#if ENABLE(WEBGL)
4663 { "VERTEX_ATTRIB_ARRAY_NORMALIZED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x886A) } },
4664#else
4665 { 0, 0, NoIntrinsic, { 0, 0 } },
4666#endif
4667#if ENABLE(WEBGL)
4668 { "VERTEX_ATTRIB_ARRAY_POINTER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8645) } },
4669#else
4670 { 0, 0, NoIntrinsic, { 0, 0 } },
4671#endif
4672#if ENABLE(WEBGL)
4673 { "VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x889F) } },
4674#else
4675 { 0, 0, NoIntrinsic, { 0, 0 } },
4676#endif
4677#if ENABLE(WEBGL)
4678 { "IMPLEMENTATION_COLOR_READ_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B9A) } },
4679#else
4680 { 0, 0, NoIntrinsic, { 0, 0 } },
4681#endif
4682#if ENABLE(WEBGL)
4683 { "IMPLEMENTATION_COLOR_READ_FORMAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B9B) } },
4684#else
4685 { 0, 0, NoIntrinsic, { 0, 0 } },
4686#endif
4687#if ENABLE(WEBGL)
4688 { "COMPILE_STATUS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8B81) } },
4689#else
4690 { 0, 0, NoIntrinsic, { 0, 0 } },
4691#endif
4692#if ENABLE(WEBGL)
4693 { "LOW_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF0) } },
4694#else
4695 { 0, 0, NoIntrinsic, { 0, 0 } },
4696#endif
4697#if ENABLE(WEBGL)
4698 { "MEDIUM_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF1) } },
4699#else
4700 { 0, 0, NoIntrinsic, { 0, 0 } },
4701#endif
4702#if ENABLE(WEBGL)
4703 { "HIGH_FLOAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF2) } },
4704#else
4705 { 0, 0, NoIntrinsic, { 0, 0 } },
4706#endif
4707#if ENABLE(WEBGL)
4708 { "LOW_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF3) } },
4709#else
4710 { 0, 0, NoIntrinsic, { 0, 0 } },
4711#endif
4712#if ENABLE(WEBGL)
4713 { "MEDIUM_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF4) } },
4714#else
4715 { 0, 0, NoIntrinsic, { 0, 0 } },
4716#endif
4717#if ENABLE(WEBGL)
4718 { "HIGH_INT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8DF5) } },
4719#else
4720 { 0, 0, NoIntrinsic, { 0, 0 } },
4721#endif
4722#if ENABLE(WEBGL)
4723 { "FRAMEBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D40) } },
4724#else
4725 { 0, 0, NoIntrinsic, { 0, 0 } },
4726#endif
4727#if ENABLE(WEBGL)
4728 { "RENDERBUFFER", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D41) } },
4729#else
4730 { 0, 0, NoIntrinsic, { 0, 0 } },
4731#endif
4732#if ENABLE(WEBGL)
4733 { "RGBA4", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8056) } },
4734#else
4735 { 0, 0, NoIntrinsic, { 0, 0 } },
4736#endif
4737#if ENABLE(WEBGL)
4738 { "RGB5_A1", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8057) } },
4739#else
4740 { 0, 0, NoIntrinsic, { 0, 0 } },
4741#endif
4742#if ENABLE(WEBGL)
4743 { "RGB565", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D62) } },
4744#else
4745 { 0, 0, NoIntrinsic, { 0, 0 } },
4746#endif
4747#if ENABLE(WEBGL)
4748 { "DEPTH_COMPONENT16", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x81A5) } },
4749#else
4750 { 0, 0, NoIntrinsic, { 0, 0 } },
4751#endif
4752#if ENABLE(WEBGL)
4753 { "STENCIL_INDEX", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x1901) } },
4754#else
4755 { 0, 0, NoIntrinsic, { 0, 0 } },
4756#endif
4757#if ENABLE(WEBGL)
4758 { "STENCIL_INDEX8", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D48) } },
4759#else
4760 { 0, 0, NoIntrinsic, { 0, 0 } },
4761#endif
4762#if ENABLE(WEBGL)
4763 { "DEPTH_STENCIL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84F9) } },
4764#else
4765 { 0, 0, NoIntrinsic, { 0, 0 } },
4766#endif
4767#if ENABLE(WEBGL)
4768 { "RENDERBUFFER_WIDTH", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D42) } },
4769#else
4770 { 0, 0, NoIntrinsic, { 0, 0 } },
4771#endif
4772#if ENABLE(WEBGL)
4773 { "RENDERBUFFER_HEIGHT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D43) } },
4774#else
4775 { 0, 0, NoIntrinsic, { 0, 0 } },
4776#endif
4777#if ENABLE(WEBGL)
4778 { "RENDERBUFFER_INTERNAL_FORMAT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D44) } },
4779#else
4780 { 0, 0, NoIntrinsic, { 0, 0 } },
4781#endif
4782#if ENABLE(WEBGL)
4783 { "RENDERBUFFER_RED_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D50) } },
4784#else
4785 { 0, 0, NoIntrinsic, { 0, 0 } },
4786#endif
4787#if ENABLE(WEBGL)
4788 { "RENDERBUFFER_GREEN_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D51) } },
4789#else
4790 { 0, 0, NoIntrinsic, { 0, 0 } },
4791#endif
4792#if ENABLE(WEBGL)
4793 { "RENDERBUFFER_BLUE_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D52) } },
4794#else
4795 { 0, 0, NoIntrinsic, { 0, 0 } },
4796#endif
4797#if ENABLE(WEBGL)
4798 { "RENDERBUFFER_ALPHA_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D53) } },
4799#else
4800 { 0, 0, NoIntrinsic, { 0, 0 } },
4801#endif
4802#if ENABLE(WEBGL)
4803 { "RENDERBUFFER_DEPTH_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D54) } },
4804#else
4805 { 0, 0, NoIntrinsic, { 0, 0 } },
4806#endif
4807#if ENABLE(WEBGL)
4808 { "RENDERBUFFER_STENCIL_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D55) } },
4809#else
4810 { 0, 0, NoIntrinsic, { 0, 0 } },
4811#endif
4812#if ENABLE(WEBGL)
4813 { "FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD0) } },
4814#else
4815 { 0, 0, NoIntrinsic, { 0, 0 } },
4816#endif
4817#if ENABLE(WEBGL)
4818 { "FRAMEBUFFER_ATTACHMENT_OBJECT_NAME", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD1) } },
4819#else
4820 { 0, 0, NoIntrinsic, { 0, 0 } },
4821#endif
4822#if ENABLE(WEBGL)
4823 { "FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD2) } },
4824#else
4825 { 0, 0, NoIntrinsic, { 0, 0 } },
4826#endif
4827#if ENABLE(WEBGL)
4828 { "FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD3) } },
4829#else
4830 { 0, 0, NoIntrinsic, { 0, 0 } },
4831#endif
4832#if ENABLE(WEBGL)
4833 { "COLOR_ATTACHMENT0", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CE0) } },
4834#else
4835 { 0, 0, NoIntrinsic, { 0, 0 } },
4836#endif
4837#if ENABLE(WEBGL)
4838 { "DEPTH_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D00) } },
4839#else
4840 { 0, 0, NoIntrinsic, { 0, 0 } },
4841#endif
4842#if ENABLE(WEBGL)
4843 { "STENCIL_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8D20) } },
4844#else
4845 { 0, 0, NoIntrinsic, { 0, 0 } },
4846#endif
4847#if ENABLE(WEBGL)
4848 { "DEPTH_STENCIL_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x821A) } },
4849#else
4850 { 0, 0, NoIntrinsic, { 0, 0 } },
4851#endif
4852#if ENABLE(WEBGL)
4853 { "NONE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0) } },
4854#else
4855 { 0, 0, NoIntrinsic, { 0, 0 } },
4856#endif
4857#if ENABLE(WEBGL)
4858 { "FRAMEBUFFER_COMPLETE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD5) } },
4859#else
4860 { 0, 0, NoIntrinsic, { 0, 0 } },
4861#endif
4862#if ENABLE(WEBGL)
4863 { "FRAMEBUFFER_INCOMPLETE_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD6) } },
4864#else
4865 { 0, 0, NoIntrinsic, { 0, 0 } },
4866#endif
4867#if ENABLE(WEBGL)
4868 { "FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD7) } },
4869#else
4870 { 0, 0, NoIntrinsic, { 0, 0 } },
4871#endif
4872#if ENABLE(WEBGL)
4873 { "FRAMEBUFFER_INCOMPLETE_DIMENSIONS", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CD9) } },
4874#else
4875 { 0, 0, NoIntrinsic, { 0, 0 } },
4876#endif
4877#if ENABLE(WEBGL)
4878 { "FRAMEBUFFER_UNSUPPORTED", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CDD) } },
4879#else
4880 { 0, 0, NoIntrinsic, { 0, 0 } },
4881#endif
4882#if ENABLE(WEBGL)
4883 { "FRAMEBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA6) } },
4884#else
4885 { 0, 0, NoIntrinsic, { 0, 0 } },
4886#endif
4887#if ENABLE(WEBGL)
4888 { "RENDERBUFFER_BINDING", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x8CA7) } },
4889#else
4890 { 0, 0, NoIntrinsic, { 0, 0 } },
4891#endif
4892#if ENABLE(WEBGL)
4893 { "MAX_RENDERBUFFER_SIZE", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x84E8) } },
4894#else
4895 { 0, 0, NoIntrinsic, { 0, 0 } },
4896#endif
4897#if ENABLE(WEBGL)
4898 { "INVALID_FRAMEBUFFER_OPERATION", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x0506) } },
4899#else
4900 { 0, 0, NoIntrinsic, { 0, 0 } },
4901#endif
4902#if ENABLE(WEBGL)
4903 { "UNPACK_FLIP_Y_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9240) } },
4904#else
4905 { 0, 0, NoIntrinsic, { 0, 0 } },
4906#endif
4907#if ENABLE(WEBGL)
4908 { "UNPACK_PREMULTIPLY_ALPHA_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9241) } },
4909#else
4910 { 0, 0, NoIntrinsic, { 0, 0 } },
4911#endif
4912#if ENABLE(WEBGL)
4913 { "CONTEXT_LOST_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9242) } },
4914#else
4915 { 0, 0, NoIntrinsic, { 0, 0 } },
4916#endif
4917#if ENABLE(WEBGL)
4918 { "UNPACK_COLORSPACE_CONVERSION_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9243) } },
4919#else
4920 { 0, 0, NoIntrinsic, { 0, 0 } },
4921#endif
4922#if ENABLE(WEBGL)
4923 { "BROWSER_DEFAULT_WEBGL", JSC::PropertyAttribute::DontDelete | JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::ConstantInteger, NoIntrinsic, { (long long)(0x9244) } },
4924#else
4925 { 0, 0, NoIntrinsic, { 0, 0 } },
4926#endif
4927};
4928
4929const ClassInfo JSWebGL2RenderingContextPrototype::s_info = { "WebGL2RenderingContextPrototype", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebGL2RenderingContextPrototype) };
4930
4931void JSWebGL2RenderingContextPrototype::finishCreation(VM& vm)
4932{
4933 Base::finishCreation(vm);
4934 reifyStaticProperties(vm, JSWebGL2RenderingContext::info(), JSWebGL2RenderingContextPrototypeTableValues, *this);
4935}
4936
4937const ClassInfo JSWebGL2RenderingContext::s_info = { "WebGL2RenderingContext", &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSWebGL2RenderingContext) };
4938
4939JSWebGL2RenderingContext::JSWebGL2RenderingContext(Structure* structure, JSDOMGlobalObject& globalObject, Ref<WebGL2RenderingContext>&& impl)
4940 : JSDOMWrapper<WebGL2RenderingContext>(structure, globalObject, WTFMove(impl))
4941{
4942}
4943
4944void JSWebGL2RenderingContext::finishCreation(VM& vm)
4945{
4946 Base::finishCreation(vm);
4947 ASSERT(inherits(vm, info()));
4948
4949}
4950
4951JSObject* JSWebGL2RenderingContext::createPrototype(VM& vm, JSDOMGlobalObject& globalObject)
4952{
4953 return JSWebGL2RenderingContextPrototype::create(vm, &globalObject, JSWebGL2RenderingContextPrototype::createStructure(vm, &globalObject, globalObject.objectPrototype()));
4954}
4955
4956JSObject* JSWebGL2RenderingContext::prototype(VM& vm, JSDOMGlobalObject& globalObject)
4957{
4958 return getDOMPrototype<JSWebGL2RenderingContext>(vm, globalObject);
4959}
4960
4961JSValue JSWebGL2RenderingContext::getConstructor(VM& vm, const JSGlobalObject* globalObject)
4962{
4963 return getDOMConstructor<JSWebGL2RenderingContextConstructor>(vm, *jsCast<const JSDOMGlobalObject*>(globalObject));
4964}
4965
4966void JSWebGL2RenderingContext::destroy(JSC::JSCell* cell)
4967{
4968 JSWebGL2RenderingContext* thisObject = static_cast<JSWebGL2RenderingContext*>(cell);
4969 thisObject->JSWebGL2RenderingContext::~JSWebGL2RenderingContext();
4970}
4971
4972template<> inline JSWebGL2RenderingContext* IDLAttribute<JSWebGL2RenderingContext>::cast(ExecState& state, EncodedJSValue thisValue)
4973{
4974 return jsDynamicCast<JSWebGL2RenderingContext*>(state.vm(), JSValue::decode(thisValue));
4975}
4976
4977template<> inline JSWebGL2RenderingContext* IDLOperation<JSWebGL2RenderingContext>::cast(ExecState& state)
4978{
4979 return jsDynamicCast<JSWebGL2RenderingContext*>(state.vm(), state.thisValue());
4980}
4981
4982EncodedJSValue jsWebGL2RenderingContextConstructor(ExecState* state, EncodedJSValue thisValue, PropertyName)
4983{
4984 VM& vm = state->vm();
4985 auto throwScope = DECLARE_THROW_SCOPE(vm);
4986 auto* prototype = jsDynamicCast<JSWebGL2RenderingContextPrototype*>(vm, JSValue::decode(thisValue));
4987 if (UNLIKELY(!prototype))
4988 return throwVMTypeError(state, throwScope);
4989 return JSValue::encode(JSWebGL2RenderingContext::getConstructor(state->vm(), prototype->globalObject()));
4990}
4991
4992bool setJSWebGL2RenderingContextConstructor(ExecState* state, EncodedJSValue thisValue, EncodedJSValue encodedValue)
4993{
4994 VM& vm = state->vm();
4995 auto throwScope = DECLARE_THROW_SCOPE(vm);
4996 auto* prototype = jsDynamicCast<JSWebGL2RenderingContextPrototype*>(vm, JSValue::decode(thisValue));
4997 if (UNLIKELY(!prototype)) {
4998 throwVMTypeError(state, throwScope);
4999 return false;
5000 }
5001 // Shadowing a built-in constructor
5002 return prototype->putDirect(vm, vm.propertyNames->constructor, JSValue::decode(encodedValue));
5003}
5004
5005#if ENABLE(WEBGL)
5006static inline JSValue jsWebGL2RenderingContextCanvasGetter(ExecState& state, JSWebGL2RenderingContext& thisObject, ThrowScope& throwScope)
5007{
5008 UNUSED_PARAM(throwScope);
5009 UNUSED_PARAM(state);
5010 auto& impl = thisObject.wrapped();
5011 JSValue result = toJS<IDLUnion<IDLInterface<HTMLCanvasElement>, IDLInterface<OffscreenCanvas>>>(state, *thisObject.globalObject(), throwScope, impl.canvas());
5012 return result;
5013}
5014
5015EncodedJSValue jsWebGL2RenderingContextCanvas(ExecState* state, EncodedJSValue thisValue, PropertyName)
5016{
5017 return IDLAttribute<JSWebGL2RenderingContext>::get<jsWebGL2RenderingContextCanvasGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "canvas");
5018}
5019
5020#endif
5021
5022#if ENABLE(WEBGL)
5023static inline JSValue jsWebGL2RenderingContextDrawingBufferWidthGetter(ExecState& state, JSWebGL2RenderingContext& thisObject, ThrowScope& throwScope)
5024{
5025 UNUSED_PARAM(throwScope);
5026 UNUSED_PARAM(state);
5027 auto& impl = thisObject.wrapped();
5028 JSValue result = toJS<IDLLong>(state, throwScope, impl.drawingBufferWidth());
5029 return result;
5030}
5031
5032EncodedJSValue jsWebGL2RenderingContextDrawingBufferWidth(ExecState* state, EncodedJSValue thisValue, PropertyName)
5033{
5034 return IDLAttribute<JSWebGL2RenderingContext>::get<jsWebGL2RenderingContextDrawingBufferWidthGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "drawingBufferWidth");
5035}
5036
5037#endif
5038
5039#if ENABLE(WEBGL)
5040static inline JSValue jsWebGL2RenderingContextDrawingBufferHeightGetter(ExecState& state, JSWebGL2RenderingContext& thisObject, ThrowScope& throwScope)
5041{
5042 UNUSED_PARAM(throwScope);
5043 UNUSED_PARAM(state);
5044 auto& impl = thisObject.wrapped();
5045 JSValue result = toJS<IDLLong>(state, throwScope, impl.drawingBufferHeight());
5046 return result;
5047}
5048
5049EncodedJSValue jsWebGL2RenderingContextDrawingBufferHeight(ExecState* state, EncodedJSValue thisValue, PropertyName)
5050{
5051 return IDLAttribute<JSWebGL2RenderingContext>::get<jsWebGL2RenderingContextDrawingBufferHeightGetter, CastedThisErrorBehavior::Assert>(*state, thisValue, "drawingBufferHeight");
5052}
5053
5054#endif
5055
5056static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBufferData1Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5057{
5058 UNUSED_PARAM(state);
5059 UNUSED_PARAM(throwScope);
5060 auto& impl = castedThis->wrapped();
5061 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5062 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5063 auto data = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "data", "WebGL2RenderingContext", "bufferData", "ArrayBufferView"); });
5064 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5065 auto usage = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
5066 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5067 auto srcOffset = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
5068 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5069 auto length = convert<IDLUnsignedLong>(*state, state->argument(4));
5070 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5071 if (UNLIKELY(impl.callTracingActive())) {
5072 Vector<RecordCanvasActionVariant> callTracerParameters;
5073 callTracerParameters.append(target);
5074 callTracerParameters.append(data);
5075 callTracerParameters.append(usage);
5076 callTracerParameters.append(srcOffset);
5077 callTracerParameters.append(length);
5078 CallTracer::recordCanvasAction(impl, "bufferData"_s, WTFMove(callTracerParameters));
5079 }
5080 impl.bufferData(WTFMove(target), data.releaseNonNull(), WTFMove(usage), WTFMove(srcOffset), WTFMove(length));
5081 return JSValue::encode(jsUndefined());
5082}
5083
5084static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBufferSubData1Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5085{
5086 UNUSED_PARAM(state);
5087 UNUSED_PARAM(throwScope);
5088 auto& impl = castedThis->wrapped();
5089 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5090 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5091 auto dstByteOffset = convert<IDLLongLong>(*state, state->uncheckedArgument(1));
5092 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5093 auto srcData = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(2), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 2, "srcData", "WebGL2RenderingContext", "bufferSubData", "ArrayBufferView"); });
5094 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5095 auto srcOffset = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
5096 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5097 auto length = convert<IDLUnsignedLong>(*state, state->argument(4));
5098 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5099 if (UNLIKELY(impl.callTracingActive())) {
5100 Vector<RecordCanvasActionVariant> callTracerParameters;
5101 callTracerParameters.append(target);
5102 callTracerParameters.append(dstByteOffset);
5103 callTracerParameters.append(srcData);
5104 callTracerParameters.append(srcOffset);
5105 callTracerParameters.append(length);
5106 CallTracer::recordCanvasAction(impl, "bufferSubData"_s, WTFMove(callTracerParameters));
5107 }
5108 impl.bufferSubData(WTFMove(target), WTFMove(dstByteOffset), srcData.releaseNonNull(), WTFMove(srcOffset), WTFMove(length));
5109 return JSValue::encode(jsUndefined());
5110}
5111
5112static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCopyBufferSubDataBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5113{
5114 UNUSED_PARAM(state);
5115 UNUSED_PARAM(throwScope);
5116 auto& impl = castedThis->wrapped();
5117 if (UNLIKELY(state->argumentCount() < 5))
5118 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5119 auto readTarget = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5120 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5121 auto writeTarget = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
5122 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5123 auto readOffset = convert<IDLLongLong>(*state, state->uncheckedArgument(2));
5124 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5125 auto writeOffset = convert<IDLLongLong>(*state, state->uncheckedArgument(3));
5126 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5127 auto size = convert<IDLLongLong>(*state, state->uncheckedArgument(4));
5128 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5129 if (UNLIKELY(impl.callTracingActive())) {
5130 Vector<RecordCanvasActionVariant> callTracerParameters;
5131 callTracerParameters.append(readTarget);
5132 callTracerParameters.append(writeTarget);
5133 callTracerParameters.append(readOffset);
5134 callTracerParameters.append(writeOffset);
5135 callTracerParameters.append(size);
5136 CallTracer::recordCanvasAction(impl, "copyBufferSubData"_s, WTFMove(callTracerParameters));
5137 }
5138 impl.copyBufferSubData(WTFMove(readTarget), WTFMove(writeTarget), WTFMove(readOffset), WTFMove(writeOffset), WTFMove(size));
5139 return JSValue::encode(jsUndefined());
5140}
5141
5142EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCopyBufferSubData(ExecState* state)
5143{
5144 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCopyBufferSubDataBody>(*state, "copyBufferSubData");
5145}
5146
5147static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetBufferSubDataBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5148{
5149 UNUSED_PARAM(state);
5150 UNUSED_PARAM(throwScope);
5151 auto& impl = castedThis->wrapped();
5152 if (UNLIKELY(state->argumentCount() < 3))
5153 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5154 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5155 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5156 auto srcByteOffset = convert<IDLLongLong>(*state, state->uncheckedArgument(1));
5157 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5158 auto dstData = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(2), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 2, "dstData", "WebGL2RenderingContext", "getBufferSubData", "ArrayBufferView"); });
5159 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5160 auto dstOffset = convert<IDLUnsignedLong>(*state, state->argument(3));
5161 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5162 auto length = convert<IDLUnsignedLong>(*state, state->argument(4));
5163 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5164 if (UNLIKELY(impl.callTracingActive())) {
5165 Vector<RecordCanvasActionVariant> callTracerParameters;
5166 callTracerParameters.append(target);
5167 callTracerParameters.append(srcByteOffset);
5168 callTracerParameters.append(dstData);
5169 callTracerParameters.append(dstOffset);
5170 callTracerParameters.append(length);
5171 CallTracer::recordCanvasAction(impl, "getBufferSubData"_s, WTFMove(callTracerParameters));
5172 }
5173 impl.getBufferSubData(WTFMove(target), WTFMove(srcByteOffset), dstData.releaseNonNull(), WTFMove(dstOffset), WTFMove(length));
5174 return JSValue::encode(jsUndefined());
5175}
5176
5177EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetBufferSubData(ExecState* state)
5178{
5179 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetBufferSubDataBody>(*state, "getBufferSubData");
5180}
5181
5182static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBlitFramebufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5183{
5184 UNUSED_PARAM(state);
5185 UNUSED_PARAM(throwScope);
5186 auto& impl = castedThis->wrapped();
5187 if (UNLIKELY(state->argumentCount() < 10))
5188 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5189 auto srcX0 = convert<IDLLong>(*state, state->uncheckedArgument(0));
5190 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5191 auto srcY0 = convert<IDLLong>(*state, state->uncheckedArgument(1));
5192 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5193 auto srcX1 = convert<IDLLong>(*state, state->uncheckedArgument(2));
5194 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5195 auto srcY1 = convert<IDLLong>(*state, state->uncheckedArgument(3));
5196 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5197 auto dstX0 = convert<IDLLong>(*state, state->uncheckedArgument(4));
5198 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5199 auto dstY0 = convert<IDLLong>(*state, state->uncheckedArgument(5));
5200 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5201 auto dstX1 = convert<IDLLong>(*state, state->uncheckedArgument(6));
5202 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5203 auto dstY1 = convert<IDLLong>(*state, state->uncheckedArgument(7));
5204 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5205 auto mask = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(8));
5206 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5207 auto filter = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(9));
5208 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5209 if (UNLIKELY(impl.callTracingActive())) {
5210 Vector<RecordCanvasActionVariant> callTracerParameters;
5211 callTracerParameters.append(srcX0);
5212 callTracerParameters.append(srcY0);
5213 callTracerParameters.append(srcX1);
5214 callTracerParameters.append(srcY1);
5215 callTracerParameters.append(dstX0);
5216 callTracerParameters.append(dstY0);
5217 callTracerParameters.append(dstX1);
5218 callTracerParameters.append(dstY1);
5219 callTracerParameters.append(mask);
5220 callTracerParameters.append(filter);
5221 CallTracer::recordCanvasAction(impl, "blitFramebuffer"_s, WTFMove(callTracerParameters));
5222 }
5223 impl.blitFramebuffer(WTFMove(srcX0), WTFMove(srcY0), WTFMove(srcX1), WTFMove(srcY1), WTFMove(dstX0), WTFMove(dstY0), WTFMove(dstX1), WTFMove(dstY1), WTFMove(mask), WTFMove(filter));
5224 return JSValue::encode(jsUndefined());
5225}
5226
5227EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlitFramebuffer(ExecState* state)
5228{
5229 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBlitFramebufferBody>(*state, "blitFramebuffer");
5230}
5231
5232static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionFramebufferTextureLayerBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5233{
5234 UNUSED_PARAM(state);
5235 UNUSED_PARAM(throwScope);
5236 auto& impl = castedThis->wrapped();
5237 if (UNLIKELY(state->argumentCount() < 5))
5238 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5239 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5240 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5241 auto attachment = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
5242 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5243 auto texture = convert<IDLNullable<IDLInterface<WebGLTexture>>>(*state, state->uncheckedArgument(2), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 2, "texture", "WebGL2RenderingContext", "framebufferTextureLayer", "WebGLTexture"); });
5244 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5245 auto level = convert<IDLLong>(*state, state->uncheckedArgument(3));
5246 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5247 auto layer = convert<IDLLong>(*state, state->uncheckedArgument(4));
5248 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5249 if (UNLIKELY(impl.callTracingActive())) {
5250 Vector<RecordCanvasActionVariant> callTracerParameters;
5251 callTracerParameters.append(target);
5252 callTracerParameters.append(attachment);
5253 if (texture)
5254 callTracerParameters.append(texture);
5255 callTracerParameters.append(level);
5256 callTracerParameters.append(layer);
5257 CallTracer::recordCanvasAction(impl, "framebufferTextureLayer"_s, WTFMove(callTracerParameters));
5258 }
5259 impl.framebufferTextureLayer(WTFMove(target), WTFMove(attachment), WTFMove(texture), WTFMove(level), WTFMove(layer));
5260 return JSValue::encode(jsUndefined());
5261}
5262
5263EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFramebufferTextureLayer(ExecState* state)
5264{
5265 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionFramebufferTextureLayerBody>(*state, "framebufferTextureLayer");
5266}
5267
5268static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionInvalidateFramebufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5269{
5270 UNUSED_PARAM(state);
5271 UNUSED_PARAM(throwScope);
5272 auto& impl = castedThis->wrapped();
5273 if (UNLIKELY(state->argumentCount() < 2))
5274 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5275 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5276 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5277 auto attachments = convert<IDLSequence<IDLUnsignedLong>>(*state, state->uncheckedArgument(1));
5278 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5279 if (UNLIKELY(impl.callTracingActive())) {
5280 Vector<RecordCanvasActionVariant> callTracerParameters;
5281 callTracerParameters.append(target);
5282 callTracerParameters.append(attachments);
5283 CallTracer::recordCanvasAction(impl, "invalidateFramebuffer"_s, WTFMove(callTracerParameters));
5284 }
5285 impl.invalidateFramebuffer(WTFMove(target), WTFMove(attachments));
5286 return JSValue::encode(jsUndefined());
5287}
5288
5289EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionInvalidateFramebuffer(ExecState* state)
5290{
5291 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionInvalidateFramebufferBody>(*state, "invalidateFramebuffer");
5292}
5293
5294static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionInvalidateSubFramebufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5295{
5296 UNUSED_PARAM(state);
5297 UNUSED_PARAM(throwScope);
5298 auto& impl = castedThis->wrapped();
5299 if (UNLIKELY(state->argumentCount() < 6))
5300 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5301 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5302 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5303 auto attachments = convert<IDLSequence<IDLUnsignedLong>>(*state, state->uncheckedArgument(1));
5304 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5305 auto x = convert<IDLLong>(*state, state->uncheckedArgument(2));
5306 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5307 auto y = convert<IDLLong>(*state, state->uncheckedArgument(3));
5308 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5309 auto width = convert<IDLLong>(*state, state->uncheckedArgument(4));
5310 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5311 auto height = convert<IDLLong>(*state, state->uncheckedArgument(5));
5312 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5313 if (UNLIKELY(impl.callTracingActive())) {
5314 Vector<RecordCanvasActionVariant> callTracerParameters;
5315 callTracerParameters.append(target);
5316 callTracerParameters.append(attachments);
5317 callTracerParameters.append(x);
5318 callTracerParameters.append(y);
5319 callTracerParameters.append(width);
5320 callTracerParameters.append(height);
5321 CallTracer::recordCanvasAction(impl, "invalidateSubFramebuffer"_s, WTFMove(callTracerParameters));
5322 }
5323 impl.invalidateSubFramebuffer(WTFMove(target), WTFMove(attachments), WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height));
5324 return JSValue::encode(jsUndefined());
5325}
5326
5327EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionInvalidateSubFramebuffer(ExecState* state)
5328{
5329 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionInvalidateSubFramebufferBody>(*state, "invalidateSubFramebuffer");
5330}
5331
5332static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionReadBufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5333{
5334 UNUSED_PARAM(state);
5335 UNUSED_PARAM(throwScope);
5336 auto& impl = castedThis->wrapped();
5337 if (UNLIKELY(state->argumentCount() < 1))
5338 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5339 auto src = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5340 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5341 if (UNLIKELY(impl.callTracingActive())) {
5342 Vector<RecordCanvasActionVariant> callTracerParameters;
5343 callTracerParameters.append(src);
5344 CallTracer::recordCanvasAction(impl, "readBuffer"_s, WTFMove(callTracerParameters));
5345 }
5346 impl.readBuffer(WTFMove(src));
5347 return JSValue::encode(jsUndefined());
5348}
5349
5350EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionReadBuffer(ExecState* state)
5351{
5352 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionReadBufferBody>(*state, "readBuffer");
5353}
5354
5355static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetInternalformatParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5356{
5357 UNUSED_PARAM(state);
5358 UNUSED_PARAM(throwScope);
5359 auto& impl = castedThis->wrapped();
5360 if (UNLIKELY(state->argumentCount() < 3))
5361 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5362 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5363 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5364 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
5365 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5366 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
5367 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5368 if (UNLIKELY(impl.callTracingActive())) {
5369 Vector<RecordCanvasActionVariant> callTracerParameters;
5370 callTracerParameters.append(target);
5371 callTracerParameters.append(internalformat);
5372 callTracerParameters.append(pname);
5373 CallTracer::recordCanvasAction(impl, "getInternalformatParameter"_s, WTFMove(callTracerParameters));
5374 }
5375 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getInternalformatParameter(WTFMove(target), WTFMove(internalformat), WTFMove(pname))));
5376}
5377
5378EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetInternalformatParameter(ExecState* state)
5379{
5380 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetInternalformatParameterBody>(*state, "getInternalformatParameter");
5381}
5382
5383static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionRenderbufferStorageMultisampleBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5384{
5385 UNUSED_PARAM(state);
5386 UNUSED_PARAM(throwScope);
5387 auto& impl = castedThis->wrapped();
5388 if (UNLIKELY(state->argumentCount() < 5))
5389 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5390 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5391 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5392 auto samples = convert<IDLLong>(*state, state->uncheckedArgument(1));
5393 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5394 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
5395 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5396 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
5397 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5398 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
5399 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5400 if (UNLIKELY(impl.callTracingActive())) {
5401 Vector<RecordCanvasActionVariant> callTracerParameters;
5402 callTracerParameters.append(target);
5403 callTracerParameters.append(samples);
5404 callTracerParameters.append(internalformat);
5405 callTracerParameters.append(width);
5406 callTracerParameters.append(height);
5407 CallTracer::recordCanvasAction(impl, "renderbufferStorageMultisample"_s, WTFMove(callTracerParameters));
5408 }
5409 impl.renderbufferStorageMultisample(WTFMove(target), WTFMove(samples), WTFMove(internalformat), WTFMove(width), WTFMove(height));
5410 return JSValue::encode(jsUndefined());
5411}
5412
5413EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionRenderbufferStorageMultisample(ExecState* state)
5414{
5415 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionRenderbufferStorageMultisampleBody>(*state, "renderbufferStorageMultisample");
5416}
5417
5418static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexStorage2DBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5419{
5420 UNUSED_PARAM(state);
5421 UNUSED_PARAM(throwScope);
5422 auto& impl = castedThis->wrapped();
5423 if (UNLIKELY(state->argumentCount() < 5))
5424 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5425 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5426 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5427 auto levels = convert<IDLLong>(*state, state->uncheckedArgument(1));
5428 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5429 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
5430 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5431 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
5432 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5433 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
5434 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5435 if (UNLIKELY(impl.callTracingActive())) {
5436 Vector<RecordCanvasActionVariant> callTracerParameters;
5437 callTracerParameters.append(target);
5438 callTracerParameters.append(levels);
5439 callTracerParameters.append(internalformat);
5440 callTracerParameters.append(width);
5441 callTracerParameters.append(height);
5442 CallTracer::recordCanvasAction(impl, "texStorage2D"_s, WTFMove(callTracerParameters));
5443 }
5444 impl.texStorage2D(WTFMove(target), WTFMove(levels), WTFMove(internalformat), WTFMove(width), WTFMove(height));
5445 return JSValue::encode(jsUndefined());
5446}
5447
5448EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexStorage2D(ExecState* state)
5449{
5450 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionTexStorage2DBody>(*state, "texStorage2D");
5451}
5452
5453static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexStorage3DBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5454{
5455 UNUSED_PARAM(state);
5456 UNUSED_PARAM(throwScope);
5457 auto& impl = castedThis->wrapped();
5458 if (UNLIKELY(state->argumentCount() < 6))
5459 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
5460 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5461 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5462 auto levels = convert<IDLLong>(*state, state->uncheckedArgument(1));
5463 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5464 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
5465 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5466 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
5467 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5468 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
5469 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5470 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(5));
5471 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5472 if (UNLIKELY(impl.callTracingActive())) {
5473 Vector<RecordCanvasActionVariant> callTracerParameters;
5474 callTracerParameters.append(target);
5475 callTracerParameters.append(levels);
5476 callTracerParameters.append(internalformat);
5477 callTracerParameters.append(width);
5478 callTracerParameters.append(height);
5479 callTracerParameters.append(depth);
5480 CallTracer::recordCanvasAction(impl, "texStorage3D"_s, WTFMove(callTracerParameters));
5481 }
5482 impl.texStorage3D(WTFMove(target), WTFMove(levels), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(depth));
5483 return JSValue::encode(jsUndefined());
5484}
5485
5486EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexStorage3D(ExecState* state)
5487{
5488 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionTexStorage3DBody>(*state, "texStorage3D");
5489}
5490
5491static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexImage2D1Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5492{
5493 UNUSED_PARAM(state);
5494 UNUSED_PARAM(throwScope);
5495 auto& impl = castedThis->wrapped();
5496 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5497 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5498 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5499 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5500 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
5501 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5502 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
5503 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5504 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
5505 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5506 auto border = convert<IDLLong>(*state, state->uncheckedArgument(5));
5507 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5508 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
5509 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5510 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
5511 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5512 auto pixels = convert<IDLNullable<IDLArrayBufferView>>(*state, state->uncheckedArgument(8), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 8, "pixels", "WebGL2RenderingContext", "texImage2D", "ArrayBufferView"); });
5513 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5514 if (UNLIKELY(impl.callTracingActive())) {
5515 Vector<RecordCanvasActionVariant> callTracerParameters;
5516 callTracerParameters.append(target);
5517 callTracerParameters.append(level);
5518 callTracerParameters.append(internalformat);
5519 callTracerParameters.append(width);
5520 callTracerParameters.append(height);
5521 callTracerParameters.append(border);
5522 callTracerParameters.append(format);
5523 callTracerParameters.append(type);
5524 if (pixels)
5525 callTracerParameters.append(pixels);
5526 CallTracer::recordCanvasAction(impl, "texImage2D"_s, WTFMove(callTracerParameters));
5527 }
5528 impl.texImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(border), WTFMove(format), WTFMove(type), WTFMove(pixels));
5529 return JSValue::encode(jsUndefined());
5530}
5531
5532static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexImage2D2Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5533{
5534 UNUSED_PARAM(state);
5535 UNUSED_PARAM(throwScope);
5536 auto& impl = castedThis->wrapped();
5537 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5538 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5539 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5540 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5541 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
5542 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5543 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
5544 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5545 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(4));
5546 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5547 auto source = convert<IDLNullable<IDLUnion<IDLInterface<ImageBitmap>, IDLInterface<ImageData>, IDLInterface<HTMLImageElement>, IDLInterface<HTMLCanvasElement>, IDLInterface<HTMLVideoElement>>>>(*state, state->uncheckedArgument(5));
5548 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5549 if (UNLIKELY(impl.callTracingActive())) {
5550 Vector<RecordCanvasActionVariant> callTracerParameters;
5551 callTracerParameters.append(target);
5552 callTracerParameters.append(level);
5553 callTracerParameters.append(internalformat);
5554 callTracerParameters.append(format);
5555 callTracerParameters.append(type);
5556 if (source)
5557 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, *source);
5558 CallTracer::recordCanvasAction(impl, "texImage2D"_s, WTFMove(callTracerParameters));
5559 }
5560 propagateException(*state, throwScope, impl.texImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(format), WTFMove(type), WTFMove(source)));
5561 return JSValue::encode(jsUndefined());
5562}
5563
5564static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D1Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5565{
5566 UNUSED_PARAM(state);
5567 UNUSED_PARAM(throwScope);
5568 auto& impl = castedThis->wrapped();
5569 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5570 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5571 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5572 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5573 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
5574 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5575 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
5576 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5577 auto width = convert<IDLLong>(*state, state->uncheckedArgument(4));
5578 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5579 auto height = convert<IDLLong>(*state, state->uncheckedArgument(5));
5580 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5581 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
5582 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5583 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
5584 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5585 auto pixels = convert<IDLNullable<IDLArrayBufferView>>(*state, state->uncheckedArgument(8), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 8, "pixels", "WebGL2RenderingContext", "texSubImage2D", "ArrayBufferView"); });
5586 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5587 if (UNLIKELY(impl.callTracingActive())) {
5588 Vector<RecordCanvasActionVariant> callTracerParameters;
5589 callTracerParameters.append(target);
5590 callTracerParameters.append(level);
5591 callTracerParameters.append(xoffset);
5592 callTracerParameters.append(yoffset);
5593 callTracerParameters.append(width);
5594 callTracerParameters.append(height);
5595 callTracerParameters.append(format);
5596 callTracerParameters.append(type);
5597 if (pixels)
5598 callTracerParameters.append(pixels);
5599 CallTracer::recordCanvasAction(impl, "texSubImage2D"_s, WTFMove(callTracerParameters));
5600 }
5601 impl.texSubImage2D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(width), WTFMove(height), WTFMove(format), WTFMove(type), WTFMove(pixels));
5602 return JSValue::encode(jsUndefined());
5603}
5604
5605static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D2Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5606{
5607 UNUSED_PARAM(state);
5608 UNUSED_PARAM(throwScope);
5609 auto& impl = castedThis->wrapped();
5610 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5611 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5612 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5613 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5614 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
5615 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5616 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
5617 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5618 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(4));
5619 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5620 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(5));
5621 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5622 auto source = convert<IDLNullable<IDLUnion<IDLInterface<ImageBitmap>, IDLInterface<ImageData>, IDLInterface<HTMLImageElement>, IDLInterface<HTMLCanvasElement>, IDLInterface<HTMLVideoElement>>>>(*state, state->uncheckedArgument(6));
5623 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5624 if (UNLIKELY(impl.callTracingActive())) {
5625 Vector<RecordCanvasActionVariant> callTracerParameters;
5626 callTracerParameters.append(target);
5627 callTracerParameters.append(level);
5628 callTracerParameters.append(xoffset);
5629 callTracerParameters.append(yoffset);
5630 callTracerParameters.append(format);
5631 callTracerParameters.append(type);
5632 if (source)
5633 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, *source);
5634 CallTracer::recordCanvasAction(impl, "texSubImage2D"_s, WTFMove(callTracerParameters));
5635 }
5636 propagateException(*state, throwScope, impl.texSubImage2D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(format), WTFMove(type), WTFMove(source)));
5637 return JSValue::encode(jsUndefined());
5638}
5639
5640static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexImage2D3Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5641{
5642 UNUSED_PARAM(state);
5643 UNUSED_PARAM(throwScope);
5644 auto& impl = castedThis->wrapped();
5645 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5646 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5647 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5648 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5649 auto internalformat = convert<IDLLong>(*state, state->uncheckedArgument(2));
5650 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5651 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
5652 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5653 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
5654 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5655 auto border = convert<IDLLong>(*state, state->uncheckedArgument(5));
5656 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5657 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
5658 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5659 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
5660 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5661 auto pboOffset = convert<IDLLongLong>(*state, state->uncheckedArgument(8));
5662 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5663 if (UNLIKELY(impl.callTracingActive())) {
5664 Vector<RecordCanvasActionVariant> callTracerParameters;
5665 callTracerParameters.append(target);
5666 callTracerParameters.append(level);
5667 callTracerParameters.append(internalformat);
5668 callTracerParameters.append(width);
5669 callTracerParameters.append(height);
5670 callTracerParameters.append(border);
5671 callTracerParameters.append(format);
5672 callTracerParameters.append(type);
5673 callTracerParameters.append(pboOffset);
5674 CallTracer::recordCanvasAction(impl, "texImage2D"_s, WTFMove(callTracerParameters));
5675 }
5676 impl.texImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(border), WTFMove(format), WTFMove(type), WTFMove(pboOffset));
5677 return JSValue::encode(jsUndefined());
5678}
5679
5680static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexImage2D4Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5681{
5682 UNUSED_PARAM(state);
5683 UNUSED_PARAM(throwScope);
5684 auto& impl = castedThis->wrapped();
5685 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5686 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5687 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5688 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5689 auto internalformat = convert<IDLLong>(*state, state->uncheckedArgument(2));
5690 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5691 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
5692 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5693 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
5694 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5695 auto border = convert<IDLLong>(*state, state->uncheckedArgument(5));
5696 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5697 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
5698 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5699 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
5700 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5701 auto source = convert<IDLUnion<IDLInterface<ImageBitmap>, IDLInterface<ImageData>, IDLInterface<HTMLImageElement>, IDLInterface<HTMLCanvasElement>, IDLInterface<HTMLVideoElement>>>(*state, state->uncheckedArgument(8));
5702 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5703 if (UNLIKELY(impl.callTracingActive())) {
5704 Vector<RecordCanvasActionVariant> callTracerParameters;
5705 callTracerParameters.append(target);
5706 callTracerParameters.append(level);
5707 callTracerParameters.append(internalformat);
5708 callTracerParameters.append(width);
5709 callTracerParameters.append(height);
5710 callTracerParameters.append(border);
5711 callTracerParameters.append(format);
5712 callTracerParameters.append(type);
5713 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, source);
5714 CallTracer::recordCanvasAction(impl, "texImage2D"_s, WTFMove(callTracerParameters));
5715 }
5716 impl.texImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(border), WTFMove(format), WTFMove(type), WTFMove(source));
5717 return JSValue::encode(jsUndefined());
5718}
5719
5720static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexImage2D5Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5721{
5722 UNUSED_PARAM(state);
5723 UNUSED_PARAM(throwScope);
5724 auto& impl = castedThis->wrapped();
5725 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5726 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5727 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5728 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5729 auto internalformat = convert<IDLLong>(*state, state->uncheckedArgument(2));
5730 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5731 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
5732 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5733 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
5734 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5735 auto border = convert<IDLLong>(*state, state->uncheckedArgument(5));
5736 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5737 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
5738 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5739 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
5740 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5741 auto srcData = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(8), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 8, "srcData", "WebGL2RenderingContext", "texImage2D", "ArrayBufferView"); });
5742 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5743 auto srcOffset = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(9));
5744 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5745 if (UNLIKELY(impl.callTracingActive())) {
5746 Vector<RecordCanvasActionVariant> callTracerParameters;
5747 callTracerParameters.append(target);
5748 callTracerParameters.append(level);
5749 callTracerParameters.append(internalformat);
5750 callTracerParameters.append(width);
5751 callTracerParameters.append(height);
5752 callTracerParameters.append(border);
5753 callTracerParameters.append(format);
5754 callTracerParameters.append(type);
5755 callTracerParameters.append(srcData);
5756 callTracerParameters.append(srcOffset);
5757 CallTracer::recordCanvasAction(impl, "texImage2D"_s, WTFMove(callTracerParameters));
5758 }
5759 impl.texImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(border), WTFMove(format), WTFMove(type), srcData.releaseNonNull(), WTFMove(srcOffset));
5760 return JSValue::encode(jsUndefined());
5761}
5762
5763static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexImage2DOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5764{
5765 UNUSED_PARAM(state);
5766 UNUSED_PARAM(throwScope);
5767 VM& vm = state->vm();
5768 UNUSED_PARAM(vm);
5769 size_t argsCount = std::min<size_t>(10, state->argumentCount());
5770 if (argsCount == 10) {
5771 return jsWebGL2RenderingContextPrototypeFunctionTexImage2D5Body(state, castedThis, throwScope);
5772 }
5773 if (argsCount == 6) {
5774 return jsWebGL2RenderingContextPrototypeFunctionTexImage2D2Body(state, castedThis, throwScope);
5775 }
5776 if (argsCount == 9) {
5777 JSValue distinguishingArg = state->uncheckedArgument(8);
5778 if (distinguishingArg.isUndefinedOrNull())
5779 return jsWebGL2RenderingContextPrototypeFunctionTexImage2D1Body(state, castedThis, throwScope);
5780 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSArrayBufferView>(vm))
5781 return jsWebGL2RenderingContextPrototypeFunctionTexImage2D1Body(state, castedThis, throwScope);
5782 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSImageBitmap>(vm))
5783 return jsWebGL2RenderingContextPrototypeFunctionTexImage2D4Body(state, castedThis, throwScope);
5784 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSImageData>(vm))
5785 return jsWebGL2RenderingContextPrototypeFunctionTexImage2D4Body(state, castedThis, throwScope);
5786 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLImageElement>(vm))
5787 return jsWebGL2RenderingContextPrototypeFunctionTexImage2D4Body(state, castedThis, throwScope);
5788 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLCanvasElement>(vm))
5789 return jsWebGL2RenderingContextPrototypeFunctionTexImage2D4Body(state, castedThis, throwScope);
5790 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLVideoElement>(vm))
5791 return jsWebGL2RenderingContextPrototypeFunctionTexImage2D4Body(state, castedThis, throwScope);
5792 if (distinguishingArg.isNumber())
5793 return jsWebGL2RenderingContextPrototypeFunctionTexImage2D3Body(state, castedThis, throwScope);
5794 return jsWebGL2RenderingContextPrototypeFunctionTexImage2D3Body(state, castedThis, throwScope);
5795 }
5796 return argsCount < 6 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
5797}
5798
5799EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexImage2D(ExecState* state)
5800{
5801 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionTexImage2DOverloadDispatcher>(*state, "texImage2D");
5802}
5803
5804static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexImage3D1Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5805{
5806 UNUSED_PARAM(state);
5807 UNUSED_PARAM(throwScope);
5808 auto& impl = castedThis->wrapped();
5809 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5810 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5811 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5812 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5813 auto internalformat = convert<IDLLong>(*state, state->uncheckedArgument(2));
5814 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5815 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
5816 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5817 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
5818 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5819 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(5));
5820 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5821 auto border = convert<IDLLong>(*state, state->uncheckedArgument(6));
5822 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5823 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
5824 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5825 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(8));
5826 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5827 auto pboOffset = convert<IDLLongLong>(*state, state->uncheckedArgument(9));
5828 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5829 if (UNLIKELY(impl.callTracingActive())) {
5830 Vector<RecordCanvasActionVariant> callTracerParameters;
5831 callTracerParameters.append(target);
5832 callTracerParameters.append(level);
5833 callTracerParameters.append(internalformat);
5834 callTracerParameters.append(width);
5835 callTracerParameters.append(height);
5836 callTracerParameters.append(depth);
5837 callTracerParameters.append(border);
5838 callTracerParameters.append(format);
5839 callTracerParameters.append(type);
5840 callTracerParameters.append(pboOffset);
5841 CallTracer::recordCanvasAction(impl, "texImage3D"_s, WTFMove(callTracerParameters));
5842 }
5843 impl.texImage3D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(depth), WTFMove(border), WTFMove(format), WTFMove(type), WTFMove(pboOffset));
5844 return JSValue::encode(jsUndefined());
5845}
5846
5847static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexImage3D2Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5848{
5849 UNUSED_PARAM(state);
5850 UNUSED_PARAM(throwScope);
5851 auto& impl = castedThis->wrapped();
5852 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5853 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5854 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5855 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5856 auto internalformat = convert<IDLLong>(*state, state->uncheckedArgument(2));
5857 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5858 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
5859 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5860 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
5861 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5862 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(5));
5863 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5864 auto border = convert<IDLLong>(*state, state->uncheckedArgument(6));
5865 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5866 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
5867 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5868 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(8));
5869 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5870 auto source = convert<IDLUnion<IDLInterface<ImageBitmap>, IDLInterface<ImageData>, IDLInterface<HTMLImageElement>, IDLInterface<HTMLCanvasElement>, IDLInterface<HTMLVideoElement>>>(*state, state->uncheckedArgument(9));
5871 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5872 if (UNLIKELY(impl.callTracingActive())) {
5873 Vector<RecordCanvasActionVariant> callTracerParameters;
5874 callTracerParameters.append(target);
5875 callTracerParameters.append(level);
5876 callTracerParameters.append(internalformat);
5877 callTracerParameters.append(width);
5878 callTracerParameters.append(height);
5879 callTracerParameters.append(depth);
5880 callTracerParameters.append(border);
5881 callTracerParameters.append(format);
5882 callTracerParameters.append(type);
5883 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, source);
5884 CallTracer::recordCanvasAction(impl, "texImage3D"_s, WTFMove(callTracerParameters));
5885 }
5886 impl.texImage3D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(depth), WTFMove(border), WTFMove(format), WTFMove(type), WTFMove(source));
5887 return JSValue::encode(jsUndefined());
5888}
5889
5890static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexImage3D3Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5891{
5892 UNUSED_PARAM(state);
5893 UNUSED_PARAM(throwScope);
5894 auto& impl = castedThis->wrapped();
5895 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5896 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5897 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5898 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5899 auto internalformat = convert<IDLLong>(*state, state->uncheckedArgument(2));
5900 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5901 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
5902 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5903 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
5904 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5905 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(5));
5906 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5907 auto border = convert<IDLLong>(*state, state->uncheckedArgument(6));
5908 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5909 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
5910 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5911 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(8));
5912 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5913 auto pixels = convert<IDLNullable<IDLArrayBufferView>>(*state, state->uncheckedArgument(9), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 9, "pixels", "WebGL2RenderingContext", "texImage3D", "ArrayBufferView"); });
5914 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5915 if (UNLIKELY(impl.callTracingActive())) {
5916 Vector<RecordCanvasActionVariant> callTracerParameters;
5917 callTracerParameters.append(target);
5918 callTracerParameters.append(level);
5919 callTracerParameters.append(internalformat);
5920 callTracerParameters.append(width);
5921 callTracerParameters.append(height);
5922 callTracerParameters.append(depth);
5923 callTracerParameters.append(border);
5924 callTracerParameters.append(format);
5925 callTracerParameters.append(type);
5926 if (pixels)
5927 callTracerParameters.append(pixels);
5928 CallTracer::recordCanvasAction(impl, "texImage3D"_s, WTFMove(callTracerParameters));
5929 }
5930 impl.texImage3D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(depth), WTFMove(border), WTFMove(format), WTFMove(type), WTFMove(pixels));
5931 return JSValue::encode(jsUndefined());
5932}
5933
5934static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexImage3D4Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5935{
5936 UNUSED_PARAM(state);
5937 UNUSED_PARAM(throwScope);
5938 auto& impl = castedThis->wrapped();
5939 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
5940 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5941 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
5942 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5943 auto internalformat = convert<IDLLong>(*state, state->uncheckedArgument(2));
5944 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5945 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
5946 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5947 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
5948 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5949 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(5));
5950 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5951 auto border = convert<IDLLong>(*state, state->uncheckedArgument(6));
5952 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5953 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
5954 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5955 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(8));
5956 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5957 auto srcData = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(9), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 9, "srcData", "WebGL2RenderingContext", "texImage3D", "ArrayBufferView"); });
5958 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5959 auto srcOffset = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(10));
5960 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
5961 if (UNLIKELY(impl.callTracingActive())) {
5962 Vector<RecordCanvasActionVariant> callTracerParameters;
5963 callTracerParameters.append(target);
5964 callTracerParameters.append(level);
5965 callTracerParameters.append(internalformat);
5966 callTracerParameters.append(width);
5967 callTracerParameters.append(height);
5968 callTracerParameters.append(depth);
5969 callTracerParameters.append(border);
5970 callTracerParameters.append(format);
5971 callTracerParameters.append(type);
5972 callTracerParameters.append(srcData);
5973 callTracerParameters.append(srcOffset);
5974 CallTracer::recordCanvasAction(impl, "texImage3D"_s, WTFMove(callTracerParameters));
5975 }
5976 impl.texImage3D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(depth), WTFMove(border), WTFMove(format), WTFMove(type), srcData.releaseNonNull(), WTFMove(srcOffset));
5977 return JSValue::encode(jsUndefined());
5978}
5979
5980static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexImage3DOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
5981{
5982 UNUSED_PARAM(state);
5983 UNUSED_PARAM(throwScope);
5984 VM& vm = state->vm();
5985 UNUSED_PARAM(vm);
5986 size_t argsCount = std::min<size_t>(11, state->argumentCount());
5987 if (argsCount == 10) {
5988 JSValue distinguishingArg = state->uncheckedArgument(9);
5989 if (distinguishingArg.isUndefinedOrNull())
5990 return jsWebGL2RenderingContextPrototypeFunctionTexImage3D3Body(state, castedThis, throwScope);
5991 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSImageBitmap>(vm))
5992 return jsWebGL2RenderingContextPrototypeFunctionTexImage3D2Body(state, castedThis, throwScope);
5993 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSImageData>(vm))
5994 return jsWebGL2RenderingContextPrototypeFunctionTexImage3D2Body(state, castedThis, throwScope);
5995 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLImageElement>(vm))
5996 return jsWebGL2RenderingContextPrototypeFunctionTexImage3D2Body(state, castedThis, throwScope);
5997 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLCanvasElement>(vm))
5998 return jsWebGL2RenderingContextPrototypeFunctionTexImage3D2Body(state, castedThis, throwScope);
5999 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLVideoElement>(vm))
6000 return jsWebGL2RenderingContextPrototypeFunctionTexImage3D2Body(state, castedThis, throwScope);
6001 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSArrayBufferView>(vm))
6002 return jsWebGL2RenderingContextPrototypeFunctionTexImage3D3Body(state, castedThis, throwScope);
6003 if (distinguishingArg.isNumber())
6004 return jsWebGL2RenderingContextPrototypeFunctionTexImage3D1Body(state, castedThis, throwScope);
6005 return jsWebGL2RenderingContextPrototypeFunctionTexImage3D1Body(state, castedThis, throwScope);
6006 }
6007 if (argsCount == 11) {
6008 return jsWebGL2RenderingContextPrototypeFunctionTexImage3D4Body(state, castedThis, throwScope);
6009 }
6010 return argsCount < 10 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
6011}
6012
6013EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexImage3D(ExecState* state)
6014{
6015 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionTexImage3DOverloadDispatcher>(*state, "texImage3D");
6016}
6017
6018static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D3Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6019{
6020 UNUSED_PARAM(state);
6021 UNUSED_PARAM(throwScope);
6022 auto& impl = castedThis->wrapped();
6023 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6024 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6025 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6026 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6027 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
6028 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6029 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
6030 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6031 auto width = convert<IDLLong>(*state, state->uncheckedArgument(4));
6032 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6033 auto height = convert<IDLLong>(*state, state->uncheckedArgument(5));
6034 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6035 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
6036 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6037 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
6038 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6039 auto pboOffset = convert<IDLLongLong>(*state, state->uncheckedArgument(8));
6040 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6041 if (UNLIKELY(impl.callTracingActive())) {
6042 Vector<RecordCanvasActionVariant> callTracerParameters;
6043 callTracerParameters.append(target);
6044 callTracerParameters.append(level);
6045 callTracerParameters.append(xoffset);
6046 callTracerParameters.append(yoffset);
6047 callTracerParameters.append(width);
6048 callTracerParameters.append(height);
6049 callTracerParameters.append(format);
6050 callTracerParameters.append(type);
6051 callTracerParameters.append(pboOffset);
6052 CallTracer::recordCanvasAction(impl, "texSubImage2D"_s, WTFMove(callTracerParameters));
6053 }
6054 impl.texSubImage2D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(width), WTFMove(height), WTFMove(format), WTFMove(type), WTFMove(pboOffset));
6055 return JSValue::encode(jsUndefined());
6056}
6057
6058static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D4Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6059{
6060 UNUSED_PARAM(state);
6061 UNUSED_PARAM(throwScope);
6062 auto& impl = castedThis->wrapped();
6063 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6064 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6065 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6066 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6067 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
6068 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6069 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
6070 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6071 auto width = convert<IDLLong>(*state, state->uncheckedArgument(4));
6072 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6073 auto height = convert<IDLLong>(*state, state->uncheckedArgument(5));
6074 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6075 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
6076 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6077 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
6078 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6079 auto source = convert<IDLUnion<IDLInterface<ImageBitmap>, IDLInterface<ImageData>, IDLInterface<HTMLImageElement>, IDLInterface<HTMLCanvasElement>, IDLInterface<HTMLVideoElement>>>(*state, state->uncheckedArgument(8));
6080 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6081 if (UNLIKELY(impl.callTracingActive())) {
6082 Vector<RecordCanvasActionVariant> callTracerParameters;
6083 callTracerParameters.append(target);
6084 callTracerParameters.append(level);
6085 callTracerParameters.append(xoffset);
6086 callTracerParameters.append(yoffset);
6087 callTracerParameters.append(width);
6088 callTracerParameters.append(height);
6089 callTracerParameters.append(format);
6090 callTracerParameters.append(type);
6091 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, source);
6092 CallTracer::recordCanvasAction(impl, "texSubImage2D"_s, WTFMove(callTracerParameters));
6093 }
6094 impl.texSubImage2D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(width), WTFMove(height), WTFMove(format), WTFMove(type), WTFMove(source));
6095 return JSValue::encode(jsUndefined());
6096}
6097
6098static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D5Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6099{
6100 UNUSED_PARAM(state);
6101 UNUSED_PARAM(throwScope);
6102 auto& impl = castedThis->wrapped();
6103 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6104 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6105 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6106 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6107 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
6108 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6109 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
6110 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6111 auto width = convert<IDLLong>(*state, state->uncheckedArgument(4));
6112 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6113 auto height = convert<IDLLong>(*state, state->uncheckedArgument(5));
6114 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6115 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
6116 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6117 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(7));
6118 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6119 auto srcData = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(8), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 8, "srcData", "WebGL2RenderingContext", "texSubImage2D", "ArrayBufferView"); });
6120 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6121 auto srcOffset = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(9));
6122 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6123 if (UNLIKELY(impl.callTracingActive())) {
6124 Vector<RecordCanvasActionVariant> callTracerParameters;
6125 callTracerParameters.append(target);
6126 callTracerParameters.append(level);
6127 callTracerParameters.append(xoffset);
6128 callTracerParameters.append(yoffset);
6129 callTracerParameters.append(width);
6130 callTracerParameters.append(height);
6131 callTracerParameters.append(format);
6132 callTracerParameters.append(type);
6133 callTracerParameters.append(srcData);
6134 callTracerParameters.append(srcOffset);
6135 CallTracer::recordCanvasAction(impl, "texSubImage2D"_s, WTFMove(callTracerParameters));
6136 }
6137 impl.texSubImage2D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(width), WTFMove(height), WTFMove(format), WTFMove(type), srcData.releaseNonNull(), WTFMove(srcOffset));
6138 return JSValue::encode(jsUndefined());
6139}
6140
6141static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexSubImage2DOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6142{
6143 UNUSED_PARAM(state);
6144 UNUSED_PARAM(throwScope);
6145 VM& vm = state->vm();
6146 UNUSED_PARAM(vm);
6147 size_t argsCount = std::min<size_t>(10, state->argumentCount());
6148 if (argsCount == 10) {
6149 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D5Body(state, castedThis, throwScope);
6150 }
6151 if (argsCount == 7) {
6152 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D2Body(state, castedThis, throwScope);
6153 }
6154 if (argsCount == 9) {
6155 JSValue distinguishingArg = state->uncheckedArgument(8);
6156 if (distinguishingArg.isUndefinedOrNull())
6157 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D1Body(state, castedThis, throwScope);
6158 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSArrayBufferView>(vm))
6159 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D1Body(state, castedThis, throwScope);
6160 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSImageBitmap>(vm))
6161 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D4Body(state, castedThis, throwScope);
6162 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSImageData>(vm))
6163 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D4Body(state, castedThis, throwScope);
6164 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLImageElement>(vm))
6165 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D4Body(state, castedThis, throwScope);
6166 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLCanvasElement>(vm))
6167 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D4Body(state, castedThis, throwScope);
6168 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLVideoElement>(vm))
6169 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D4Body(state, castedThis, throwScope);
6170 if (distinguishingArg.isNumber())
6171 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D3Body(state, castedThis, throwScope);
6172 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D3Body(state, castedThis, throwScope);
6173 }
6174 return argsCount < 7 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
6175}
6176
6177EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexSubImage2D(ExecState* state)
6178{
6179 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionTexSubImage2DOverloadDispatcher>(*state, "texSubImage2D");
6180}
6181
6182static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D1Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6183{
6184 UNUSED_PARAM(state);
6185 UNUSED_PARAM(throwScope);
6186 auto& impl = castedThis->wrapped();
6187 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6188 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6189 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6190 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6191 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
6192 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6193 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
6194 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6195 auto zoffset = convert<IDLLong>(*state, state->uncheckedArgument(4));
6196 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6197 auto width = convert<IDLLong>(*state, state->uncheckedArgument(5));
6198 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6199 auto height = convert<IDLLong>(*state, state->uncheckedArgument(6));
6200 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6201 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(7));
6202 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6203 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(8));
6204 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6205 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(9));
6206 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6207 auto pboOffset = convert<IDLLongLong>(*state, state->uncheckedArgument(10));
6208 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6209 if (UNLIKELY(impl.callTracingActive())) {
6210 Vector<RecordCanvasActionVariant> callTracerParameters;
6211 callTracerParameters.append(target);
6212 callTracerParameters.append(level);
6213 callTracerParameters.append(xoffset);
6214 callTracerParameters.append(yoffset);
6215 callTracerParameters.append(zoffset);
6216 callTracerParameters.append(width);
6217 callTracerParameters.append(height);
6218 callTracerParameters.append(depth);
6219 callTracerParameters.append(format);
6220 callTracerParameters.append(type);
6221 callTracerParameters.append(pboOffset);
6222 CallTracer::recordCanvasAction(impl, "texSubImage3D"_s, WTFMove(callTracerParameters));
6223 }
6224 impl.texSubImage3D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(zoffset), WTFMove(width), WTFMove(height), WTFMove(depth), WTFMove(format), WTFMove(type), WTFMove(pboOffset));
6225 return JSValue::encode(jsUndefined());
6226}
6227
6228static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D2Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6229{
6230 UNUSED_PARAM(state);
6231 UNUSED_PARAM(throwScope);
6232 auto& impl = castedThis->wrapped();
6233 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6234 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6235 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6236 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6237 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
6238 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6239 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
6240 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6241 auto zoffset = convert<IDLLong>(*state, state->uncheckedArgument(4));
6242 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6243 auto width = convert<IDLLong>(*state, state->uncheckedArgument(5));
6244 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6245 auto height = convert<IDLLong>(*state, state->uncheckedArgument(6));
6246 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6247 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(7));
6248 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6249 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(8));
6250 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6251 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(9));
6252 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6253 auto source = convert<IDLUnion<IDLInterface<ImageBitmap>, IDLInterface<ImageData>, IDLInterface<HTMLImageElement>, IDLInterface<HTMLCanvasElement>, IDLInterface<HTMLVideoElement>>>(*state, state->uncheckedArgument(10));
6254 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6255 if (UNLIKELY(impl.callTracingActive())) {
6256 Vector<RecordCanvasActionVariant> callTracerParameters;
6257 callTracerParameters.append(target);
6258 callTracerParameters.append(level);
6259 callTracerParameters.append(xoffset);
6260 callTracerParameters.append(yoffset);
6261 callTracerParameters.append(zoffset);
6262 callTracerParameters.append(width);
6263 callTracerParameters.append(height);
6264 callTracerParameters.append(depth);
6265 callTracerParameters.append(format);
6266 callTracerParameters.append(type);
6267 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, source);
6268 CallTracer::recordCanvasAction(impl, "texSubImage3D"_s, WTFMove(callTracerParameters));
6269 }
6270 impl.texSubImage3D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(zoffset), WTFMove(width), WTFMove(height), WTFMove(depth), WTFMove(format), WTFMove(type), WTFMove(source));
6271 return JSValue::encode(jsUndefined());
6272}
6273
6274static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D3Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6275{
6276 UNUSED_PARAM(state);
6277 UNUSED_PARAM(throwScope);
6278 auto& impl = castedThis->wrapped();
6279 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6280 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6281 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6282 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6283 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
6284 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6285 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
6286 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6287 auto zoffset = convert<IDLLong>(*state, state->uncheckedArgument(4));
6288 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6289 auto width = convert<IDLLong>(*state, state->uncheckedArgument(5));
6290 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6291 auto height = convert<IDLLong>(*state, state->uncheckedArgument(6));
6292 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6293 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(7));
6294 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6295 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(8));
6296 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6297 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(9));
6298 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6299 auto srcData = convert<IDLNullable<IDLArrayBufferView>>(*state, state->uncheckedArgument(10), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 10, "srcData", "WebGL2RenderingContext", "texSubImage3D", "ArrayBufferView"); });
6300 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6301 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(11));
6302 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6303 if (UNLIKELY(impl.callTracingActive())) {
6304 Vector<RecordCanvasActionVariant> callTracerParameters;
6305 callTracerParameters.append(target);
6306 callTracerParameters.append(level);
6307 callTracerParameters.append(xoffset);
6308 callTracerParameters.append(yoffset);
6309 callTracerParameters.append(zoffset);
6310 callTracerParameters.append(width);
6311 callTracerParameters.append(height);
6312 callTracerParameters.append(depth);
6313 callTracerParameters.append(format);
6314 callTracerParameters.append(type);
6315 if (srcData)
6316 callTracerParameters.append(srcData);
6317 callTracerParameters.append(srcOffset);
6318 CallTracer::recordCanvasAction(impl, "texSubImage3D"_s, WTFMove(callTracerParameters));
6319 }
6320 impl.texSubImage3D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(zoffset), WTFMove(width), WTFMove(height), WTFMove(depth), WTFMove(format), WTFMove(type), WTFMove(srcData), WTFMove(srcOffset));
6321 return JSValue::encode(jsUndefined());
6322}
6323
6324static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexSubImage3DOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6325{
6326 UNUSED_PARAM(state);
6327 UNUSED_PARAM(throwScope);
6328 VM& vm = state->vm();
6329 UNUSED_PARAM(vm);
6330 size_t argsCount = std::min<size_t>(12, state->argumentCount());
6331 if (argsCount == 11) {
6332 JSValue distinguishingArg = state->uncheckedArgument(10);
6333 if (distinguishingArg.isUndefinedOrNull())
6334 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D3Body(state, castedThis, throwScope);
6335 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSImageBitmap>(vm))
6336 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D2Body(state, castedThis, throwScope);
6337 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSImageData>(vm))
6338 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D2Body(state, castedThis, throwScope);
6339 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLImageElement>(vm))
6340 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D2Body(state, castedThis, throwScope);
6341 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLCanvasElement>(vm))
6342 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D2Body(state, castedThis, throwScope);
6343 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSHTMLVideoElement>(vm))
6344 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D2Body(state, castedThis, throwScope);
6345 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSArrayBufferView>(vm))
6346 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D3Body(state, castedThis, throwScope);
6347 if (distinguishingArg.isNumber())
6348 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D1Body(state, castedThis, throwScope);
6349 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D1Body(state, castedThis, throwScope);
6350 }
6351 if (argsCount == 12) {
6352 return jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D3Body(state, castedThis, throwScope);
6353 }
6354 return argsCount < 11 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
6355}
6356
6357EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexSubImage3D(ExecState* state)
6358{
6359 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionTexSubImage3DOverloadDispatcher>(*state, "texSubImage3D");
6360}
6361
6362static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCopyTexSubImage3DBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6363{
6364 UNUSED_PARAM(state);
6365 UNUSED_PARAM(throwScope);
6366 auto& impl = castedThis->wrapped();
6367 if (UNLIKELY(state->argumentCount() < 9))
6368 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6369 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6370 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6371 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6372 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6373 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
6374 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6375 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
6376 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6377 auto zoffset = convert<IDLLong>(*state, state->uncheckedArgument(4));
6378 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6379 auto x = convert<IDLLong>(*state, state->uncheckedArgument(5));
6380 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6381 auto y = convert<IDLLong>(*state, state->uncheckedArgument(6));
6382 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6383 auto width = convert<IDLLong>(*state, state->uncheckedArgument(7));
6384 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6385 auto height = convert<IDLLong>(*state, state->uncheckedArgument(8));
6386 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6387 if (UNLIKELY(impl.callTracingActive())) {
6388 Vector<RecordCanvasActionVariant> callTracerParameters;
6389 callTracerParameters.append(target);
6390 callTracerParameters.append(level);
6391 callTracerParameters.append(xoffset);
6392 callTracerParameters.append(yoffset);
6393 callTracerParameters.append(zoffset);
6394 callTracerParameters.append(x);
6395 callTracerParameters.append(y);
6396 callTracerParameters.append(width);
6397 callTracerParameters.append(height);
6398 CallTracer::recordCanvasAction(impl, "copyTexSubImage3D"_s, WTFMove(callTracerParameters));
6399 }
6400 impl.copyTexSubImage3D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(zoffset), WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height));
6401 return JSValue::encode(jsUndefined());
6402}
6403
6404EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCopyTexSubImage3D(ExecState* state)
6405{
6406 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCopyTexSubImage3DBody>(*state, "copyTexSubImage3D");
6407}
6408
6409static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2D1Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6410{
6411 UNUSED_PARAM(state);
6412 UNUSED_PARAM(throwScope);
6413 auto& impl = castedThis->wrapped();
6414 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6415 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6416 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6417 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6418 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
6419 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6420 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
6421 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6422 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
6423 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6424 auto border = convert<IDLLong>(*state, state->uncheckedArgument(5));
6425 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6426 auto imageSize = convert<IDLLong>(*state, state->uncheckedArgument(6));
6427 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6428 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(7));
6429 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6430 if (UNLIKELY(impl.callTracingActive())) {
6431 Vector<RecordCanvasActionVariant> callTracerParameters;
6432 callTracerParameters.append(target);
6433 callTracerParameters.append(level);
6434 callTracerParameters.append(internalformat);
6435 callTracerParameters.append(width);
6436 callTracerParameters.append(height);
6437 callTracerParameters.append(border);
6438 callTracerParameters.append(imageSize);
6439 callTracerParameters.append(offset);
6440 CallTracer::recordCanvasAction(impl, "compressedTexImage2D"_s, WTFMove(callTracerParameters));
6441 }
6442 impl.compressedTexImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(border), WTFMove(imageSize), WTFMove(offset));
6443 return JSValue::encode(jsUndefined());
6444}
6445
6446static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2D2Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6447{
6448 UNUSED_PARAM(state);
6449 UNUSED_PARAM(throwScope);
6450 auto& impl = castedThis->wrapped();
6451 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6452 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6453 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6454 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6455 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
6456 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6457 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
6458 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6459 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
6460 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6461 auto border = convert<IDLLong>(*state, state->uncheckedArgument(5));
6462 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6463 auto srcData = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(6), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 6, "srcData", "WebGL2RenderingContext", "compressedTexImage2D", "ArrayBufferView"); });
6464 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6465 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(7));
6466 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6467 auto srcLengthOverride = convert<IDLUnsignedLong>(*state, state->argument(8));
6468 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6469 if (UNLIKELY(impl.callTracingActive())) {
6470 Vector<RecordCanvasActionVariant> callTracerParameters;
6471 callTracerParameters.append(target);
6472 callTracerParameters.append(level);
6473 callTracerParameters.append(internalformat);
6474 callTracerParameters.append(width);
6475 callTracerParameters.append(height);
6476 callTracerParameters.append(border);
6477 callTracerParameters.append(srcData);
6478 callTracerParameters.append(srcOffset);
6479 callTracerParameters.append(srcLengthOverride);
6480 CallTracer::recordCanvasAction(impl, "compressedTexImage2D"_s, WTFMove(callTracerParameters));
6481 }
6482 impl.compressedTexImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(border), srcData.releaseNonNull(), WTFMove(srcOffset), WTFMove(srcLengthOverride));
6483 return JSValue::encode(jsUndefined());
6484}
6485
6486static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2DOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6487{
6488 UNUSED_PARAM(state);
6489 UNUSED_PARAM(throwScope);
6490 VM& vm = state->vm();
6491 UNUSED_PARAM(vm);
6492 size_t argsCount = std::min<size_t>(9, state->argumentCount());
6493 if (argsCount == 7) {
6494 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2D2Body(state, castedThis, throwScope);
6495 }
6496 if (argsCount == 8) {
6497 JSValue distinguishingArg = state->uncheckedArgument(6);
6498 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSArrayBufferView>(vm))
6499 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2D2Body(state, castedThis, throwScope);
6500 if (distinguishingArg.isNumber())
6501 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2D1Body(state, castedThis, throwScope);
6502 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2D1Body(state, castedThis, throwScope);
6503 }
6504 if (argsCount == 9) {
6505 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2D2Body(state, castedThis, throwScope);
6506 }
6507 return argsCount < 7 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
6508}
6509
6510EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2D(ExecState* state)
6511{
6512 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage2DOverloadDispatcher>(*state, "compressedTexImage2D");
6513}
6514
6515static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3D1Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6516{
6517 UNUSED_PARAM(state);
6518 UNUSED_PARAM(throwScope);
6519 auto& impl = castedThis->wrapped();
6520 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6521 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6522 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6523 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6524 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
6525 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6526 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
6527 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6528 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
6529 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6530 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(5));
6531 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6532 auto border = convert<IDLLong>(*state, state->uncheckedArgument(6));
6533 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6534 auto imageSize = convert<IDLLong>(*state, state->uncheckedArgument(7));
6535 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6536 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(8));
6537 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6538 if (UNLIKELY(impl.callTracingActive())) {
6539 Vector<RecordCanvasActionVariant> callTracerParameters;
6540 callTracerParameters.append(target);
6541 callTracerParameters.append(level);
6542 callTracerParameters.append(internalformat);
6543 callTracerParameters.append(width);
6544 callTracerParameters.append(height);
6545 callTracerParameters.append(depth);
6546 callTracerParameters.append(border);
6547 callTracerParameters.append(imageSize);
6548 callTracerParameters.append(offset);
6549 CallTracer::recordCanvasAction(impl, "compressedTexImage3D"_s, WTFMove(callTracerParameters));
6550 }
6551 impl.compressedTexImage3D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(depth), WTFMove(border), WTFMove(imageSize), WTFMove(offset));
6552 return JSValue::encode(jsUndefined());
6553}
6554
6555static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3D2Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6556{
6557 UNUSED_PARAM(state);
6558 UNUSED_PARAM(throwScope);
6559 auto& impl = castedThis->wrapped();
6560 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6561 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6562 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6563 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6564 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
6565 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6566 auto width = convert<IDLLong>(*state, state->uncheckedArgument(3));
6567 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6568 auto height = convert<IDLLong>(*state, state->uncheckedArgument(4));
6569 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6570 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(5));
6571 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6572 auto border = convert<IDLLong>(*state, state->uncheckedArgument(6));
6573 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6574 auto srcData = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(7), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 7, "srcData", "WebGL2RenderingContext", "compressedTexImage3D", "ArrayBufferView"); });
6575 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6576 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(8));
6577 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6578 auto srcLengthOverride = convert<IDLUnsignedLong>(*state, state->argument(9));
6579 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6580 if (UNLIKELY(impl.callTracingActive())) {
6581 Vector<RecordCanvasActionVariant> callTracerParameters;
6582 callTracerParameters.append(target);
6583 callTracerParameters.append(level);
6584 callTracerParameters.append(internalformat);
6585 callTracerParameters.append(width);
6586 callTracerParameters.append(height);
6587 callTracerParameters.append(depth);
6588 callTracerParameters.append(border);
6589 callTracerParameters.append(srcData);
6590 callTracerParameters.append(srcOffset);
6591 callTracerParameters.append(srcLengthOverride);
6592 CallTracer::recordCanvasAction(impl, "compressedTexImage3D"_s, WTFMove(callTracerParameters));
6593 }
6594 impl.compressedTexImage3D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(width), WTFMove(height), WTFMove(depth), WTFMove(border), srcData.releaseNonNull(), WTFMove(srcOffset), WTFMove(srcLengthOverride));
6595 return JSValue::encode(jsUndefined());
6596}
6597
6598static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3DOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6599{
6600 UNUSED_PARAM(state);
6601 UNUSED_PARAM(throwScope);
6602 VM& vm = state->vm();
6603 UNUSED_PARAM(vm);
6604 size_t argsCount = std::min<size_t>(10, state->argumentCount());
6605 if (argsCount == 10) {
6606 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3D2Body(state, castedThis, throwScope);
6607 }
6608 if (argsCount == 8) {
6609 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3D2Body(state, castedThis, throwScope);
6610 }
6611 if (argsCount == 9) {
6612 JSValue distinguishingArg = state->uncheckedArgument(7);
6613 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSArrayBufferView>(vm))
6614 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3D2Body(state, castedThis, throwScope);
6615 if (distinguishingArg.isNumber())
6616 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3D1Body(state, castedThis, throwScope);
6617 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3D1Body(state, castedThis, throwScope);
6618 }
6619 return argsCount < 8 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
6620}
6621
6622EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3D(ExecState* state)
6623{
6624 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCompressedTexImage3DOverloadDispatcher>(*state, "compressedTexImage3D");
6625}
6626
6627static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3D1Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6628{
6629 UNUSED_PARAM(state);
6630 UNUSED_PARAM(throwScope);
6631 auto& impl = castedThis->wrapped();
6632 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6633 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6634 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6635 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6636 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
6637 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6638 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
6639 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6640 auto zoffset = convert<IDLLong>(*state, state->uncheckedArgument(4));
6641 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6642 auto width = convert<IDLLong>(*state, state->uncheckedArgument(5));
6643 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6644 auto height = convert<IDLLong>(*state, state->uncheckedArgument(6));
6645 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6646 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(7));
6647 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6648 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(8));
6649 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6650 auto imageSize = convert<IDLLong>(*state, state->uncheckedArgument(9));
6651 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6652 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(10));
6653 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6654 if (UNLIKELY(impl.callTracingActive())) {
6655 Vector<RecordCanvasActionVariant> callTracerParameters;
6656 callTracerParameters.append(target);
6657 callTracerParameters.append(level);
6658 callTracerParameters.append(xoffset);
6659 callTracerParameters.append(yoffset);
6660 callTracerParameters.append(zoffset);
6661 callTracerParameters.append(width);
6662 callTracerParameters.append(height);
6663 callTracerParameters.append(depth);
6664 callTracerParameters.append(format);
6665 callTracerParameters.append(imageSize);
6666 callTracerParameters.append(offset);
6667 CallTracer::recordCanvasAction(impl, "compressedTexSubImage3D"_s, WTFMove(callTracerParameters));
6668 }
6669 impl.compressedTexSubImage3D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(zoffset), WTFMove(width), WTFMove(height), WTFMove(depth), WTFMove(format), WTFMove(imageSize), WTFMove(offset));
6670 return JSValue::encode(jsUndefined());
6671}
6672
6673static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3D2Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6674{
6675 UNUSED_PARAM(state);
6676 UNUSED_PARAM(throwScope);
6677 auto& impl = castedThis->wrapped();
6678 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
6679 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6680 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
6681 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6682 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
6683 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6684 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
6685 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6686 auto zoffset = convert<IDLLong>(*state, state->uncheckedArgument(4));
6687 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6688 auto width = convert<IDLLong>(*state, state->uncheckedArgument(5));
6689 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6690 auto height = convert<IDLLong>(*state, state->uncheckedArgument(6));
6691 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6692 auto depth = convert<IDLLong>(*state, state->uncheckedArgument(7));
6693 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6694 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(8));
6695 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6696 auto srcData = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(9), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 9, "srcData", "WebGL2RenderingContext", "compressedTexSubImage3D", "ArrayBufferView"); });
6697 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6698 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(10));
6699 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6700 auto srcLengthOverride = convert<IDLUnsignedLong>(*state, state->argument(11));
6701 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6702 if (UNLIKELY(impl.callTracingActive())) {
6703 Vector<RecordCanvasActionVariant> callTracerParameters;
6704 callTracerParameters.append(target);
6705 callTracerParameters.append(level);
6706 callTracerParameters.append(xoffset);
6707 callTracerParameters.append(yoffset);
6708 callTracerParameters.append(zoffset);
6709 callTracerParameters.append(width);
6710 callTracerParameters.append(height);
6711 callTracerParameters.append(depth);
6712 callTracerParameters.append(format);
6713 callTracerParameters.append(srcData);
6714 callTracerParameters.append(srcOffset);
6715 callTracerParameters.append(srcLengthOverride);
6716 CallTracer::recordCanvasAction(impl, "compressedTexSubImage3D"_s, WTFMove(callTracerParameters));
6717 }
6718 impl.compressedTexSubImage3D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(zoffset), WTFMove(width), WTFMove(height), WTFMove(depth), WTFMove(format), srcData.releaseNonNull(), WTFMove(srcOffset), WTFMove(srcLengthOverride));
6719 return JSValue::encode(jsUndefined());
6720}
6721
6722static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3DOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6723{
6724 UNUSED_PARAM(state);
6725 UNUSED_PARAM(throwScope);
6726 VM& vm = state->vm();
6727 UNUSED_PARAM(vm);
6728 size_t argsCount = std::min<size_t>(12, state->argumentCount());
6729 if (argsCount == 10) {
6730 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3D2Body(state, castedThis, throwScope);
6731 }
6732 if (argsCount == 11) {
6733 JSValue distinguishingArg = state->uncheckedArgument(9);
6734 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSArrayBufferView>(vm))
6735 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3D2Body(state, castedThis, throwScope);
6736 if (distinguishingArg.isNumber())
6737 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3D1Body(state, castedThis, throwScope);
6738 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3D1Body(state, castedThis, throwScope);
6739 }
6740 if (argsCount == 12) {
6741 return jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3D2Body(state, castedThis, throwScope);
6742 }
6743 return argsCount < 10 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
6744}
6745
6746EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3D(ExecState* state)
6747{
6748 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage3DOverloadDispatcher>(*state, "compressedTexSubImage3D");
6749}
6750
6751static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetFragDataLocationBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6752{
6753 UNUSED_PARAM(state);
6754 UNUSED_PARAM(throwScope);
6755 auto& impl = castedThis->wrapped();
6756 if (UNLIKELY(state->argumentCount() < 2))
6757 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6758 auto program = convert<IDLInterface<WebGLProgram>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getFragDataLocation", "WebGLProgram"); });
6759 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6760 auto name = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
6761 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6762 if (UNLIKELY(impl.callTracingActive())) {
6763 Vector<RecordCanvasActionVariant> callTracerParameters;
6764 callTracerParameters.append(program);
6765 callTracerParameters.append(name);
6766 CallTracer::recordCanvasAction(impl, "getFragDataLocation"_s, WTFMove(callTracerParameters));
6767 }
6768 return JSValue::encode(toJS<IDLLong>(impl.getFragDataLocation(*program, WTFMove(name))));
6769}
6770
6771EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetFragDataLocation(ExecState* state)
6772{
6773 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetFragDataLocationBody>(*state, "getFragDataLocation");
6774}
6775
6776static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform1uiBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6777{
6778 UNUSED_PARAM(state);
6779 UNUSED_PARAM(throwScope);
6780 auto& impl = castedThis->wrapped();
6781 if (UNLIKELY(state->argumentCount() < 2))
6782 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6783 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform1ui", "WebGLUniformLocation"); });
6784 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6785 auto v0 = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6786 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6787 if (UNLIKELY(impl.callTracingActive())) {
6788 Vector<RecordCanvasActionVariant> callTracerParameters;
6789 if (location)
6790 callTracerParameters.append(location);
6791 callTracerParameters.append(v0);
6792 CallTracer::recordCanvasAction(impl, "uniform1ui"_s, WTFMove(callTracerParameters));
6793 }
6794 impl.uniform1ui(WTFMove(location), WTFMove(v0));
6795 return JSValue::encode(jsUndefined());
6796}
6797
6798EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1ui(ExecState* state)
6799{
6800 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform1uiBody>(*state, "uniform1ui");
6801}
6802
6803static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform2uiBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6804{
6805 UNUSED_PARAM(state);
6806 UNUSED_PARAM(throwScope);
6807 auto& impl = castedThis->wrapped();
6808 if (UNLIKELY(state->argumentCount() < 3))
6809 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6810 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform2ui", "WebGLUniformLocation"); });
6811 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6812 auto v0 = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6813 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6814 auto v1 = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
6815 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6816 if (UNLIKELY(impl.callTracingActive())) {
6817 Vector<RecordCanvasActionVariant> callTracerParameters;
6818 if (location)
6819 callTracerParameters.append(location);
6820 callTracerParameters.append(v0);
6821 callTracerParameters.append(v1);
6822 CallTracer::recordCanvasAction(impl, "uniform2ui"_s, WTFMove(callTracerParameters));
6823 }
6824 impl.uniform2ui(WTFMove(location), WTFMove(v0), WTFMove(v1));
6825 return JSValue::encode(jsUndefined());
6826}
6827
6828EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2ui(ExecState* state)
6829{
6830 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform2uiBody>(*state, "uniform2ui");
6831}
6832
6833static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform3uiBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6834{
6835 UNUSED_PARAM(state);
6836 UNUSED_PARAM(throwScope);
6837 auto& impl = castedThis->wrapped();
6838 if (UNLIKELY(state->argumentCount() < 4))
6839 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6840 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform3ui", "WebGLUniformLocation"); });
6841 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6842 auto v0 = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6843 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6844 auto v1 = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
6845 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6846 auto v2 = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
6847 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6848 if (UNLIKELY(impl.callTracingActive())) {
6849 Vector<RecordCanvasActionVariant> callTracerParameters;
6850 if (location)
6851 callTracerParameters.append(location);
6852 callTracerParameters.append(v0);
6853 callTracerParameters.append(v1);
6854 callTracerParameters.append(v2);
6855 CallTracer::recordCanvasAction(impl, "uniform3ui"_s, WTFMove(callTracerParameters));
6856 }
6857 impl.uniform3ui(WTFMove(location), WTFMove(v0), WTFMove(v1), WTFMove(v2));
6858 return JSValue::encode(jsUndefined());
6859}
6860
6861EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3ui(ExecState* state)
6862{
6863 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform3uiBody>(*state, "uniform3ui");
6864}
6865
6866static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform4uiBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6867{
6868 UNUSED_PARAM(state);
6869 UNUSED_PARAM(throwScope);
6870 auto& impl = castedThis->wrapped();
6871 if (UNLIKELY(state->argumentCount() < 5))
6872 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6873 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform4ui", "WebGLUniformLocation"); });
6874 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6875 auto v0 = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
6876 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6877 auto v1 = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
6878 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6879 auto v2 = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
6880 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6881 auto v3 = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(4));
6882 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6883 if (UNLIKELY(impl.callTracingActive())) {
6884 Vector<RecordCanvasActionVariant> callTracerParameters;
6885 if (location)
6886 callTracerParameters.append(location);
6887 callTracerParameters.append(v0);
6888 callTracerParameters.append(v1);
6889 callTracerParameters.append(v2);
6890 callTracerParameters.append(v3);
6891 CallTracer::recordCanvasAction(impl, "uniform4ui"_s, WTFMove(callTracerParameters));
6892 }
6893 impl.uniform4ui(WTFMove(location), WTFMove(v0), WTFMove(v1), WTFMove(v2), WTFMove(v3));
6894 return JSValue::encode(jsUndefined());
6895}
6896
6897EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4ui(ExecState* state)
6898{
6899 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform4uiBody>(*state, "uniform4ui");
6900}
6901
6902static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform1uivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6903{
6904 UNUSED_PARAM(state);
6905 UNUSED_PARAM(throwScope);
6906 auto& impl = castedThis->wrapped();
6907 if (UNLIKELY(state->argumentCount() < 2))
6908 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6909 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform1uiv", "WebGLUniformLocation"); });
6910 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6911 auto data = convert<IDLUnion<IDLUint32Array, IDLSequence<IDLUnsignedLong>>>(*state, state->uncheckedArgument(1));
6912 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6913 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(2));
6914 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6915 auto srcLength = convert<IDLUnsignedLong>(*state, state->argument(3));
6916 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6917 if (UNLIKELY(impl.callTracingActive())) {
6918 Vector<RecordCanvasActionVariant> callTracerParameters;
6919 if (location)
6920 callTracerParameters.append(location);
6921 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, data);
6922 callTracerParameters.append(srcOffset);
6923 callTracerParameters.append(srcLength);
6924 CallTracer::recordCanvasAction(impl, "uniform1uiv"_s, WTFMove(callTracerParameters));
6925 }
6926 impl.uniform1uiv(WTFMove(location), WTFMove(data), WTFMove(srcOffset), WTFMove(srcLength));
6927 return JSValue::encode(jsUndefined());
6928}
6929
6930EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1uiv(ExecState* state)
6931{
6932 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform1uivBody>(*state, "uniform1uiv");
6933}
6934
6935static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform2uivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6936{
6937 UNUSED_PARAM(state);
6938 UNUSED_PARAM(throwScope);
6939 auto& impl = castedThis->wrapped();
6940 if (UNLIKELY(state->argumentCount() < 2))
6941 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6942 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform2uiv", "WebGLUniformLocation"); });
6943 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6944 auto data = convert<IDLUnion<IDLUint32Array, IDLSequence<IDLUnsignedLong>>>(*state, state->uncheckedArgument(1));
6945 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6946 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(2));
6947 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6948 auto srcLength = convert<IDLUnsignedLong>(*state, state->argument(3));
6949 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6950 if (UNLIKELY(impl.callTracingActive())) {
6951 Vector<RecordCanvasActionVariant> callTracerParameters;
6952 if (location)
6953 callTracerParameters.append(location);
6954 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, data);
6955 callTracerParameters.append(srcOffset);
6956 callTracerParameters.append(srcLength);
6957 CallTracer::recordCanvasAction(impl, "uniform2uiv"_s, WTFMove(callTracerParameters));
6958 }
6959 impl.uniform2uiv(WTFMove(location), WTFMove(data), WTFMove(srcOffset), WTFMove(srcLength));
6960 return JSValue::encode(jsUndefined());
6961}
6962
6963EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2uiv(ExecState* state)
6964{
6965 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform2uivBody>(*state, "uniform2uiv");
6966}
6967
6968static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform3uivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
6969{
6970 UNUSED_PARAM(state);
6971 UNUSED_PARAM(throwScope);
6972 auto& impl = castedThis->wrapped();
6973 if (UNLIKELY(state->argumentCount() < 2))
6974 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
6975 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform3uiv", "WebGLUniformLocation"); });
6976 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6977 auto data = convert<IDLUnion<IDLUint32Array, IDLSequence<IDLUnsignedLong>>>(*state, state->uncheckedArgument(1));
6978 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6979 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(2));
6980 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6981 auto srcLength = convert<IDLUnsignedLong>(*state, state->argument(3));
6982 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
6983 if (UNLIKELY(impl.callTracingActive())) {
6984 Vector<RecordCanvasActionVariant> callTracerParameters;
6985 if (location)
6986 callTracerParameters.append(location);
6987 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, data);
6988 callTracerParameters.append(srcOffset);
6989 callTracerParameters.append(srcLength);
6990 CallTracer::recordCanvasAction(impl, "uniform3uiv"_s, WTFMove(callTracerParameters));
6991 }
6992 impl.uniform3uiv(WTFMove(location), WTFMove(data), WTFMove(srcOffset), WTFMove(srcLength));
6993 return JSValue::encode(jsUndefined());
6994}
6995
6996EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3uiv(ExecState* state)
6997{
6998 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform3uivBody>(*state, "uniform3uiv");
6999}
7000
7001static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform4uivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7002{
7003 UNUSED_PARAM(state);
7004 UNUSED_PARAM(throwScope);
7005 auto& impl = castedThis->wrapped();
7006 if (UNLIKELY(state->argumentCount() < 2))
7007 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7008 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform4uiv", "WebGLUniformLocation"); });
7009 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7010 auto data = convert<IDLUnion<IDLUint32Array, IDLSequence<IDLUnsignedLong>>>(*state, state->uncheckedArgument(1));
7011 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7012 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(2));
7013 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7014 auto srcLength = convert<IDLUnsignedLong>(*state, state->argument(3));
7015 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7016 if (UNLIKELY(impl.callTracingActive())) {
7017 Vector<RecordCanvasActionVariant> callTracerParameters;
7018 if (location)
7019 callTracerParameters.append(location);
7020 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, data);
7021 callTracerParameters.append(srcOffset);
7022 callTracerParameters.append(srcLength);
7023 CallTracer::recordCanvasAction(impl, "uniform4uiv"_s, WTFMove(callTracerParameters));
7024 }
7025 impl.uniform4uiv(WTFMove(location), WTFMove(data), WTFMove(srcOffset), WTFMove(srcLength));
7026 return JSValue::encode(jsUndefined());
7027}
7028
7029EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4uiv(ExecState* state)
7030{
7031 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform4uivBody>(*state, "uniform4uiv");
7032}
7033
7034static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2x3fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7035{
7036 UNUSED_PARAM(state);
7037 UNUSED_PARAM(throwScope);
7038 auto& impl = castedThis->wrapped();
7039 if (UNLIKELY(state->argumentCount() < 3))
7040 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7041 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniformMatrix2x3fv", "WebGLUniformLocation"); });
7042 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7043 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
7044 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7045 auto data = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
7046 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7047 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(3));
7048 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7049 auto srcLength = convert<IDLUnsignedLong>(*state, state->argument(4));
7050 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7051 if (UNLIKELY(impl.callTracingActive())) {
7052 Vector<RecordCanvasActionVariant> callTracerParameters;
7053 if (location)
7054 callTracerParameters.append(location);
7055 callTracerParameters.append(transpose);
7056 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, data);
7057 callTracerParameters.append(srcOffset);
7058 callTracerParameters.append(srcLength);
7059 CallTracer::recordCanvasAction(impl, "uniformMatrix2x3fv"_s, WTFMove(callTracerParameters));
7060 }
7061 impl.uniformMatrix2x3fv(WTFMove(location), WTFMove(transpose), WTFMove(data), WTFMove(srcOffset), WTFMove(srcLength));
7062 return JSValue::encode(jsUndefined());
7063}
7064
7065EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2x3fv(ExecState* state)
7066{
7067 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2x3fvBody>(*state, "uniformMatrix2x3fv");
7068}
7069
7070static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3x2fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7071{
7072 UNUSED_PARAM(state);
7073 UNUSED_PARAM(throwScope);
7074 auto& impl = castedThis->wrapped();
7075 if (UNLIKELY(state->argumentCount() < 3))
7076 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7077 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniformMatrix3x2fv", "WebGLUniformLocation"); });
7078 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7079 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
7080 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7081 auto data = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
7082 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7083 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(3));
7084 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7085 auto srcLength = convert<IDLUnsignedLong>(*state, state->argument(4));
7086 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7087 if (UNLIKELY(impl.callTracingActive())) {
7088 Vector<RecordCanvasActionVariant> callTracerParameters;
7089 if (location)
7090 callTracerParameters.append(location);
7091 callTracerParameters.append(transpose);
7092 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, data);
7093 callTracerParameters.append(srcOffset);
7094 callTracerParameters.append(srcLength);
7095 CallTracer::recordCanvasAction(impl, "uniformMatrix3x2fv"_s, WTFMove(callTracerParameters));
7096 }
7097 impl.uniformMatrix3x2fv(WTFMove(location), WTFMove(transpose), WTFMove(data), WTFMove(srcOffset), WTFMove(srcLength));
7098 return JSValue::encode(jsUndefined());
7099}
7100
7101EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3x2fv(ExecState* state)
7102{
7103 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3x2fvBody>(*state, "uniformMatrix3x2fv");
7104}
7105
7106static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2x4fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7107{
7108 UNUSED_PARAM(state);
7109 UNUSED_PARAM(throwScope);
7110 auto& impl = castedThis->wrapped();
7111 if (UNLIKELY(state->argumentCount() < 3))
7112 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7113 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniformMatrix2x4fv", "WebGLUniformLocation"); });
7114 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7115 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
7116 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7117 auto data = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
7118 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7119 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(3));
7120 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7121 auto srcLength = convert<IDLUnsignedLong>(*state, state->argument(4));
7122 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7123 if (UNLIKELY(impl.callTracingActive())) {
7124 Vector<RecordCanvasActionVariant> callTracerParameters;
7125 if (location)
7126 callTracerParameters.append(location);
7127 callTracerParameters.append(transpose);
7128 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, data);
7129 callTracerParameters.append(srcOffset);
7130 callTracerParameters.append(srcLength);
7131 CallTracer::recordCanvasAction(impl, "uniformMatrix2x4fv"_s, WTFMove(callTracerParameters));
7132 }
7133 impl.uniformMatrix2x4fv(WTFMove(location), WTFMove(transpose), WTFMove(data), WTFMove(srcOffset), WTFMove(srcLength));
7134 return JSValue::encode(jsUndefined());
7135}
7136
7137EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2x4fv(ExecState* state)
7138{
7139 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2x4fvBody>(*state, "uniformMatrix2x4fv");
7140}
7141
7142static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4x2fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7143{
7144 UNUSED_PARAM(state);
7145 UNUSED_PARAM(throwScope);
7146 auto& impl = castedThis->wrapped();
7147 if (UNLIKELY(state->argumentCount() < 3))
7148 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7149 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniformMatrix4x2fv", "WebGLUniformLocation"); });
7150 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7151 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
7152 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7153 auto data = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
7154 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7155 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(3));
7156 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7157 auto srcLength = convert<IDLUnsignedLong>(*state, state->argument(4));
7158 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7159 if (UNLIKELY(impl.callTracingActive())) {
7160 Vector<RecordCanvasActionVariant> callTracerParameters;
7161 if (location)
7162 callTracerParameters.append(location);
7163 callTracerParameters.append(transpose);
7164 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, data);
7165 callTracerParameters.append(srcOffset);
7166 callTracerParameters.append(srcLength);
7167 CallTracer::recordCanvasAction(impl, "uniformMatrix4x2fv"_s, WTFMove(callTracerParameters));
7168 }
7169 impl.uniformMatrix4x2fv(WTFMove(location), WTFMove(transpose), WTFMove(data), WTFMove(srcOffset), WTFMove(srcLength));
7170 return JSValue::encode(jsUndefined());
7171}
7172
7173EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4x2fv(ExecState* state)
7174{
7175 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4x2fvBody>(*state, "uniformMatrix4x2fv");
7176}
7177
7178static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3x4fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7179{
7180 UNUSED_PARAM(state);
7181 UNUSED_PARAM(throwScope);
7182 auto& impl = castedThis->wrapped();
7183 if (UNLIKELY(state->argumentCount() < 3))
7184 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7185 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniformMatrix3x4fv", "WebGLUniformLocation"); });
7186 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7187 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
7188 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7189 auto data = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
7190 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7191 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(3));
7192 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7193 auto srcLength = convert<IDLUnsignedLong>(*state, state->argument(4));
7194 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7195 if (UNLIKELY(impl.callTracingActive())) {
7196 Vector<RecordCanvasActionVariant> callTracerParameters;
7197 if (location)
7198 callTracerParameters.append(location);
7199 callTracerParameters.append(transpose);
7200 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, data);
7201 callTracerParameters.append(srcOffset);
7202 callTracerParameters.append(srcLength);
7203 CallTracer::recordCanvasAction(impl, "uniformMatrix3x4fv"_s, WTFMove(callTracerParameters));
7204 }
7205 impl.uniformMatrix3x4fv(WTFMove(location), WTFMove(transpose), WTFMove(data), WTFMove(srcOffset), WTFMove(srcLength));
7206 return JSValue::encode(jsUndefined());
7207}
7208
7209EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3x4fv(ExecState* state)
7210{
7211 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3x4fvBody>(*state, "uniformMatrix3x4fv");
7212}
7213
7214static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4x3fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7215{
7216 UNUSED_PARAM(state);
7217 UNUSED_PARAM(throwScope);
7218 auto& impl = castedThis->wrapped();
7219 if (UNLIKELY(state->argumentCount() < 3))
7220 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7221 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniformMatrix4x3fv", "WebGLUniformLocation"); });
7222 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7223 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
7224 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7225 auto data = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
7226 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7227 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(3));
7228 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7229 auto srcLength = convert<IDLUnsignedLong>(*state, state->argument(4));
7230 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7231 if (UNLIKELY(impl.callTracingActive())) {
7232 Vector<RecordCanvasActionVariant> callTracerParameters;
7233 if (location)
7234 callTracerParameters.append(location);
7235 callTracerParameters.append(transpose);
7236 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, data);
7237 callTracerParameters.append(srcOffset);
7238 callTracerParameters.append(srcLength);
7239 CallTracer::recordCanvasAction(impl, "uniformMatrix4x3fv"_s, WTFMove(callTracerParameters));
7240 }
7241 impl.uniformMatrix4x3fv(WTFMove(location), WTFMove(transpose), WTFMove(data), WTFMove(srcOffset), WTFMove(srcLength));
7242 return JSValue::encode(jsUndefined());
7243}
7244
7245EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4x3fv(ExecState* state)
7246{
7247 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4x3fvBody>(*state, "uniformMatrix4x3fv");
7248}
7249
7250static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4iBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7251{
7252 UNUSED_PARAM(state);
7253 UNUSED_PARAM(throwScope);
7254 auto& impl = castedThis->wrapped();
7255 if (UNLIKELY(state->argumentCount() < 5))
7256 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7257 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7258 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7259 auto x = convert<IDLLong>(*state, state->uncheckedArgument(1));
7260 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7261 auto y = convert<IDLLong>(*state, state->uncheckedArgument(2));
7262 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7263 auto z = convert<IDLLong>(*state, state->uncheckedArgument(3));
7264 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7265 auto w = convert<IDLLong>(*state, state->uncheckedArgument(4));
7266 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7267 if (UNLIKELY(impl.callTracingActive())) {
7268 Vector<RecordCanvasActionVariant> callTracerParameters;
7269 callTracerParameters.append(index);
7270 callTracerParameters.append(x);
7271 callTracerParameters.append(y);
7272 callTracerParameters.append(z);
7273 callTracerParameters.append(w);
7274 CallTracer::recordCanvasAction(impl, "vertexAttribI4i"_s, WTFMove(callTracerParameters));
7275 }
7276 impl.vertexAttribI4i(WTFMove(index), WTFMove(x), WTFMove(y), WTFMove(z), WTFMove(w));
7277 return JSValue::encode(jsUndefined());
7278}
7279
7280EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4i(ExecState* state)
7281{
7282 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4iBody>(*state, "vertexAttribI4i");
7283}
7284
7285static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4ivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7286{
7287 UNUSED_PARAM(state);
7288 UNUSED_PARAM(throwScope);
7289 auto& impl = castedThis->wrapped();
7290 if (UNLIKELY(state->argumentCount() < 2))
7291 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7292 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7293 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7294 auto values = convert<IDLUnion<IDLInt32Array, IDLSequence<IDLLong>>>(*state, state->uncheckedArgument(1));
7295 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7296 if (UNLIKELY(impl.callTracingActive())) {
7297 Vector<RecordCanvasActionVariant> callTracerParameters;
7298 callTracerParameters.append(index);
7299 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
7300 CallTracer::recordCanvasAction(impl, "vertexAttribI4iv"_s, WTFMove(callTracerParameters));
7301 }
7302 impl.vertexAttribI4iv(WTFMove(index), WTFMove(values));
7303 return JSValue::encode(jsUndefined());
7304}
7305
7306EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4iv(ExecState* state)
7307{
7308 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4ivBody>(*state, "vertexAttribI4iv");
7309}
7310
7311static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4uiBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7312{
7313 UNUSED_PARAM(state);
7314 UNUSED_PARAM(throwScope);
7315 auto& impl = castedThis->wrapped();
7316 if (UNLIKELY(state->argumentCount() < 5))
7317 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7318 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7319 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7320 auto x = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7321 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7322 auto y = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
7323 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7324 auto z = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
7325 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7326 auto w = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(4));
7327 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7328 if (UNLIKELY(impl.callTracingActive())) {
7329 Vector<RecordCanvasActionVariant> callTracerParameters;
7330 callTracerParameters.append(index);
7331 callTracerParameters.append(x);
7332 callTracerParameters.append(y);
7333 callTracerParameters.append(z);
7334 callTracerParameters.append(w);
7335 CallTracer::recordCanvasAction(impl, "vertexAttribI4ui"_s, WTFMove(callTracerParameters));
7336 }
7337 impl.vertexAttribI4ui(WTFMove(index), WTFMove(x), WTFMove(y), WTFMove(z), WTFMove(w));
7338 return JSValue::encode(jsUndefined());
7339}
7340
7341EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4ui(ExecState* state)
7342{
7343 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4uiBody>(*state, "vertexAttribI4ui");
7344}
7345
7346static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4uivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7347{
7348 UNUSED_PARAM(state);
7349 UNUSED_PARAM(throwScope);
7350 auto& impl = castedThis->wrapped();
7351 if (UNLIKELY(state->argumentCount() < 2))
7352 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7353 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7354 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7355 auto values = convert<IDLUnion<IDLUint32Array, IDLSequence<IDLUnsignedLong>>>(*state, state->uncheckedArgument(1));
7356 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7357 if (UNLIKELY(impl.callTracingActive())) {
7358 Vector<RecordCanvasActionVariant> callTracerParameters;
7359 callTracerParameters.append(index);
7360 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
7361 CallTracer::recordCanvasAction(impl, "vertexAttribI4uiv"_s, WTFMove(callTracerParameters));
7362 }
7363 impl.vertexAttribI4uiv(WTFMove(index), WTFMove(values));
7364 return JSValue::encode(jsUndefined());
7365}
7366
7367EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4uiv(ExecState* state)
7368{
7369 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttribI4uivBody>(*state, "vertexAttribI4uiv");
7370}
7371
7372static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttribIPointerBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7373{
7374 UNUSED_PARAM(state);
7375 UNUSED_PARAM(throwScope);
7376 auto& impl = castedThis->wrapped();
7377 if (UNLIKELY(state->argumentCount() < 5))
7378 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7379 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7380 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7381 auto size = convert<IDLLong>(*state, state->uncheckedArgument(1));
7382 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7383 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
7384 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7385 auto stride = convert<IDLLong>(*state, state->uncheckedArgument(3));
7386 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7387 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(4));
7388 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7389 if (UNLIKELY(impl.callTracingActive())) {
7390 Vector<RecordCanvasActionVariant> callTracerParameters;
7391 callTracerParameters.append(index);
7392 callTracerParameters.append(size);
7393 callTracerParameters.append(type);
7394 callTracerParameters.append(stride);
7395 callTracerParameters.append(offset);
7396 CallTracer::recordCanvasAction(impl, "vertexAttribIPointer"_s, WTFMove(callTracerParameters));
7397 }
7398 impl.vertexAttribIPointer(WTFMove(index), WTFMove(size), WTFMove(type), WTFMove(stride), WTFMove(offset));
7399 return JSValue::encode(jsUndefined());
7400}
7401
7402EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribIPointer(ExecState* state)
7403{
7404 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttribIPointerBody>(*state, "vertexAttribIPointer");
7405}
7406
7407static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttribDivisorBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7408{
7409 UNUSED_PARAM(state);
7410 UNUSED_PARAM(throwScope);
7411 auto& impl = castedThis->wrapped();
7412 if (UNLIKELY(state->argumentCount() < 2))
7413 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7414 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7415 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7416 auto divisor = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7417 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7418 if (UNLIKELY(impl.callTracingActive())) {
7419 Vector<RecordCanvasActionVariant> callTracerParameters;
7420 callTracerParameters.append(index);
7421 callTracerParameters.append(divisor);
7422 CallTracer::recordCanvasAction(impl, "vertexAttribDivisor"_s, WTFMove(callTracerParameters));
7423 }
7424 impl.vertexAttribDivisor(WTFMove(index), WTFMove(divisor));
7425 return JSValue::encode(jsUndefined());
7426}
7427
7428EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribDivisor(ExecState* state)
7429{
7430 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttribDivisorBody>(*state, "vertexAttribDivisor");
7431}
7432
7433static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDrawArraysInstancedBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7434{
7435 UNUSED_PARAM(state);
7436 UNUSED_PARAM(throwScope);
7437 auto& impl = castedThis->wrapped();
7438 if (UNLIKELY(state->argumentCount() < 4))
7439 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7440 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7441 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7442 auto first = convert<IDLLong>(*state, state->uncheckedArgument(1));
7443 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7444 auto count = convert<IDLLong>(*state, state->uncheckedArgument(2));
7445 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7446 auto instanceCount = convert<IDLLong>(*state, state->uncheckedArgument(3));
7447 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7448 if (UNLIKELY(impl.callTracingActive())) {
7449 Vector<RecordCanvasActionVariant> callTracerParameters;
7450 callTracerParameters.append(mode);
7451 callTracerParameters.append(first);
7452 callTracerParameters.append(count);
7453 callTracerParameters.append(instanceCount);
7454 CallTracer::recordCanvasAction(impl, "drawArraysInstanced"_s, WTFMove(callTracerParameters));
7455 }
7456 impl.drawArraysInstanced(WTFMove(mode), WTFMove(first), WTFMove(count), WTFMove(instanceCount));
7457 return JSValue::encode(jsUndefined());
7458}
7459
7460EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawArraysInstanced(ExecState* state)
7461{
7462 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDrawArraysInstancedBody>(*state, "drawArraysInstanced");
7463}
7464
7465static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDrawElementsInstancedBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7466{
7467 UNUSED_PARAM(state);
7468 UNUSED_PARAM(throwScope);
7469 auto& impl = castedThis->wrapped();
7470 if (UNLIKELY(state->argumentCount() < 5))
7471 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7472 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7473 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7474 auto count = convert<IDLLong>(*state, state->uncheckedArgument(1));
7475 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7476 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
7477 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7478 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(3));
7479 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7480 auto instanceCount = convert<IDLLong>(*state, state->uncheckedArgument(4));
7481 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7482 if (UNLIKELY(impl.callTracingActive())) {
7483 Vector<RecordCanvasActionVariant> callTracerParameters;
7484 callTracerParameters.append(mode);
7485 callTracerParameters.append(count);
7486 callTracerParameters.append(type);
7487 callTracerParameters.append(offset);
7488 callTracerParameters.append(instanceCount);
7489 CallTracer::recordCanvasAction(impl, "drawElementsInstanced"_s, WTFMove(callTracerParameters));
7490 }
7491 impl.drawElementsInstanced(WTFMove(mode), WTFMove(count), WTFMove(type), WTFMove(offset), WTFMove(instanceCount));
7492 return JSValue::encode(jsUndefined());
7493}
7494
7495EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawElementsInstanced(ExecState* state)
7496{
7497 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDrawElementsInstancedBody>(*state, "drawElementsInstanced");
7498}
7499
7500static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDrawRangeElementsBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7501{
7502 UNUSED_PARAM(state);
7503 UNUSED_PARAM(throwScope);
7504 auto& impl = castedThis->wrapped();
7505 if (UNLIKELY(state->argumentCount() < 6))
7506 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7507 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7508 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7509 auto start = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7510 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7511 auto end = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
7512 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7513 auto count = convert<IDLLong>(*state, state->uncheckedArgument(3));
7514 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7515 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(4));
7516 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7517 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(5));
7518 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7519 if (UNLIKELY(impl.callTracingActive())) {
7520 Vector<RecordCanvasActionVariant> callTracerParameters;
7521 callTracerParameters.append(mode);
7522 callTracerParameters.append(start);
7523 callTracerParameters.append(end);
7524 callTracerParameters.append(count);
7525 callTracerParameters.append(type);
7526 callTracerParameters.append(offset);
7527 CallTracer::recordCanvasAction(impl, "drawRangeElements"_s, WTFMove(callTracerParameters));
7528 }
7529 impl.drawRangeElements(WTFMove(mode), WTFMove(start), WTFMove(end), WTFMove(count), WTFMove(type), WTFMove(offset));
7530 return JSValue::encode(jsUndefined());
7531}
7532
7533EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawRangeElements(ExecState* state)
7534{
7535 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDrawRangeElementsBody>(*state, "drawRangeElements");
7536}
7537
7538static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDrawBuffersBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7539{
7540 UNUSED_PARAM(state);
7541 UNUSED_PARAM(throwScope);
7542 auto& impl = castedThis->wrapped();
7543 if (UNLIKELY(state->argumentCount() < 1))
7544 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7545 auto buffers = convert<IDLSequence<IDLUnsignedLong>>(*state, state->uncheckedArgument(0));
7546 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7547 if (UNLIKELY(impl.callTracingActive())) {
7548 Vector<RecordCanvasActionVariant> callTracerParameters;
7549 callTracerParameters.append(buffers);
7550 CallTracer::recordCanvasAction(impl, "drawBuffers"_s, WTFMove(callTracerParameters));
7551 }
7552 impl.drawBuffers(WTFMove(buffers));
7553 return JSValue::encode(jsUndefined());
7554}
7555
7556EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawBuffers(ExecState* state)
7557{
7558 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDrawBuffersBody>(*state, "drawBuffers");
7559}
7560
7561static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionClearBufferivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7562{
7563 UNUSED_PARAM(state);
7564 UNUSED_PARAM(throwScope);
7565 auto& impl = castedThis->wrapped();
7566 if (UNLIKELY(state->argumentCount() < 3))
7567 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7568 auto buffer = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7569 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7570 auto drawbuffer = convert<IDLLong>(*state, state->uncheckedArgument(1));
7571 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7572 auto values = convert<IDLUnion<IDLInt32Array, IDLSequence<IDLLong>>>(*state, state->uncheckedArgument(2));
7573 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7574 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(3));
7575 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7576 if (UNLIKELY(impl.callTracingActive())) {
7577 Vector<RecordCanvasActionVariant> callTracerParameters;
7578 callTracerParameters.append(buffer);
7579 callTracerParameters.append(drawbuffer);
7580 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
7581 callTracerParameters.append(srcOffset);
7582 CallTracer::recordCanvasAction(impl, "clearBufferiv"_s, WTFMove(callTracerParameters));
7583 }
7584 impl.clearBufferiv(WTFMove(buffer), WTFMove(drawbuffer), WTFMove(values), WTFMove(srcOffset));
7585 return JSValue::encode(jsUndefined());
7586}
7587
7588EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearBufferiv(ExecState* state)
7589{
7590 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionClearBufferivBody>(*state, "clearBufferiv");
7591}
7592
7593static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionClearBufferuivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7594{
7595 UNUSED_PARAM(state);
7596 UNUSED_PARAM(throwScope);
7597 auto& impl = castedThis->wrapped();
7598 if (UNLIKELY(state->argumentCount() < 3))
7599 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7600 auto buffer = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7601 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7602 auto drawbuffer = convert<IDLLong>(*state, state->uncheckedArgument(1));
7603 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7604 auto values = convert<IDLUnion<IDLUint32Array, IDLSequence<IDLUnsignedLong>>>(*state, state->uncheckedArgument(2));
7605 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7606 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(3));
7607 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7608 if (UNLIKELY(impl.callTracingActive())) {
7609 Vector<RecordCanvasActionVariant> callTracerParameters;
7610 callTracerParameters.append(buffer);
7611 callTracerParameters.append(drawbuffer);
7612 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
7613 callTracerParameters.append(srcOffset);
7614 CallTracer::recordCanvasAction(impl, "clearBufferuiv"_s, WTFMove(callTracerParameters));
7615 }
7616 impl.clearBufferuiv(WTFMove(buffer), WTFMove(drawbuffer), WTFMove(values), WTFMove(srcOffset));
7617 return JSValue::encode(jsUndefined());
7618}
7619
7620EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearBufferuiv(ExecState* state)
7621{
7622 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionClearBufferuivBody>(*state, "clearBufferuiv");
7623}
7624
7625static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionClearBufferfvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7626{
7627 UNUSED_PARAM(state);
7628 UNUSED_PARAM(throwScope);
7629 auto& impl = castedThis->wrapped();
7630 if (UNLIKELY(state->argumentCount() < 3))
7631 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7632 auto buffer = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7633 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7634 auto drawbuffer = convert<IDLLong>(*state, state->uncheckedArgument(1));
7635 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7636 auto values = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
7637 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7638 auto srcOffset = convert<IDLUnsignedLong>(*state, state->argument(3));
7639 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7640 if (UNLIKELY(impl.callTracingActive())) {
7641 Vector<RecordCanvasActionVariant> callTracerParameters;
7642 callTracerParameters.append(buffer);
7643 callTracerParameters.append(drawbuffer);
7644 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
7645 callTracerParameters.append(srcOffset);
7646 CallTracer::recordCanvasAction(impl, "clearBufferfv"_s, WTFMove(callTracerParameters));
7647 }
7648 impl.clearBufferfv(WTFMove(buffer), WTFMove(drawbuffer), WTFMove(values), WTFMove(srcOffset));
7649 return JSValue::encode(jsUndefined());
7650}
7651
7652EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearBufferfv(ExecState* state)
7653{
7654 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionClearBufferfvBody>(*state, "clearBufferfv");
7655}
7656
7657static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionClearBufferfiBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7658{
7659 UNUSED_PARAM(state);
7660 UNUSED_PARAM(throwScope);
7661 auto& impl = castedThis->wrapped();
7662 if (UNLIKELY(state->argumentCount() < 4))
7663 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7664 auto buffer = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7665 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7666 auto drawbuffer = convert<IDLLong>(*state, state->uncheckedArgument(1));
7667 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7668 auto depth = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
7669 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7670 auto stencil = convert<IDLLong>(*state, state->uncheckedArgument(3));
7671 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7672 if (UNLIKELY(impl.callTracingActive())) {
7673 Vector<RecordCanvasActionVariant> callTracerParameters;
7674 callTracerParameters.append(buffer);
7675 callTracerParameters.append(drawbuffer);
7676 callTracerParameters.append(depth);
7677 callTracerParameters.append(stencil);
7678 CallTracer::recordCanvasAction(impl, "clearBufferfi"_s, WTFMove(callTracerParameters));
7679 }
7680 impl.clearBufferfi(WTFMove(buffer), WTFMove(drawbuffer), WTFMove(depth), WTFMove(stencil));
7681 return JSValue::encode(jsUndefined());
7682}
7683
7684EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearBufferfi(ExecState* state)
7685{
7686 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionClearBufferfiBody>(*state, "clearBufferfi");
7687}
7688
7689static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCreateQueryBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7690{
7691 UNUSED_PARAM(state);
7692 UNUSED_PARAM(throwScope);
7693 auto& impl = castedThis->wrapped();
7694 if (UNLIKELY(impl.callTracingActive()))
7695 CallTracer::recordCanvasAction(impl, "createQuery"_s);
7696 return JSValue::encode(toJS<IDLNullable<IDLInterface<WebGLQuery>>>(*state, *castedThis->globalObject(), impl.createQuery()));
7697}
7698
7699EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateQuery(ExecState* state)
7700{
7701 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCreateQueryBody>(*state, "createQuery");
7702}
7703
7704static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDeleteQueryBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7705{
7706 UNUSED_PARAM(state);
7707 UNUSED_PARAM(throwScope);
7708 auto& impl = castedThis->wrapped();
7709 if (UNLIKELY(state->argumentCount() < 1))
7710 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7711 auto query = convert<IDLNullable<IDLInterface<WebGLQuery>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "query", "WebGL2RenderingContext", "deleteQuery", "WebGLQuery"); });
7712 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7713 if (UNLIKELY(impl.callTracingActive())) {
7714 Vector<RecordCanvasActionVariant> callTracerParameters;
7715 if (query)
7716 callTracerParameters.append(query);
7717 CallTracer::recordCanvasAction(impl, "deleteQuery"_s, WTFMove(callTracerParameters));
7718 }
7719 impl.deleteQuery(WTFMove(query));
7720 return JSValue::encode(jsUndefined());
7721}
7722
7723EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteQuery(ExecState* state)
7724{
7725 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDeleteQueryBody>(*state, "deleteQuery");
7726}
7727
7728static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsQueryBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7729{
7730 UNUSED_PARAM(state);
7731 UNUSED_PARAM(throwScope);
7732 auto& impl = castedThis->wrapped();
7733 if (UNLIKELY(state->argumentCount() < 1))
7734 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7735 auto query = convert<IDLNullable<IDLInterface<WebGLQuery>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "query", "WebGL2RenderingContext", "isQuery", "WebGLQuery"); });
7736 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7737 if (UNLIKELY(impl.callTracingActive())) {
7738 Vector<RecordCanvasActionVariant> callTracerParameters;
7739 if (query)
7740 callTracerParameters.append(query);
7741 CallTracer::recordCanvasAction(impl, "isQuery"_s, WTFMove(callTracerParameters));
7742 }
7743 return JSValue::encode(toJS<IDLBoolean>(impl.isQuery(WTFMove(query))));
7744}
7745
7746EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsQuery(ExecState* state)
7747{
7748 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsQueryBody>(*state, "isQuery");
7749}
7750
7751static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBeginQueryBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7752{
7753 UNUSED_PARAM(state);
7754 UNUSED_PARAM(throwScope);
7755 auto& impl = castedThis->wrapped();
7756 if (UNLIKELY(state->argumentCount() < 2))
7757 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7758 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7759 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7760 auto query = convert<IDLInterface<WebGLQuery>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "query", "WebGL2RenderingContext", "beginQuery", "WebGLQuery"); });
7761 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7762 if (UNLIKELY(impl.callTracingActive())) {
7763 Vector<RecordCanvasActionVariant> callTracerParameters;
7764 callTracerParameters.append(target);
7765 callTracerParameters.append(query);
7766 CallTracer::recordCanvasAction(impl, "beginQuery"_s, WTFMove(callTracerParameters));
7767 }
7768 impl.beginQuery(WTFMove(target), *query);
7769 return JSValue::encode(jsUndefined());
7770}
7771
7772EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBeginQuery(ExecState* state)
7773{
7774 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBeginQueryBody>(*state, "beginQuery");
7775}
7776
7777static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionEndQueryBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7778{
7779 UNUSED_PARAM(state);
7780 UNUSED_PARAM(throwScope);
7781 auto& impl = castedThis->wrapped();
7782 if (UNLIKELY(state->argumentCount() < 1))
7783 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7784 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7785 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7786 if (UNLIKELY(impl.callTracingActive())) {
7787 Vector<RecordCanvasActionVariant> callTracerParameters;
7788 callTracerParameters.append(target);
7789 CallTracer::recordCanvasAction(impl, "endQuery"_s, WTFMove(callTracerParameters));
7790 }
7791 impl.endQuery(WTFMove(target));
7792 return JSValue::encode(jsUndefined());
7793}
7794
7795EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionEndQuery(ExecState* state)
7796{
7797 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionEndQueryBody>(*state, "endQuery");
7798}
7799
7800static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetQueryBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7801{
7802 UNUSED_PARAM(state);
7803 UNUSED_PARAM(throwScope);
7804 auto& impl = castedThis->wrapped();
7805 if (UNLIKELY(state->argumentCount() < 2))
7806 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7807 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7808 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7809 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7810 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7811 if (UNLIKELY(impl.callTracingActive())) {
7812 Vector<RecordCanvasActionVariant> callTracerParameters;
7813 callTracerParameters.append(target);
7814 callTracerParameters.append(pname);
7815 CallTracer::recordCanvasAction(impl, "getQuery"_s, WTFMove(callTracerParameters));
7816 }
7817 return JSValue::encode(toJS<IDLNullable<IDLInterface<WebGLQuery>>>(*state, *castedThis->globalObject(), impl.getQuery(WTFMove(target), WTFMove(pname))));
7818}
7819
7820EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetQuery(ExecState* state)
7821{
7822 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetQueryBody>(*state, "getQuery");
7823}
7824
7825static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetQueryParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7826{
7827 UNUSED_PARAM(state);
7828 UNUSED_PARAM(throwScope);
7829 auto& impl = castedThis->wrapped();
7830 if (UNLIKELY(state->argumentCount() < 2))
7831 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7832 auto query = convert<IDLInterface<WebGLQuery>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "query", "WebGL2RenderingContext", "getQueryParameter", "WebGLQuery"); });
7833 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7834 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7835 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7836 if (UNLIKELY(impl.callTracingActive())) {
7837 Vector<RecordCanvasActionVariant> callTracerParameters;
7838 callTracerParameters.append(query);
7839 callTracerParameters.append(pname);
7840 CallTracer::recordCanvasAction(impl, "getQueryParameter"_s, WTFMove(callTracerParameters));
7841 }
7842 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getQueryParameter(*query, WTFMove(pname))));
7843}
7844
7845EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetQueryParameter(ExecState* state)
7846{
7847 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetQueryParameterBody>(*state, "getQueryParameter");
7848}
7849
7850static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCreateSamplerBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7851{
7852 UNUSED_PARAM(state);
7853 UNUSED_PARAM(throwScope);
7854 auto& impl = castedThis->wrapped();
7855 if (UNLIKELY(impl.callTracingActive()))
7856 CallTracer::recordCanvasAction(impl, "createSampler"_s);
7857 return JSValue::encode(toJS<IDLNullable<IDLInterface<WebGLSampler>>>(*state, *castedThis->globalObject(), impl.createSampler()));
7858}
7859
7860EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateSampler(ExecState* state)
7861{
7862 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCreateSamplerBody>(*state, "createSampler");
7863}
7864
7865static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDeleteSamplerBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7866{
7867 UNUSED_PARAM(state);
7868 UNUSED_PARAM(throwScope);
7869 auto& impl = castedThis->wrapped();
7870 if (UNLIKELY(state->argumentCount() < 1))
7871 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7872 auto sampler = convert<IDLNullable<IDLInterface<WebGLSampler>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "sampler", "WebGL2RenderingContext", "deleteSampler", "WebGLSampler"); });
7873 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7874 if (UNLIKELY(impl.callTracingActive())) {
7875 Vector<RecordCanvasActionVariant> callTracerParameters;
7876 if (sampler)
7877 callTracerParameters.append(sampler);
7878 CallTracer::recordCanvasAction(impl, "deleteSampler"_s, WTFMove(callTracerParameters));
7879 }
7880 impl.deleteSampler(WTFMove(sampler));
7881 return JSValue::encode(jsUndefined());
7882}
7883
7884EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteSampler(ExecState* state)
7885{
7886 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDeleteSamplerBody>(*state, "deleteSampler");
7887}
7888
7889static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsSamplerBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7890{
7891 UNUSED_PARAM(state);
7892 UNUSED_PARAM(throwScope);
7893 auto& impl = castedThis->wrapped();
7894 if (UNLIKELY(state->argumentCount() < 1))
7895 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7896 auto sampler = convert<IDLNullable<IDLInterface<WebGLSampler>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "sampler", "WebGL2RenderingContext", "isSampler", "WebGLSampler"); });
7897 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7898 if (UNLIKELY(impl.callTracingActive())) {
7899 Vector<RecordCanvasActionVariant> callTracerParameters;
7900 if (sampler)
7901 callTracerParameters.append(sampler);
7902 CallTracer::recordCanvasAction(impl, "isSampler"_s, WTFMove(callTracerParameters));
7903 }
7904 return JSValue::encode(toJS<IDLBoolean>(impl.isSampler(WTFMove(sampler))));
7905}
7906
7907EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsSampler(ExecState* state)
7908{
7909 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsSamplerBody>(*state, "isSampler");
7910}
7911
7912static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBindSamplerBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7913{
7914 UNUSED_PARAM(state);
7915 UNUSED_PARAM(throwScope);
7916 auto& impl = castedThis->wrapped();
7917 if (UNLIKELY(state->argumentCount() < 2))
7918 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7919 auto unit = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
7920 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7921 auto sampler = convert<IDLNullable<IDLInterface<WebGLSampler>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "sampler", "WebGL2RenderingContext", "bindSampler", "WebGLSampler"); });
7922 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7923 if (UNLIKELY(impl.callTracingActive())) {
7924 Vector<RecordCanvasActionVariant> callTracerParameters;
7925 callTracerParameters.append(unit);
7926 if (sampler)
7927 callTracerParameters.append(sampler);
7928 CallTracer::recordCanvasAction(impl, "bindSampler"_s, WTFMove(callTracerParameters));
7929 }
7930 impl.bindSampler(WTFMove(unit), WTFMove(sampler));
7931 return JSValue::encode(jsUndefined());
7932}
7933
7934EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindSampler(ExecState* state)
7935{
7936 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBindSamplerBody>(*state, "bindSampler");
7937}
7938
7939static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionSamplerParameteriBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7940{
7941 UNUSED_PARAM(state);
7942 UNUSED_PARAM(throwScope);
7943 auto& impl = castedThis->wrapped();
7944 if (UNLIKELY(state->argumentCount() < 3))
7945 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7946 auto sampler = convert<IDLInterface<WebGLSampler>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "sampler", "WebGL2RenderingContext", "samplerParameteri", "WebGLSampler"); });
7947 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7948 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7949 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7950 auto param = convert<IDLLong>(*state, state->uncheckedArgument(2));
7951 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7952 if (UNLIKELY(impl.callTracingActive())) {
7953 Vector<RecordCanvasActionVariant> callTracerParameters;
7954 callTracerParameters.append(sampler);
7955 callTracerParameters.append(pname);
7956 callTracerParameters.append(param);
7957 CallTracer::recordCanvasAction(impl, "samplerParameteri"_s, WTFMove(callTracerParameters));
7958 }
7959 impl.samplerParameteri(*sampler, WTFMove(pname), WTFMove(param));
7960 return JSValue::encode(jsUndefined());
7961}
7962
7963EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionSamplerParameteri(ExecState* state)
7964{
7965 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionSamplerParameteriBody>(*state, "samplerParameteri");
7966}
7967
7968static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionSamplerParameterfBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7969{
7970 UNUSED_PARAM(state);
7971 UNUSED_PARAM(throwScope);
7972 auto& impl = castedThis->wrapped();
7973 if (UNLIKELY(state->argumentCount() < 3))
7974 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
7975 auto sampler = convert<IDLInterface<WebGLSampler>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "sampler", "WebGL2RenderingContext", "samplerParameterf", "WebGLSampler"); });
7976 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7977 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
7978 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7979 auto param = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
7980 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
7981 if (UNLIKELY(impl.callTracingActive())) {
7982 Vector<RecordCanvasActionVariant> callTracerParameters;
7983 callTracerParameters.append(sampler);
7984 callTracerParameters.append(pname);
7985 callTracerParameters.append(param);
7986 CallTracer::recordCanvasAction(impl, "samplerParameterf"_s, WTFMove(callTracerParameters));
7987 }
7988 impl.samplerParameterf(*sampler, WTFMove(pname), WTFMove(param));
7989 return JSValue::encode(jsUndefined());
7990}
7991
7992EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionSamplerParameterf(ExecState* state)
7993{
7994 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionSamplerParameterfBody>(*state, "samplerParameterf");
7995}
7996
7997static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetSamplerParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
7998{
7999 UNUSED_PARAM(state);
8000 UNUSED_PARAM(throwScope);
8001 auto& impl = castedThis->wrapped();
8002 if (UNLIKELY(state->argumentCount() < 2))
8003 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8004 auto sampler = convert<IDLInterface<WebGLSampler>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "sampler", "WebGL2RenderingContext", "getSamplerParameter", "WebGLSampler"); });
8005 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8006 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8007 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8008 if (UNLIKELY(impl.callTracingActive())) {
8009 Vector<RecordCanvasActionVariant> callTracerParameters;
8010 callTracerParameters.append(sampler);
8011 callTracerParameters.append(pname);
8012 CallTracer::recordCanvasAction(impl, "getSamplerParameter"_s, WTFMove(callTracerParameters));
8013 }
8014 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getSamplerParameter(*sampler, WTFMove(pname))));
8015}
8016
8017EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetSamplerParameter(ExecState* state)
8018{
8019 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetSamplerParameterBody>(*state, "getSamplerParameter");
8020}
8021
8022static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionFenceSyncBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8023{
8024 UNUSED_PARAM(state);
8025 UNUSED_PARAM(throwScope);
8026 auto& impl = castedThis->wrapped();
8027 if (UNLIKELY(state->argumentCount() < 2))
8028 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8029 auto condition = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8030 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8031 auto flags = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8032 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8033 if (UNLIKELY(impl.callTracingActive())) {
8034 Vector<RecordCanvasActionVariant> callTracerParameters;
8035 callTracerParameters.append(condition);
8036 callTracerParameters.append(flags);
8037 CallTracer::recordCanvasAction(impl, "fenceSync"_s, WTFMove(callTracerParameters));
8038 }
8039 return JSValue::encode(toJS<IDLNullable<IDLInterface<WebGLSync>>>(*state, *castedThis->globalObject(), impl.fenceSync(WTFMove(condition), WTFMove(flags))));
8040}
8041
8042EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFenceSync(ExecState* state)
8043{
8044 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionFenceSyncBody>(*state, "fenceSync");
8045}
8046
8047static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsSyncBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8048{
8049 UNUSED_PARAM(state);
8050 UNUSED_PARAM(throwScope);
8051 auto& impl = castedThis->wrapped();
8052 if (UNLIKELY(state->argumentCount() < 1))
8053 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8054 auto sync = convert<IDLNullable<IDLInterface<WebGLSync>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "sync", "WebGL2RenderingContext", "isSync", "WebGLSync"); });
8055 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8056 if (UNLIKELY(impl.callTracingActive())) {
8057 Vector<RecordCanvasActionVariant> callTracerParameters;
8058 if (sync)
8059 callTracerParameters.append(sync);
8060 CallTracer::recordCanvasAction(impl, "isSync"_s, WTFMove(callTracerParameters));
8061 }
8062 return JSValue::encode(toJS<IDLBoolean>(impl.isSync(WTFMove(sync))));
8063}
8064
8065EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsSync(ExecState* state)
8066{
8067 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsSyncBody>(*state, "isSync");
8068}
8069
8070static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDeleteSyncBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8071{
8072 UNUSED_PARAM(state);
8073 UNUSED_PARAM(throwScope);
8074 auto& impl = castedThis->wrapped();
8075 if (UNLIKELY(state->argumentCount() < 1))
8076 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8077 auto sync = convert<IDLNullable<IDLInterface<WebGLSync>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "sync", "WebGL2RenderingContext", "deleteSync", "WebGLSync"); });
8078 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8079 if (UNLIKELY(impl.callTracingActive())) {
8080 Vector<RecordCanvasActionVariant> callTracerParameters;
8081 if (sync)
8082 callTracerParameters.append(sync);
8083 CallTracer::recordCanvasAction(impl, "deleteSync"_s, WTFMove(callTracerParameters));
8084 }
8085 impl.deleteSync(WTFMove(sync));
8086 return JSValue::encode(jsUndefined());
8087}
8088
8089EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteSync(ExecState* state)
8090{
8091 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDeleteSyncBody>(*state, "deleteSync");
8092}
8093
8094static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionClientWaitSyncBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8095{
8096 UNUSED_PARAM(state);
8097 UNUSED_PARAM(throwScope);
8098 auto& impl = castedThis->wrapped();
8099 if (UNLIKELY(state->argumentCount() < 3))
8100 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8101 auto sync = convert<IDLInterface<WebGLSync>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "sync", "WebGL2RenderingContext", "clientWaitSync", "WebGLSync"); });
8102 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8103 auto flags = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8104 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8105 auto timeout = convert<IDLUnsignedLongLong>(*state, state->uncheckedArgument(2));
8106 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8107 if (UNLIKELY(impl.callTracingActive())) {
8108 Vector<RecordCanvasActionVariant> callTracerParameters;
8109 callTracerParameters.append(sync);
8110 callTracerParameters.append(flags);
8111 callTracerParameters.append(timeout);
8112 CallTracer::recordCanvasAction(impl, "clientWaitSync"_s, WTFMove(callTracerParameters));
8113 }
8114 return JSValue::encode(toJS<IDLUnsignedLong>(impl.clientWaitSync(*sync, WTFMove(flags), WTFMove(timeout))));
8115}
8116
8117EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClientWaitSync(ExecState* state)
8118{
8119 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionClientWaitSyncBody>(*state, "clientWaitSync");
8120}
8121
8122static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionWaitSyncBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8123{
8124 UNUSED_PARAM(state);
8125 UNUSED_PARAM(throwScope);
8126 auto& impl = castedThis->wrapped();
8127 if (UNLIKELY(state->argumentCount() < 3))
8128 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8129 auto sync = convert<IDLInterface<WebGLSync>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "sync", "WebGL2RenderingContext", "waitSync", "WebGLSync"); });
8130 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8131 auto flags = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8132 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8133 auto timeout = convert<IDLLongLong>(*state, state->uncheckedArgument(2));
8134 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8135 if (UNLIKELY(impl.callTracingActive())) {
8136 Vector<RecordCanvasActionVariant> callTracerParameters;
8137 callTracerParameters.append(sync);
8138 callTracerParameters.append(flags);
8139 callTracerParameters.append(timeout);
8140 CallTracer::recordCanvasAction(impl, "waitSync"_s, WTFMove(callTracerParameters));
8141 }
8142 impl.waitSync(*sync, WTFMove(flags), WTFMove(timeout));
8143 return JSValue::encode(jsUndefined());
8144}
8145
8146EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionWaitSync(ExecState* state)
8147{
8148 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionWaitSyncBody>(*state, "waitSync");
8149}
8150
8151static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetSyncParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8152{
8153 UNUSED_PARAM(state);
8154 UNUSED_PARAM(throwScope);
8155 auto& impl = castedThis->wrapped();
8156 if (UNLIKELY(state->argumentCount() < 2))
8157 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8158 auto sync = convert<IDLInterface<WebGLSync>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "sync", "WebGL2RenderingContext", "getSyncParameter", "WebGLSync"); });
8159 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8160 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8161 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8162 if (UNLIKELY(impl.callTracingActive())) {
8163 Vector<RecordCanvasActionVariant> callTracerParameters;
8164 callTracerParameters.append(sync);
8165 callTracerParameters.append(pname);
8166 CallTracer::recordCanvasAction(impl, "getSyncParameter"_s, WTFMove(callTracerParameters));
8167 }
8168 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getSyncParameter(*sync, WTFMove(pname))));
8169}
8170
8171EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetSyncParameter(ExecState* state)
8172{
8173 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetSyncParameterBody>(*state, "getSyncParameter");
8174}
8175
8176static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCreateTransformFeedbackBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8177{
8178 UNUSED_PARAM(state);
8179 UNUSED_PARAM(throwScope);
8180 auto& impl = castedThis->wrapped();
8181 if (UNLIKELY(impl.callTracingActive()))
8182 CallTracer::recordCanvasAction(impl, "createTransformFeedback"_s);
8183 return JSValue::encode(toJS<IDLNullable<IDLInterface<WebGLTransformFeedback>>>(*state, *castedThis->globalObject(), impl.createTransformFeedback()));
8184}
8185
8186EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateTransformFeedback(ExecState* state)
8187{
8188 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCreateTransformFeedbackBody>(*state, "createTransformFeedback");
8189}
8190
8191static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDeleteTransformFeedbackBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8192{
8193 UNUSED_PARAM(state);
8194 UNUSED_PARAM(throwScope);
8195 auto& impl = castedThis->wrapped();
8196 if (UNLIKELY(state->argumentCount() < 1))
8197 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8198 auto id = convert<IDLNullable<IDLInterface<WebGLTransformFeedback>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "id", "WebGL2RenderingContext", "deleteTransformFeedback", "WebGLTransformFeedback"); });
8199 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8200 if (UNLIKELY(impl.callTracingActive())) {
8201 Vector<RecordCanvasActionVariant> callTracerParameters;
8202 if (id)
8203 callTracerParameters.append(id);
8204 CallTracer::recordCanvasAction(impl, "deleteTransformFeedback"_s, WTFMove(callTracerParameters));
8205 }
8206 impl.deleteTransformFeedback(WTFMove(id));
8207 return JSValue::encode(jsUndefined());
8208}
8209
8210EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteTransformFeedback(ExecState* state)
8211{
8212 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDeleteTransformFeedbackBody>(*state, "deleteTransformFeedback");
8213}
8214
8215static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsTransformFeedbackBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8216{
8217 UNUSED_PARAM(state);
8218 UNUSED_PARAM(throwScope);
8219 auto& impl = castedThis->wrapped();
8220 if (UNLIKELY(state->argumentCount() < 1))
8221 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8222 auto id = convert<IDLNullable<IDLInterface<WebGLTransformFeedback>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "id", "WebGL2RenderingContext", "isTransformFeedback", "WebGLTransformFeedback"); });
8223 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8224 if (UNLIKELY(impl.callTracingActive())) {
8225 Vector<RecordCanvasActionVariant> callTracerParameters;
8226 if (id)
8227 callTracerParameters.append(id);
8228 CallTracer::recordCanvasAction(impl, "isTransformFeedback"_s, WTFMove(callTracerParameters));
8229 }
8230 return JSValue::encode(toJS<IDLBoolean>(impl.isTransformFeedback(WTFMove(id))));
8231}
8232
8233EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsTransformFeedback(ExecState* state)
8234{
8235 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsTransformFeedbackBody>(*state, "isTransformFeedback");
8236}
8237
8238static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBindTransformFeedbackBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8239{
8240 UNUSED_PARAM(state);
8241 UNUSED_PARAM(throwScope);
8242 auto& impl = castedThis->wrapped();
8243 if (UNLIKELY(state->argumentCount() < 2))
8244 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8245 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8246 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8247 auto id = convert<IDLNullable<IDLInterface<WebGLTransformFeedback>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "id", "WebGL2RenderingContext", "bindTransformFeedback", "WebGLTransformFeedback"); });
8248 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8249 if (UNLIKELY(impl.callTracingActive())) {
8250 Vector<RecordCanvasActionVariant> callTracerParameters;
8251 callTracerParameters.append(target);
8252 if (id)
8253 callTracerParameters.append(id);
8254 CallTracer::recordCanvasAction(impl, "bindTransformFeedback"_s, WTFMove(callTracerParameters));
8255 }
8256 impl.bindTransformFeedback(WTFMove(target), WTFMove(id));
8257 return JSValue::encode(jsUndefined());
8258}
8259
8260EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindTransformFeedback(ExecState* state)
8261{
8262 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBindTransformFeedbackBody>(*state, "bindTransformFeedback");
8263}
8264
8265static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBeginTransformFeedbackBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8266{
8267 UNUSED_PARAM(state);
8268 UNUSED_PARAM(throwScope);
8269 auto& impl = castedThis->wrapped();
8270 if (UNLIKELY(state->argumentCount() < 1))
8271 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8272 auto primitiveMode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8273 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8274 if (UNLIKELY(impl.callTracingActive())) {
8275 Vector<RecordCanvasActionVariant> callTracerParameters;
8276 callTracerParameters.append(primitiveMode);
8277 CallTracer::recordCanvasAction(impl, "beginTransformFeedback"_s, WTFMove(callTracerParameters));
8278 }
8279 impl.beginTransformFeedback(WTFMove(primitiveMode));
8280 return JSValue::encode(jsUndefined());
8281}
8282
8283EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBeginTransformFeedback(ExecState* state)
8284{
8285 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBeginTransformFeedbackBody>(*state, "beginTransformFeedback");
8286}
8287
8288static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionEndTransformFeedbackBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8289{
8290 UNUSED_PARAM(state);
8291 UNUSED_PARAM(throwScope);
8292 auto& impl = castedThis->wrapped();
8293 if (UNLIKELY(impl.callTracingActive()))
8294 CallTracer::recordCanvasAction(impl, "endTransformFeedback"_s);
8295 impl.endTransformFeedback();
8296 return JSValue::encode(jsUndefined());
8297}
8298
8299EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionEndTransformFeedback(ExecState* state)
8300{
8301 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionEndTransformFeedbackBody>(*state, "endTransformFeedback");
8302}
8303
8304static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTransformFeedbackVaryingsBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8305{
8306 UNUSED_PARAM(state);
8307 UNUSED_PARAM(throwScope);
8308 auto& impl = castedThis->wrapped();
8309 if (UNLIKELY(state->argumentCount() < 3))
8310 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8311 auto program = convert<IDLInterface<WebGLProgram>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "transformFeedbackVaryings", "WebGLProgram"); });
8312 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8313 auto varyings = convert<IDLSequence<IDLDOMString>>(*state, state->uncheckedArgument(1));
8314 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8315 auto bufferMode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
8316 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8317 if (UNLIKELY(impl.callTracingActive())) {
8318 Vector<RecordCanvasActionVariant> callTracerParameters;
8319 callTracerParameters.append(program);
8320 callTracerParameters.append(varyings);
8321 callTracerParameters.append(bufferMode);
8322 CallTracer::recordCanvasAction(impl, "transformFeedbackVaryings"_s, WTFMove(callTracerParameters));
8323 }
8324 impl.transformFeedbackVaryings(*program, WTFMove(varyings), WTFMove(bufferMode));
8325 return JSValue::encode(jsUndefined());
8326}
8327
8328EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTransformFeedbackVaryings(ExecState* state)
8329{
8330 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionTransformFeedbackVaryingsBody>(*state, "transformFeedbackVaryings");
8331}
8332
8333static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetTransformFeedbackVaryingBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8334{
8335 UNUSED_PARAM(state);
8336 UNUSED_PARAM(throwScope);
8337 auto& impl = castedThis->wrapped();
8338 if (UNLIKELY(state->argumentCount() < 2))
8339 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8340 auto program = convert<IDLInterface<WebGLProgram>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getTransformFeedbackVarying", "WebGLProgram"); });
8341 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8342 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8343 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8344 if (UNLIKELY(impl.callTracingActive())) {
8345 Vector<RecordCanvasActionVariant> callTracerParameters;
8346 callTracerParameters.append(program);
8347 callTracerParameters.append(index);
8348 CallTracer::recordCanvasAction(impl, "getTransformFeedbackVarying"_s, WTFMove(callTracerParameters));
8349 }
8350 return JSValue::encode(toJS<IDLNullable<IDLInterface<WebGLActiveInfo>>>(*state, *castedThis->globalObject(), impl.getTransformFeedbackVarying(*program, WTFMove(index))));
8351}
8352
8353EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetTransformFeedbackVarying(ExecState* state)
8354{
8355 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetTransformFeedbackVaryingBody>(*state, "getTransformFeedbackVarying");
8356}
8357
8358static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionPauseTransformFeedbackBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8359{
8360 UNUSED_PARAM(state);
8361 UNUSED_PARAM(throwScope);
8362 auto& impl = castedThis->wrapped();
8363 if (UNLIKELY(impl.callTracingActive()))
8364 CallTracer::recordCanvasAction(impl, "pauseTransformFeedback"_s);
8365 impl.pauseTransformFeedback();
8366 return JSValue::encode(jsUndefined());
8367}
8368
8369EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionPauseTransformFeedback(ExecState* state)
8370{
8371 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionPauseTransformFeedbackBody>(*state, "pauseTransformFeedback");
8372}
8373
8374static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionResumeTransformFeedbackBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8375{
8376 UNUSED_PARAM(state);
8377 UNUSED_PARAM(throwScope);
8378 auto& impl = castedThis->wrapped();
8379 if (UNLIKELY(impl.callTracingActive()))
8380 CallTracer::recordCanvasAction(impl, "resumeTransformFeedback"_s);
8381 impl.resumeTransformFeedback();
8382 return JSValue::encode(jsUndefined());
8383}
8384
8385EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionResumeTransformFeedback(ExecState* state)
8386{
8387 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionResumeTransformFeedbackBody>(*state, "resumeTransformFeedback");
8388}
8389
8390static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBindBufferBaseBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8391{
8392 UNUSED_PARAM(state);
8393 UNUSED_PARAM(throwScope);
8394 auto& impl = castedThis->wrapped();
8395 if (UNLIKELY(state->argumentCount() < 3))
8396 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8397 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8398 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8399 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8400 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8401 auto buffer = convert<IDLNullable<IDLInterface<WebGLBuffer>>>(*state, state->uncheckedArgument(2), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 2, "buffer", "WebGL2RenderingContext", "bindBufferBase", "WebGLBuffer"); });
8402 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8403 if (UNLIKELY(impl.callTracingActive())) {
8404 Vector<RecordCanvasActionVariant> callTracerParameters;
8405 callTracerParameters.append(target);
8406 callTracerParameters.append(index);
8407 if (buffer)
8408 callTracerParameters.append(buffer);
8409 CallTracer::recordCanvasAction(impl, "bindBufferBase"_s, WTFMove(callTracerParameters));
8410 }
8411 impl.bindBufferBase(WTFMove(target), WTFMove(index), WTFMove(buffer));
8412 return JSValue::encode(jsUndefined());
8413}
8414
8415EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindBufferBase(ExecState* state)
8416{
8417 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBindBufferBaseBody>(*state, "bindBufferBase");
8418}
8419
8420static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBindBufferRangeBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8421{
8422 UNUSED_PARAM(state);
8423 UNUSED_PARAM(throwScope);
8424 auto& impl = castedThis->wrapped();
8425 if (UNLIKELY(state->argumentCount() < 5))
8426 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8427 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8428 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8429 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8430 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8431 auto buffer = convert<IDLNullable<IDLInterface<WebGLBuffer>>>(*state, state->uncheckedArgument(2), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 2, "buffer", "WebGL2RenderingContext", "bindBufferRange", "WebGLBuffer"); });
8432 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8433 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(3));
8434 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8435 auto size = convert<IDLLongLong>(*state, state->uncheckedArgument(4));
8436 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8437 if (UNLIKELY(impl.callTracingActive())) {
8438 Vector<RecordCanvasActionVariant> callTracerParameters;
8439 callTracerParameters.append(target);
8440 callTracerParameters.append(index);
8441 if (buffer)
8442 callTracerParameters.append(buffer);
8443 callTracerParameters.append(offset);
8444 callTracerParameters.append(size);
8445 CallTracer::recordCanvasAction(impl, "bindBufferRange"_s, WTFMove(callTracerParameters));
8446 }
8447 impl.bindBufferRange(WTFMove(target), WTFMove(index), WTFMove(buffer), WTFMove(offset), WTFMove(size));
8448 return JSValue::encode(jsUndefined());
8449}
8450
8451EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindBufferRange(ExecState* state)
8452{
8453 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBindBufferRangeBody>(*state, "bindBufferRange");
8454}
8455
8456static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetIndexedParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8457{
8458 UNUSED_PARAM(state);
8459 UNUSED_PARAM(throwScope);
8460 auto& impl = castedThis->wrapped();
8461 if (UNLIKELY(state->argumentCount() < 2))
8462 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8463 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8464 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8465 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8466 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8467 if (UNLIKELY(impl.callTracingActive())) {
8468 Vector<RecordCanvasActionVariant> callTracerParameters;
8469 callTracerParameters.append(target);
8470 callTracerParameters.append(index);
8471 CallTracer::recordCanvasAction(impl, "getIndexedParameter"_s, WTFMove(callTracerParameters));
8472 }
8473 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getIndexedParameter(WTFMove(target), WTFMove(index))));
8474}
8475
8476EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetIndexedParameter(ExecState* state)
8477{
8478 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetIndexedParameterBody>(*state, "getIndexedParameter");
8479}
8480
8481static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetUniformIndicesBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8482{
8483 UNUSED_PARAM(state);
8484 UNUSED_PARAM(throwScope);
8485 auto& impl = castedThis->wrapped();
8486 if (UNLIKELY(state->argumentCount() < 2))
8487 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8488 auto program = convert<IDLInterface<WebGLProgram>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getUniformIndices", "WebGLProgram"); });
8489 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8490 auto uniformNames = convert<IDLSequence<IDLDOMString>>(*state, state->uncheckedArgument(1));
8491 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8492 if (UNLIKELY(impl.callTracingActive())) {
8493 Vector<RecordCanvasActionVariant> callTracerParameters;
8494 callTracerParameters.append(program);
8495 callTracerParameters.append(uniformNames);
8496 CallTracer::recordCanvasAction(impl, "getUniformIndices"_s, WTFMove(callTracerParameters));
8497 }
8498 return JSValue::encode(toJS<IDLNullable<IDLSequence<IDLUnsignedLong>>>(*state, *castedThis->globalObject(), impl.getUniformIndices(*program, WTFMove(uniformNames))));
8499}
8500
8501EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetUniformIndices(ExecState* state)
8502{
8503 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetUniformIndicesBody>(*state, "getUniformIndices");
8504}
8505
8506static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformsBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8507{
8508 UNUSED_PARAM(state);
8509 UNUSED_PARAM(throwScope);
8510 auto& impl = castedThis->wrapped();
8511 if (UNLIKELY(state->argumentCount() < 3))
8512 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8513 auto program = convert<IDLInterface<WebGLProgram>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getActiveUniforms", "WebGLProgram"); });
8514 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8515 auto uniformIndices = convert<IDLSequence<IDLUnsignedLong>>(*state, state->uncheckedArgument(1));
8516 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8517 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
8518 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8519 if (UNLIKELY(impl.callTracingActive())) {
8520 Vector<RecordCanvasActionVariant> callTracerParameters;
8521 callTracerParameters.append(program);
8522 callTracerParameters.append(uniformIndices);
8523 callTracerParameters.append(pname);
8524 CallTracer::recordCanvasAction(impl, "getActiveUniforms"_s, WTFMove(callTracerParameters));
8525 }
8526 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getActiveUniforms(*program, WTFMove(uniformIndices), WTFMove(pname))));
8527}
8528
8529EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetActiveUniforms(ExecState* state)
8530{
8531 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformsBody>(*state, "getActiveUniforms");
8532}
8533
8534static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetUniformBlockIndexBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8535{
8536 UNUSED_PARAM(state);
8537 UNUSED_PARAM(throwScope);
8538 auto& impl = castedThis->wrapped();
8539 if (UNLIKELY(state->argumentCount() < 2))
8540 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8541 auto program = convert<IDLInterface<WebGLProgram>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getUniformBlockIndex", "WebGLProgram"); });
8542 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8543 auto uniformBlockName = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
8544 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8545 if (UNLIKELY(impl.callTracingActive())) {
8546 Vector<RecordCanvasActionVariant> callTracerParameters;
8547 callTracerParameters.append(program);
8548 callTracerParameters.append(uniformBlockName);
8549 CallTracer::recordCanvasAction(impl, "getUniformBlockIndex"_s, WTFMove(callTracerParameters));
8550 }
8551 return JSValue::encode(toJS<IDLUnsignedLong>(impl.getUniformBlockIndex(*program, WTFMove(uniformBlockName))));
8552}
8553
8554EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetUniformBlockIndex(ExecState* state)
8555{
8556 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetUniformBlockIndexBody>(*state, "getUniformBlockIndex");
8557}
8558
8559static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBlockParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8560{
8561 UNUSED_PARAM(state);
8562 UNUSED_PARAM(throwScope);
8563 auto& impl = castedThis->wrapped();
8564 if (UNLIKELY(state->argumentCount() < 3))
8565 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8566 auto program = convert<IDLInterface<WebGLProgram>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getActiveUniformBlockParameter", "WebGLProgram"); });
8567 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8568 auto uniformBlockIndex = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8569 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8570 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
8571 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8572 if (UNLIKELY(impl.callTracingActive())) {
8573 Vector<RecordCanvasActionVariant> callTracerParameters;
8574 callTracerParameters.append(program);
8575 callTracerParameters.append(uniformBlockIndex);
8576 callTracerParameters.append(pname);
8577 CallTracer::recordCanvasAction(impl, "getActiveUniformBlockParameter"_s, WTFMove(callTracerParameters));
8578 }
8579 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getActiveUniformBlockParameter(*program, WTFMove(uniformBlockIndex), WTFMove(pname))));
8580}
8581
8582EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBlockParameter(ExecState* state)
8583{
8584 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBlockParameterBody>(*state, "getActiveUniformBlockParameter");
8585}
8586
8587static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBlockNameBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8588{
8589 UNUSED_PARAM(state);
8590 UNUSED_PARAM(throwScope);
8591 auto& impl = castedThis->wrapped();
8592 if (UNLIKELY(state->argumentCount() < 2))
8593 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8594 auto program = convert<IDLInterface<WebGLProgram>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getActiveUniformBlockName", "WebGLProgram"); });
8595 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8596 auto uniformBlockIndex = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8597 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8598 if (UNLIKELY(impl.callTracingActive())) {
8599 Vector<RecordCanvasActionVariant> callTracerParameters;
8600 callTracerParameters.append(program);
8601 callTracerParameters.append(uniformBlockIndex);
8602 CallTracer::recordCanvasAction(impl, "getActiveUniformBlockName"_s, WTFMove(callTracerParameters));
8603 }
8604 return JSValue::encode(toJS<IDLNullable<IDLWebGLAny>>(*state, *castedThis->globalObject(), impl.getActiveUniformBlockName(*program, WTFMove(uniformBlockIndex))));
8605}
8606
8607EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBlockName(ExecState* state)
8608{
8609 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBlockNameBody>(*state, "getActiveUniformBlockName");
8610}
8611
8612static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniformBlockBindingBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8613{
8614 UNUSED_PARAM(state);
8615 UNUSED_PARAM(throwScope);
8616 auto& impl = castedThis->wrapped();
8617 if (UNLIKELY(state->argumentCount() < 3))
8618 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8619 auto program = convert<IDLInterface<WebGLProgram>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "uniformBlockBinding", "WebGLProgram"); });
8620 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8621 auto uniformBlockIndex = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8622 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8623 auto uniformBlockBinding = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
8624 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8625 if (UNLIKELY(impl.callTracingActive())) {
8626 Vector<RecordCanvasActionVariant> callTracerParameters;
8627 callTracerParameters.append(program);
8628 callTracerParameters.append(uniformBlockIndex);
8629 callTracerParameters.append(uniformBlockBinding);
8630 CallTracer::recordCanvasAction(impl, "uniformBlockBinding"_s, WTFMove(callTracerParameters));
8631 }
8632 impl.uniformBlockBinding(*program, WTFMove(uniformBlockIndex), WTFMove(uniformBlockBinding));
8633 return JSValue::encode(jsUndefined());
8634}
8635
8636EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformBlockBinding(ExecState* state)
8637{
8638 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniformBlockBindingBody>(*state, "uniformBlockBinding");
8639}
8640
8641static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCreateVertexArrayBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8642{
8643 UNUSED_PARAM(state);
8644 UNUSED_PARAM(throwScope);
8645 auto& impl = castedThis->wrapped();
8646 if (UNLIKELY(impl.callTracingActive()))
8647 CallTracer::recordCanvasAction(impl, "createVertexArray"_s);
8648 return JSValue::encode(toJS<IDLNullable<IDLInterface<WebGLVertexArrayObject>>>(*state, *castedThis->globalObject(), impl.createVertexArray()));
8649}
8650
8651EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateVertexArray(ExecState* state)
8652{
8653 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCreateVertexArrayBody>(*state, "createVertexArray");
8654}
8655
8656static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDeleteVertexArrayBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8657{
8658 UNUSED_PARAM(state);
8659 UNUSED_PARAM(throwScope);
8660 auto& impl = castedThis->wrapped();
8661 if (UNLIKELY(state->argumentCount() < 1))
8662 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8663 auto vertexArray = convert<IDLNullable<IDLInterface<WebGLVertexArrayObject>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "vertexArray", "WebGL2RenderingContext", "deleteVertexArray", "WebGLVertexArrayObject"); });
8664 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8665 if (UNLIKELY(impl.callTracingActive())) {
8666 Vector<RecordCanvasActionVariant> callTracerParameters;
8667 if (vertexArray)
8668 callTracerParameters.append(vertexArray);
8669 CallTracer::recordCanvasAction(impl, "deleteVertexArray"_s, WTFMove(callTracerParameters));
8670 }
8671 impl.deleteVertexArray(WTFMove(vertexArray));
8672 return JSValue::encode(jsUndefined());
8673}
8674
8675EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteVertexArray(ExecState* state)
8676{
8677 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDeleteVertexArrayBody>(*state, "deleteVertexArray");
8678}
8679
8680static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsVertexArrayBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8681{
8682 UNUSED_PARAM(state);
8683 UNUSED_PARAM(throwScope);
8684 auto& impl = castedThis->wrapped();
8685 if (UNLIKELY(state->argumentCount() < 1))
8686 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8687 auto vertexArray = convert<IDLNullable<IDLInterface<WebGLVertexArrayObject>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "vertexArray", "WebGL2RenderingContext", "isVertexArray", "WebGLVertexArrayObject"); });
8688 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8689 if (UNLIKELY(impl.callTracingActive())) {
8690 Vector<RecordCanvasActionVariant> callTracerParameters;
8691 if (vertexArray)
8692 callTracerParameters.append(vertexArray);
8693 CallTracer::recordCanvasAction(impl, "isVertexArray"_s, WTFMove(callTracerParameters));
8694 }
8695 return JSValue::encode(toJS<IDLBoolean>(impl.isVertexArray(WTFMove(vertexArray))));
8696}
8697
8698EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsVertexArray(ExecState* state)
8699{
8700 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsVertexArrayBody>(*state, "isVertexArray");
8701}
8702
8703static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBindVertexArrayBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8704{
8705 UNUSED_PARAM(state);
8706 UNUSED_PARAM(throwScope);
8707 auto& impl = castedThis->wrapped();
8708 if (UNLIKELY(state->argumentCount() < 1))
8709 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8710 auto vertexArray = convert<IDLNullable<IDLInterface<WebGLVertexArrayObject>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "vertexArray", "WebGL2RenderingContext", "bindVertexArray", "WebGLVertexArrayObject"); });
8711 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8712 if (UNLIKELY(impl.callTracingActive())) {
8713 Vector<RecordCanvasActionVariant> callTracerParameters;
8714 if (vertexArray)
8715 callTracerParameters.append(vertexArray);
8716 CallTracer::recordCanvasAction(impl, "bindVertexArray"_s, WTFMove(callTracerParameters));
8717 }
8718 impl.bindVertexArray(WTFMove(vertexArray));
8719 return JSValue::encode(jsUndefined());
8720}
8721
8722EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindVertexArray(ExecState* state)
8723{
8724 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBindVertexArrayBody>(*state, "bindVertexArray");
8725}
8726
8727#if ENABLE(WEBGL)
8728static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionActiveTextureBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8729{
8730 UNUSED_PARAM(state);
8731 UNUSED_PARAM(throwScope);
8732 auto& impl = castedThis->wrapped();
8733 if (UNLIKELY(state->argumentCount() < 1))
8734 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8735 auto texture = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8736 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8737 if (UNLIKELY(impl.callTracingActive())) {
8738 Vector<RecordCanvasActionVariant> callTracerParameters;
8739 callTracerParameters.append(texture);
8740 CallTracer::recordCanvasAction(impl, "activeTexture"_s, WTFMove(callTracerParameters));
8741 }
8742 impl.activeTexture(WTFMove(texture));
8743 return JSValue::encode(jsUndefined());
8744}
8745
8746EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionActiveTexture(ExecState* state)
8747{
8748 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionActiveTextureBody>(*state, "activeTexture");
8749}
8750
8751#endif
8752
8753#if ENABLE(WEBGL)
8754static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionAttachShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8755{
8756 UNUSED_PARAM(state);
8757 UNUSED_PARAM(throwScope);
8758 auto& impl = castedThis->wrapped();
8759 if (UNLIKELY(state->argumentCount() < 2))
8760 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8761 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "attachShader", "WebGLProgram"); });
8762 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8763 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "shader", "WebGL2RenderingContext", "attachShader", "WebGLShader"); });
8764 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8765 if (UNLIKELY(impl.callTracingActive())) {
8766 Vector<RecordCanvasActionVariant> callTracerParameters;
8767 if (program)
8768 callTracerParameters.append(program);
8769 if (shader)
8770 callTracerParameters.append(shader);
8771 CallTracer::recordCanvasAction(impl, "attachShader"_s, WTFMove(callTracerParameters));
8772 }
8773 impl.attachShader(WTFMove(program), WTFMove(shader));
8774 return JSValue::encode(jsUndefined());
8775}
8776
8777EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionAttachShader(ExecState* state)
8778{
8779 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionAttachShaderBody>(*state, "attachShader");
8780}
8781
8782#endif
8783
8784#if ENABLE(WEBGL)
8785static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBindAttribLocationBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8786{
8787 UNUSED_PARAM(state);
8788 UNUSED_PARAM(throwScope);
8789 auto& impl = castedThis->wrapped();
8790 if (UNLIKELY(state->argumentCount() < 3))
8791 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8792 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "bindAttribLocation", "WebGLProgram"); });
8793 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8794 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
8795 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8796 auto name = convert<IDLDOMString>(*state, state->uncheckedArgument(2));
8797 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8798 if (UNLIKELY(impl.callTracingActive())) {
8799 Vector<RecordCanvasActionVariant> callTracerParameters;
8800 if (program)
8801 callTracerParameters.append(program);
8802 callTracerParameters.append(index);
8803 callTracerParameters.append(name);
8804 CallTracer::recordCanvasAction(impl, "bindAttribLocation"_s, WTFMove(callTracerParameters));
8805 }
8806 impl.bindAttribLocation(WTFMove(program), WTFMove(index), WTFMove(name));
8807 return JSValue::encode(jsUndefined());
8808}
8809
8810EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindAttribLocation(ExecState* state)
8811{
8812 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBindAttribLocationBody>(*state, "bindAttribLocation");
8813}
8814
8815#endif
8816
8817#if ENABLE(WEBGL)
8818static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBindBufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8819{
8820 UNUSED_PARAM(state);
8821 UNUSED_PARAM(throwScope);
8822 auto& impl = castedThis->wrapped();
8823 if (UNLIKELY(state->argumentCount() < 2))
8824 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8825 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8826 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8827 auto buffer = convert<IDLNullable<IDLInterface<WebGLBuffer>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "buffer", "WebGL2RenderingContext", "bindBuffer", "WebGLBuffer"); });
8828 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8829 if (UNLIKELY(impl.callTracingActive())) {
8830 Vector<RecordCanvasActionVariant> callTracerParameters;
8831 callTracerParameters.append(target);
8832 if (buffer)
8833 callTracerParameters.append(buffer);
8834 CallTracer::recordCanvasAction(impl, "bindBuffer"_s, WTFMove(callTracerParameters));
8835 }
8836 impl.bindBuffer(WTFMove(target), WTFMove(buffer));
8837 return JSValue::encode(jsUndefined());
8838}
8839
8840EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindBuffer(ExecState* state)
8841{
8842 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBindBufferBody>(*state, "bindBuffer");
8843}
8844
8845#endif
8846
8847#if ENABLE(WEBGL)
8848static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBindFramebufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8849{
8850 UNUSED_PARAM(state);
8851 UNUSED_PARAM(throwScope);
8852 auto& impl = castedThis->wrapped();
8853 if (UNLIKELY(state->argumentCount() < 2))
8854 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8855 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8856 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8857 auto framebuffer = convert<IDLNullable<IDLInterface<WebGLFramebuffer>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "framebuffer", "WebGL2RenderingContext", "bindFramebuffer", "WebGLFramebuffer"); });
8858 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8859 if (UNLIKELY(impl.callTracingActive())) {
8860 Vector<RecordCanvasActionVariant> callTracerParameters;
8861 callTracerParameters.append(target);
8862 if (framebuffer)
8863 callTracerParameters.append(framebuffer);
8864 CallTracer::recordCanvasAction(impl, "bindFramebuffer"_s, WTFMove(callTracerParameters));
8865 }
8866 impl.bindFramebuffer(WTFMove(target), WTFMove(framebuffer));
8867 return JSValue::encode(jsUndefined());
8868}
8869
8870EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindFramebuffer(ExecState* state)
8871{
8872 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBindFramebufferBody>(*state, "bindFramebuffer");
8873}
8874
8875#endif
8876
8877#if ENABLE(WEBGL)
8878static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBindRenderbufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8879{
8880 UNUSED_PARAM(state);
8881 UNUSED_PARAM(throwScope);
8882 auto& impl = castedThis->wrapped();
8883 if (UNLIKELY(state->argumentCount() < 2))
8884 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8885 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8886 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8887 auto renderbuffer = convert<IDLNullable<IDLInterface<WebGLRenderbuffer>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "renderbuffer", "WebGL2RenderingContext", "bindRenderbuffer", "WebGLRenderbuffer"); });
8888 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8889 if (UNLIKELY(impl.callTracingActive())) {
8890 Vector<RecordCanvasActionVariant> callTracerParameters;
8891 callTracerParameters.append(target);
8892 if (renderbuffer)
8893 callTracerParameters.append(renderbuffer);
8894 CallTracer::recordCanvasAction(impl, "bindRenderbuffer"_s, WTFMove(callTracerParameters));
8895 }
8896 impl.bindRenderbuffer(WTFMove(target), WTFMove(renderbuffer));
8897 return JSValue::encode(jsUndefined());
8898}
8899
8900EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindRenderbuffer(ExecState* state)
8901{
8902 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBindRenderbufferBody>(*state, "bindRenderbuffer");
8903}
8904
8905#endif
8906
8907#if ENABLE(WEBGL)
8908static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBindTextureBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8909{
8910 UNUSED_PARAM(state);
8911 UNUSED_PARAM(throwScope);
8912 auto& impl = castedThis->wrapped();
8913 if (UNLIKELY(state->argumentCount() < 2))
8914 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8915 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8916 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8917 auto texture = convert<IDLNullable<IDLInterface<WebGLTexture>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "texture", "WebGL2RenderingContext", "bindTexture", "WebGLTexture"); });
8918 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8919 if (UNLIKELY(impl.callTracingActive())) {
8920 Vector<RecordCanvasActionVariant> callTracerParameters;
8921 callTracerParameters.append(target);
8922 if (texture)
8923 callTracerParameters.append(texture);
8924 CallTracer::recordCanvasAction(impl, "bindTexture"_s, WTFMove(callTracerParameters));
8925 }
8926 impl.bindTexture(WTFMove(target), WTFMove(texture));
8927 return JSValue::encode(jsUndefined());
8928}
8929
8930EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBindTexture(ExecState* state)
8931{
8932 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBindTextureBody>(*state, "bindTexture");
8933}
8934
8935#endif
8936
8937#if ENABLE(WEBGL)
8938static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBlendColorBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8939{
8940 UNUSED_PARAM(state);
8941 UNUSED_PARAM(throwScope);
8942 auto& impl = castedThis->wrapped();
8943 if (UNLIKELY(state->argumentCount() < 4))
8944 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8945 auto red = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
8946 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8947 auto green = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
8948 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8949 auto blue = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
8950 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8951 auto alpha = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
8952 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8953 if (UNLIKELY(impl.callTracingActive())) {
8954 Vector<RecordCanvasActionVariant> callTracerParameters;
8955 callTracerParameters.append(red);
8956 callTracerParameters.append(green);
8957 callTracerParameters.append(blue);
8958 callTracerParameters.append(alpha);
8959 CallTracer::recordCanvasAction(impl, "blendColor"_s, WTFMove(callTracerParameters));
8960 }
8961 impl.blendColor(WTFMove(red), WTFMove(green), WTFMove(blue), WTFMove(alpha));
8962 return JSValue::encode(jsUndefined());
8963}
8964
8965EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlendColor(ExecState* state)
8966{
8967 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBlendColorBody>(*state, "blendColor");
8968}
8969
8970#endif
8971
8972#if ENABLE(WEBGL)
8973static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBlendEquationBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
8974{
8975 UNUSED_PARAM(state);
8976 UNUSED_PARAM(throwScope);
8977 auto& impl = castedThis->wrapped();
8978 if (UNLIKELY(state->argumentCount() < 1))
8979 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
8980 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
8981 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
8982 if (UNLIKELY(impl.callTracingActive())) {
8983 Vector<RecordCanvasActionVariant> callTracerParameters;
8984 callTracerParameters.append(mode);
8985 CallTracer::recordCanvasAction(impl, "blendEquation"_s, WTFMove(callTracerParameters));
8986 }
8987 impl.blendEquation(WTFMove(mode));
8988 return JSValue::encode(jsUndefined());
8989}
8990
8991EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlendEquation(ExecState* state)
8992{
8993 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBlendEquationBody>(*state, "blendEquation");
8994}
8995
8996#endif
8997
8998#if ENABLE(WEBGL)
8999static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBlendEquationSeparateBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9000{
9001 UNUSED_PARAM(state);
9002 UNUSED_PARAM(throwScope);
9003 auto& impl = castedThis->wrapped();
9004 if (UNLIKELY(state->argumentCount() < 2))
9005 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9006 auto modeRGB = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9007 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9008 auto modeAlpha = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
9009 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9010 if (UNLIKELY(impl.callTracingActive())) {
9011 Vector<RecordCanvasActionVariant> callTracerParameters;
9012 callTracerParameters.append(modeRGB);
9013 callTracerParameters.append(modeAlpha);
9014 CallTracer::recordCanvasAction(impl, "blendEquationSeparate"_s, WTFMove(callTracerParameters));
9015 }
9016 impl.blendEquationSeparate(WTFMove(modeRGB), WTFMove(modeAlpha));
9017 return JSValue::encode(jsUndefined());
9018}
9019
9020EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlendEquationSeparate(ExecState* state)
9021{
9022 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBlendEquationSeparateBody>(*state, "blendEquationSeparate");
9023}
9024
9025#endif
9026
9027#if ENABLE(WEBGL)
9028static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBlendFuncBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9029{
9030 UNUSED_PARAM(state);
9031 UNUSED_PARAM(throwScope);
9032 auto& impl = castedThis->wrapped();
9033 if (UNLIKELY(state->argumentCount() < 2))
9034 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9035 auto sfactor = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9036 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9037 auto dfactor = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
9038 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9039 if (UNLIKELY(impl.callTracingActive())) {
9040 Vector<RecordCanvasActionVariant> callTracerParameters;
9041 callTracerParameters.append(sfactor);
9042 callTracerParameters.append(dfactor);
9043 CallTracer::recordCanvasAction(impl, "blendFunc"_s, WTFMove(callTracerParameters));
9044 }
9045 impl.blendFunc(WTFMove(sfactor), WTFMove(dfactor));
9046 return JSValue::encode(jsUndefined());
9047}
9048
9049EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlendFunc(ExecState* state)
9050{
9051 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBlendFuncBody>(*state, "blendFunc");
9052}
9053
9054#endif
9055
9056#if ENABLE(WEBGL)
9057static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBlendFuncSeparateBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9058{
9059 UNUSED_PARAM(state);
9060 UNUSED_PARAM(throwScope);
9061 auto& impl = castedThis->wrapped();
9062 if (UNLIKELY(state->argumentCount() < 4))
9063 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9064 auto srcRGB = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9065 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9066 auto dstRGB = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
9067 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9068 auto srcAlpha = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
9069 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9070 auto dstAlpha = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
9071 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9072 if (UNLIKELY(impl.callTracingActive())) {
9073 Vector<RecordCanvasActionVariant> callTracerParameters;
9074 callTracerParameters.append(srcRGB);
9075 callTracerParameters.append(dstRGB);
9076 callTracerParameters.append(srcAlpha);
9077 callTracerParameters.append(dstAlpha);
9078 CallTracer::recordCanvasAction(impl, "blendFuncSeparate"_s, WTFMove(callTracerParameters));
9079 }
9080 impl.blendFuncSeparate(WTFMove(srcRGB), WTFMove(dstRGB), WTFMove(srcAlpha), WTFMove(dstAlpha));
9081 return JSValue::encode(jsUndefined());
9082}
9083
9084EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBlendFuncSeparate(ExecState* state)
9085{
9086 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBlendFuncSeparateBody>(*state, "blendFuncSeparate");
9087}
9088
9089#endif
9090
9091#if ENABLE(WEBGL)
9092static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBufferData2Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9093{
9094 UNUSED_PARAM(state);
9095 UNUSED_PARAM(throwScope);
9096 auto& impl = castedThis->wrapped();
9097 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9098 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9099 auto data = convert<IDLNullable<IDLUnion<IDLArrayBuffer, IDLArrayBufferView>>>(*state, state->uncheckedArgument(1));
9100 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9101 auto usage = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
9102 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9103 if (UNLIKELY(impl.callTracingActive())) {
9104 Vector<RecordCanvasActionVariant> callTracerParameters;
9105 callTracerParameters.append(target);
9106 if (data)
9107 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, *data);
9108 callTracerParameters.append(usage);
9109 CallTracer::recordCanvasAction(impl, "bufferData"_s, WTFMove(callTracerParameters));
9110 }
9111 impl.bufferData(WTFMove(target), WTFMove(data), WTFMove(usage));
9112 return JSValue::encode(jsUndefined());
9113}
9114
9115#endif
9116
9117#if ENABLE(WEBGL)
9118static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBufferData3Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9119{
9120 UNUSED_PARAM(state);
9121 UNUSED_PARAM(throwScope);
9122 auto& impl = castedThis->wrapped();
9123 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9124 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9125 auto size = convert<IDLLongLong>(*state, state->uncheckedArgument(1));
9126 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9127 auto usage = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
9128 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9129 if (UNLIKELY(impl.callTracingActive())) {
9130 Vector<RecordCanvasActionVariant> callTracerParameters;
9131 callTracerParameters.append(target);
9132 callTracerParameters.append(size);
9133 callTracerParameters.append(usage);
9134 CallTracer::recordCanvasAction(impl, "bufferData"_s, WTFMove(callTracerParameters));
9135 }
9136 impl.bufferData(WTFMove(target), WTFMove(size), WTFMove(usage));
9137 return JSValue::encode(jsUndefined());
9138}
9139
9140#endif
9141
9142static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBufferDataOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9143{
9144 UNUSED_PARAM(state);
9145 UNUSED_PARAM(throwScope);
9146 VM& vm = state->vm();
9147 UNUSED_PARAM(vm);
9148 size_t argsCount = std::min<size_t>(5, state->argumentCount());
9149 if (argsCount == 3) {
9150 JSValue distinguishingArg = state->uncheckedArgument(1);
9151#if ENABLE(WEBGL)
9152 if (distinguishingArg.isUndefinedOrNull())
9153 return jsWebGL2RenderingContextPrototypeFunctionBufferData2Body(state, castedThis, throwScope);
9154#endif
9155#if ENABLE(WEBGL)
9156 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSArrayBuffer>(vm))
9157 return jsWebGL2RenderingContextPrototypeFunctionBufferData2Body(state, castedThis, throwScope);
9158#endif
9159#if ENABLE(WEBGL)
9160 if (distinguishingArg.isObject() && asObject(distinguishingArg)->inherits<JSArrayBufferView>(vm))
9161 return jsWebGL2RenderingContextPrototypeFunctionBufferData2Body(state, castedThis, throwScope);
9162#endif
9163#if ENABLE(WEBGL)
9164 if (distinguishingArg.isNumber())
9165 return jsWebGL2RenderingContextPrototypeFunctionBufferData3Body(state, castedThis, throwScope);
9166#endif
9167#if ENABLE(WEBGL)
9168 return jsWebGL2RenderingContextPrototypeFunctionBufferData3Body(state, castedThis, throwScope);
9169#endif
9170 }
9171 if (argsCount == 4) {
9172 return jsWebGL2RenderingContextPrototypeFunctionBufferData1Body(state, castedThis, throwScope);
9173 }
9174 if (argsCount == 5) {
9175 return jsWebGL2RenderingContextPrototypeFunctionBufferData1Body(state, castedThis, throwScope);
9176 }
9177 return argsCount < 3 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
9178}
9179
9180EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBufferData(ExecState* state)
9181{
9182 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBufferDataOverloadDispatcher>(*state, "bufferData");
9183}
9184
9185#if ENABLE(WEBGL)
9186static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBufferSubData2Body(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9187{
9188 UNUSED_PARAM(state);
9189 UNUSED_PARAM(throwScope);
9190 auto& impl = castedThis->wrapped();
9191 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9192 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9193 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(1));
9194 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9195 auto data = convert<IDLNullable<IDLUnion<IDLArrayBuffer, IDLArrayBufferView>>>(*state, state->uncheckedArgument(2));
9196 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9197 if (UNLIKELY(impl.callTracingActive())) {
9198 Vector<RecordCanvasActionVariant> callTracerParameters;
9199 callTracerParameters.append(target);
9200 callTracerParameters.append(offset);
9201 if (data)
9202 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, *data);
9203 CallTracer::recordCanvasAction(impl, "bufferSubData"_s, WTFMove(callTracerParameters));
9204 }
9205 impl.bufferSubData(WTFMove(target), WTFMove(offset), WTFMove(data));
9206 return JSValue::encode(jsUndefined());
9207}
9208
9209#endif
9210
9211static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionBufferSubDataOverloadDispatcher(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9212{
9213 UNUSED_PARAM(state);
9214 UNUSED_PARAM(throwScope);
9215 VM& vm = state->vm();
9216 UNUSED_PARAM(vm);
9217 size_t argsCount = std::min<size_t>(5, state->argumentCount());
9218 if (argsCount == 3) {
9219#if ENABLE(WEBGL)
9220 return jsWebGL2RenderingContextPrototypeFunctionBufferSubData2Body(state, castedThis, throwScope);
9221#endif
9222 }
9223 if (argsCount == 4) {
9224 return jsWebGL2RenderingContextPrototypeFunctionBufferSubData1Body(state, castedThis, throwScope);
9225 }
9226 if (argsCount == 5) {
9227 return jsWebGL2RenderingContextPrototypeFunctionBufferSubData1Body(state, castedThis, throwScope);
9228 }
9229 return argsCount < 3 ? throwVMError(state, throwScope, createNotEnoughArgumentsError(state)) : throwVMTypeError(state, throwScope);
9230}
9231
9232EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionBufferSubData(ExecState* state)
9233{
9234 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionBufferSubDataOverloadDispatcher>(*state, "bufferSubData");
9235}
9236
9237#if ENABLE(WEBGL)
9238static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCheckFramebufferStatusBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9239{
9240 UNUSED_PARAM(state);
9241 UNUSED_PARAM(throwScope);
9242 auto& impl = castedThis->wrapped();
9243 if (UNLIKELY(state->argumentCount() < 1))
9244 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9245 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9246 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9247 if (UNLIKELY(impl.callTracingActive())) {
9248 Vector<RecordCanvasActionVariant> callTracerParameters;
9249 callTracerParameters.append(target);
9250 CallTracer::recordCanvasAction(impl, "checkFramebufferStatus"_s, WTFMove(callTracerParameters));
9251 }
9252 return JSValue::encode(toJS<IDLUnsignedLong>(impl.checkFramebufferStatus(WTFMove(target))));
9253}
9254
9255EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCheckFramebufferStatus(ExecState* state)
9256{
9257 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCheckFramebufferStatusBody>(*state, "checkFramebufferStatus");
9258}
9259
9260#endif
9261
9262#if ENABLE(WEBGL)
9263static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionClearBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9264{
9265 UNUSED_PARAM(state);
9266 UNUSED_PARAM(throwScope);
9267 auto& impl = castedThis->wrapped();
9268 if (UNLIKELY(state->argumentCount() < 1))
9269 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9270 auto mask = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9271 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9272 if (UNLIKELY(impl.callTracingActive())) {
9273 Vector<RecordCanvasActionVariant> callTracerParameters;
9274 callTracerParameters.append(mask);
9275 CallTracer::recordCanvasAction(impl, "clear"_s, WTFMove(callTracerParameters));
9276 }
9277 impl.clear(WTFMove(mask));
9278 return JSValue::encode(jsUndefined());
9279}
9280
9281EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClear(ExecState* state)
9282{
9283 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionClearBody>(*state, "clear");
9284}
9285
9286#endif
9287
9288#if ENABLE(WEBGL)
9289static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionClearColorBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9290{
9291 UNUSED_PARAM(state);
9292 UNUSED_PARAM(throwScope);
9293 auto& impl = castedThis->wrapped();
9294 if (UNLIKELY(state->argumentCount() < 4))
9295 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9296 auto red = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
9297 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9298 auto green = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
9299 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9300 auto blue = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
9301 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9302 auto alpha = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
9303 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9304 if (UNLIKELY(impl.callTracingActive())) {
9305 Vector<RecordCanvasActionVariant> callTracerParameters;
9306 callTracerParameters.append(red);
9307 callTracerParameters.append(green);
9308 callTracerParameters.append(blue);
9309 callTracerParameters.append(alpha);
9310 CallTracer::recordCanvasAction(impl, "clearColor"_s, WTFMove(callTracerParameters));
9311 }
9312 impl.clearColor(WTFMove(red), WTFMove(green), WTFMove(blue), WTFMove(alpha));
9313 return JSValue::encode(jsUndefined());
9314}
9315
9316EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearColor(ExecState* state)
9317{
9318 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionClearColorBody>(*state, "clearColor");
9319}
9320
9321#endif
9322
9323#if ENABLE(WEBGL)
9324static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionClearDepthBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9325{
9326 UNUSED_PARAM(state);
9327 UNUSED_PARAM(throwScope);
9328 auto& impl = castedThis->wrapped();
9329 if (UNLIKELY(state->argumentCount() < 1))
9330 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9331 auto depth = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
9332 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9333 if (UNLIKELY(impl.callTracingActive())) {
9334 Vector<RecordCanvasActionVariant> callTracerParameters;
9335 callTracerParameters.append(depth);
9336 CallTracer::recordCanvasAction(impl, "clearDepth"_s, WTFMove(callTracerParameters));
9337 }
9338 impl.clearDepth(WTFMove(depth));
9339 return JSValue::encode(jsUndefined());
9340}
9341
9342EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearDepth(ExecState* state)
9343{
9344 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionClearDepthBody>(*state, "clearDepth");
9345}
9346
9347#endif
9348
9349#if ENABLE(WEBGL)
9350static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionClearStencilBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9351{
9352 UNUSED_PARAM(state);
9353 UNUSED_PARAM(throwScope);
9354 auto& impl = castedThis->wrapped();
9355 if (UNLIKELY(state->argumentCount() < 1))
9356 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9357 auto s = convert<IDLLong>(*state, state->uncheckedArgument(0));
9358 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9359 if (UNLIKELY(impl.callTracingActive())) {
9360 Vector<RecordCanvasActionVariant> callTracerParameters;
9361 callTracerParameters.append(s);
9362 CallTracer::recordCanvasAction(impl, "clearStencil"_s, WTFMove(callTracerParameters));
9363 }
9364 impl.clearStencil(WTFMove(s));
9365 return JSValue::encode(jsUndefined());
9366}
9367
9368EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionClearStencil(ExecState* state)
9369{
9370 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionClearStencilBody>(*state, "clearStencil");
9371}
9372
9373#endif
9374
9375#if ENABLE(WEBGL)
9376static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionColorMaskBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9377{
9378 UNUSED_PARAM(state);
9379 UNUSED_PARAM(throwScope);
9380 auto& impl = castedThis->wrapped();
9381 if (UNLIKELY(state->argumentCount() < 4))
9382 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9383 auto red = convert<IDLBoolean>(*state, state->uncheckedArgument(0));
9384 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9385 auto green = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
9386 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9387 auto blue = convert<IDLBoolean>(*state, state->uncheckedArgument(2));
9388 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9389 auto alpha = convert<IDLBoolean>(*state, state->uncheckedArgument(3));
9390 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9391 if (UNLIKELY(impl.callTracingActive())) {
9392 Vector<RecordCanvasActionVariant> callTracerParameters;
9393 callTracerParameters.append(red);
9394 callTracerParameters.append(green);
9395 callTracerParameters.append(blue);
9396 callTracerParameters.append(alpha);
9397 CallTracer::recordCanvasAction(impl, "colorMask"_s, WTFMove(callTracerParameters));
9398 }
9399 impl.colorMask(WTFMove(red), WTFMove(green), WTFMove(blue), WTFMove(alpha));
9400 return JSValue::encode(jsUndefined());
9401}
9402
9403EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionColorMask(ExecState* state)
9404{
9405 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionColorMaskBody>(*state, "colorMask");
9406}
9407
9408#endif
9409
9410#if ENABLE(WEBGL)
9411static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCompileShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9412{
9413 UNUSED_PARAM(state);
9414 UNUSED_PARAM(throwScope);
9415 auto& impl = castedThis->wrapped();
9416 if (UNLIKELY(state->argumentCount() < 1))
9417 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9418 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGL2RenderingContext", "compileShader", "WebGLShader"); });
9419 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9420 if (UNLIKELY(impl.callTracingActive())) {
9421 Vector<RecordCanvasActionVariant> callTracerParameters;
9422 if (shader)
9423 callTracerParameters.append(shader);
9424 CallTracer::recordCanvasAction(impl, "compileShader"_s, WTFMove(callTracerParameters));
9425 }
9426 impl.compileShader(WTFMove(shader));
9427 return JSValue::encode(jsUndefined());
9428}
9429
9430EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCompileShader(ExecState* state)
9431{
9432 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCompileShaderBody>(*state, "compileShader");
9433}
9434
9435#endif
9436
9437#if ENABLE(WEBGL)
9438static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage2DBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9439{
9440 UNUSED_PARAM(state);
9441 UNUSED_PARAM(throwScope);
9442 auto& impl = castedThis->wrapped();
9443 if (UNLIKELY(state->argumentCount() < 8))
9444 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9445 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9446 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9447 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
9448 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9449 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
9450 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9451 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
9452 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9453 auto width = convert<IDLLong>(*state, state->uncheckedArgument(4));
9454 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9455 auto height = convert<IDLLong>(*state, state->uncheckedArgument(5));
9456 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9457 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(6));
9458 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9459 auto data = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(7), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 7, "data", "WebGL2RenderingContext", "compressedTexSubImage2D", "ArrayBufferView"); });
9460 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9461 if (UNLIKELY(impl.callTracingActive())) {
9462 Vector<RecordCanvasActionVariant> callTracerParameters;
9463 callTracerParameters.append(target);
9464 callTracerParameters.append(level);
9465 callTracerParameters.append(xoffset);
9466 callTracerParameters.append(yoffset);
9467 callTracerParameters.append(width);
9468 callTracerParameters.append(height);
9469 callTracerParameters.append(format);
9470 callTracerParameters.append(data);
9471 CallTracer::recordCanvasAction(impl, "compressedTexSubImage2D"_s, WTFMove(callTracerParameters));
9472 }
9473 impl.compressedTexSubImage2D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(width), WTFMove(height), WTFMove(format), data.releaseNonNull());
9474 return JSValue::encode(jsUndefined());
9475}
9476
9477EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage2D(ExecState* state)
9478{
9479 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCompressedTexSubImage2DBody>(*state, "compressedTexSubImage2D");
9480}
9481
9482#endif
9483
9484#if ENABLE(WEBGL)
9485static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCopyTexImage2DBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9486{
9487 UNUSED_PARAM(state);
9488 UNUSED_PARAM(throwScope);
9489 auto& impl = castedThis->wrapped();
9490 if (UNLIKELY(state->argumentCount() < 8))
9491 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9492 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9493 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9494 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
9495 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9496 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
9497 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9498 auto x = convert<IDLLong>(*state, state->uncheckedArgument(3));
9499 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9500 auto y = convert<IDLLong>(*state, state->uncheckedArgument(4));
9501 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9502 auto width = convert<IDLLong>(*state, state->uncheckedArgument(5));
9503 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9504 auto height = convert<IDLLong>(*state, state->uncheckedArgument(6));
9505 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9506 auto border = convert<IDLLong>(*state, state->uncheckedArgument(7));
9507 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9508 if (UNLIKELY(impl.callTracingActive())) {
9509 Vector<RecordCanvasActionVariant> callTracerParameters;
9510 callTracerParameters.append(target);
9511 callTracerParameters.append(level);
9512 callTracerParameters.append(internalformat);
9513 callTracerParameters.append(x);
9514 callTracerParameters.append(y);
9515 callTracerParameters.append(width);
9516 callTracerParameters.append(height);
9517 callTracerParameters.append(border);
9518 CallTracer::recordCanvasAction(impl, "copyTexImage2D"_s, WTFMove(callTracerParameters));
9519 }
9520 impl.copyTexImage2D(WTFMove(target), WTFMove(level), WTFMove(internalformat), WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height), WTFMove(border));
9521 return JSValue::encode(jsUndefined());
9522}
9523
9524EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCopyTexImage2D(ExecState* state)
9525{
9526 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCopyTexImage2DBody>(*state, "copyTexImage2D");
9527}
9528
9529#endif
9530
9531#if ENABLE(WEBGL)
9532static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCopyTexSubImage2DBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9533{
9534 UNUSED_PARAM(state);
9535 UNUSED_PARAM(throwScope);
9536 auto& impl = castedThis->wrapped();
9537 if (UNLIKELY(state->argumentCount() < 8))
9538 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9539 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9540 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9541 auto level = convert<IDLLong>(*state, state->uncheckedArgument(1));
9542 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9543 auto xoffset = convert<IDLLong>(*state, state->uncheckedArgument(2));
9544 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9545 auto yoffset = convert<IDLLong>(*state, state->uncheckedArgument(3));
9546 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9547 auto x = convert<IDLLong>(*state, state->uncheckedArgument(4));
9548 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9549 auto y = convert<IDLLong>(*state, state->uncheckedArgument(5));
9550 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9551 auto width = convert<IDLLong>(*state, state->uncheckedArgument(6));
9552 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9553 auto height = convert<IDLLong>(*state, state->uncheckedArgument(7));
9554 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9555 if (UNLIKELY(impl.callTracingActive())) {
9556 Vector<RecordCanvasActionVariant> callTracerParameters;
9557 callTracerParameters.append(target);
9558 callTracerParameters.append(level);
9559 callTracerParameters.append(xoffset);
9560 callTracerParameters.append(yoffset);
9561 callTracerParameters.append(x);
9562 callTracerParameters.append(y);
9563 callTracerParameters.append(width);
9564 callTracerParameters.append(height);
9565 CallTracer::recordCanvasAction(impl, "copyTexSubImage2D"_s, WTFMove(callTracerParameters));
9566 }
9567 impl.copyTexSubImage2D(WTFMove(target), WTFMove(level), WTFMove(xoffset), WTFMove(yoffset), WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height));
9568 return JSValue::encode(jsUndefined());
9569}
9570
9571EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCopyTexSubImage2D(ExecState* state)
9572{
9573 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCopyTexSubImage2DBody>(*state, "copyTexSubImage2D");
9574}
9575
9576#endif
9577
9578#if ENABLE(WEBGL)
9579static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCreateBufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9580{
9581 UNUSED_PARAM(state);
9582 UNUSED_PARAM(throwScope);
9583 auto& impl = castedThis->wrapped();
9584 if (UNLIKELY(impl.callTracingActive()))
9585 CallTracer::recordCanvasAction(impl, "createBuffer"_s);
9586 return JSValue::encode(toJS<IDLInterface<WebGLBuffer>>(*state, *castedThis->globalObject(), impl.createBuffer()));
9587}
9588
9589EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateBuffer(ExecState* state)
9590{
9591 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCreateBufferBody>(*state, "createBuffer");
9592}
9593
9594#endif
9595
9596#if ENABLE(WEBGL)
9597static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCreateFramebufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9598{
9599 UNUSED_PARAM(state);
9600 UNUSED_PARAM(throwScope);
9601 auto& impl = castedThis->wrapped();
9602 if (UNLIKELY(impl.callTracingActive()))
9603 CallTracer::recordCanvasAction(impl, "createFramebuffer"_s);
9604 return JSValue::encode(toJS<IDLInterface<WebGLFramebuffer>>(*state, *castedThis->globalObject(), impl.createFramebuffer()));
9605}
9606
9607EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateFramebuffer(ExecState* state)
9608{
9609 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCreateFramebufferBody>(*state, "createFramebuffer");
9610}
9611
9612#endif
9613
9614#if ENABLE(WEBGL)
9615static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCreateProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9616{
9617 UNUSED_PARAM(state);
9618 UNUSED_PARAM(throwScope);
9619 auto& impl = castedThis->wrapped();
9620 if (UNLIKELY(impl.callTracingActive()))
9621 CallTracer::recordCanvasAction(impl, "createProgram"_s);
9622 return JSValue::encode(toJS<IDLInterface<WebGLProgram>>(*state, *castedThis->globalObject(), impl.createProgram()));
9623}
9624
9625EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateProgram(ExecState* state)
9626{
9627 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCreateProgramBody>(*state, "createProgram");
9628}
9629
9630#endif
9631
9632#if ENABLE(WEBGL)
9633static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCreateRenderbufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9634{
9635 UNUSED_PARAM(state);
9636 UNUSED_PARAM(throwScope);
9637 auto& impl = castedThis->wrapped();
9638 if (UNLIKELY(impl.callTracingActive()))
9639 CallTracer::recordCanvasAction(impl, "createRenderbuffer"_s);
9640 return JSValue::encode(toJS<IDLInterface<WebGLRenderbuffer>>(*state, *castedThis->globalObject(), impl.createRenderbuffer()));
9641}
9642
9643EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateRenderbuffer(ExecState* state)
9644{
9645 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCreateRenderbufferBody>(*state, "createRenderbuffer");
9646}
9647
9648#endif
9649
9650#if ENABLE(WEBGL)
9651static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCreateShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9652{
9653 UNUSED_PARAM(state);
9654 UNUSED_PARAM(throwScope);
9655 auto& impl = castedThis->wrapped();
9656 if (UNLIKELY(state->argumentCount() < 1))
9657 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9658 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9659 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9660 if (UNLIKELY(impl.callTracingActive())) {
9661 Vector<RecordCanvasActionVariant> callTracerParameters;
9662 callTracerParameters.append(type);
9663 CallTracer::recordCanvasAction(impl, "createShader"_s, WTFMove(callTracerParameters));
9664 }
9665 return JSValue::encode(toJS<IDLInterface<WebGLShader>>(*state, *castedThis->globalObject(), impl.createShader(WTFMove(type))));
9666}
9667
9668EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateShader(ExecState* state)
9669{
9670 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCreateShaderBody>(*state, "createShader");
9671}
9672
9673#endif
9674
9675#if ENABLE(WEBGL)
9676static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCreateTextureBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9677{
9678 UNUSED_PARAM(state);
9679 UNUSED_PARAM(throwScope);
9680 auto& impl = castedThis->wrapped();
9681 if (UNLIKELY(impl.callTracingActive()))
9682 CallTracer::recordCanvasAction(impl, "createTexture"_s);
9683 return JSValue::encode(toJS<IDLInterface<WebGLTexture>>(*state, *castedThis->globalObject(), impl.createTexture()));
9684}
9685
9686EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCreateTexture(ExecState* state)
9687{
9688 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCreateTextureBody>(*state, "createTexture");
9689}
9690
9691#endif
9692
9693#if ENABLE(WEBGL)
9694static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionCullFaceBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9695{
9696 UNUSED_PARAM(state);
9697 UNUSED_PARAM(throwScope);
9698 auto& impl = castedThis->wrapped();
9699 if (UNLIKELY(state->argumentCount() < 1))
9700 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9701 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9702 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9703 if (UNLIKELY(impl.callTracingActive())) {
9704 Vector<RecordCanvasActionVariant> callTracerParameters;
9705 callTracerParameters.append(mode);
9706 CallTracer::recordCanvasAction(impl, "cullFace"_s, WTFMove(callTracerParameters));
9707 }
9708 impl.cullFace(WTFMove(mode));
9709 return JSValue::encode(jsUndefined());
9710}
9711
9712EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionCullFace(ExecState* state)
9713{
9714 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionCullFaceBody>(*state, "cullFace");
9715}
9716
9717#endif
9718
9719#if ENABLE(WEBGL)
9720static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDeleteBufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9721{
9722 UNUSED_PARAM(state);
9723 UNUSED_PARAM(throwScope);
9724 auto& impl = castedThis->wrapped();
9725 if (UNLIKELY(state->argumentCount() < 1))
9726 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9727 auto buffer = convert<IDLNullable<IDLInterface<WebGLBuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "buffer", "WebGL2RenderingContext", "deleteBuffer", "WebGLBuffer"); });
9728 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9729 if (UNLIKELY(impl.callTracingActive())) {
9730 Vector<RecordCanvasActionVariant> callTracerParameters;
9731 if (buffer)
9732 callTracerParameters.append(buffer);
9733 CallTracer::recordCanvasAction(impl, "deleteBuffer"_s, WTFMove(callTracerParameters));
9734 }
9735 impl.deleteBuffer(WTFMove(buffer));
9736 return JSValue::encode(jsUndefined());
9737}
9738
9739EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteBuffer(ExecState* state)
9740{
9741 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDeleteBufferBody>(*state, "deleteBuffer");
9742}
9743
9744#endif
9745
9746#if ENABLE(WEBGL)
9747static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDeleteFramebufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9748{
9749 UNUSED_PARAM(state);
9750 UNUSED_PARAM(throwScope);
9751 auto& impl = castedThis->wrapped();
9752 if (UNLIKELY(state->argumentCount() < 1))
9753 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9754 auto framebuffer = convert<IDLNullable<IDLInterface<WebGLFramebuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "framebuffer", "WebGL2RenderingContext", "deleteFramebuffer", "WebGLFramebuffer"); });
9755 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9756 if (UNLIKELY(impl.callTracingActive())) {
9757 Vector<RecordCanvasActionVariant> callTracerParameters;
9758 if (framebuffer)
9759 callTracerParameters.append(framebuffer);
9760 CallTracer::recordCanvasAction(impl, "deleteFramebuffer"_s, WTFMove(callTracerParameters));
9761 }
9762 impl.deleteFramebuffer(WTFMove(framebuffer));
9763 return JSValue::encode(jsUndefined());
9764}
9765
9766EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteFramebuffer(ExecState* state)
9767{
9768 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDeleteFramebufferBody>(*state, "deleteFramebuffer");
9769}
9770
9771#endif
9772
9773#if ENABLE(WEBGL)
9774static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDeleteProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9775{
9776 UNUSED_PARAM(state);
9777 UNUSED_PARAM(throwScope);
9778 auto& impl = castedThis->wrapped();
9779 if (UNLIKELY(state->argumentCount() < 1))
9780 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9781 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "deleteProgram", "WebGLProgram"); });
9782 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9783 if (UNLIKELY(impl.callTracingActive())) {
9784 Vector<RecordCanvasActionVariant> callTracerParameters;
9785 if (program)
9786 callTracerParameters.append(program);
9787 CallTracer::recordCanvasAction(impl, "deleteProgram"_s, WTFMove(callTracerParameters));
9788 }
9789 impl.deleteProgram(WTFMove(program));
9790 return JSValue::encode(jsUndefined());
9791}
9792
9793EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteProgram(ExecState* state)
9794{
9795 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDeleteProgramBody>(*state, "deleteProgram");
9796}
9797
9798#endif
9799
9800#if ENABLE(WEBGL)
9801static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDeleteRenderbufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9802{
9803 UNUSED_PARAM(state);
9804 UNUSED_PARAM(throwScope);
9805 auto& impl = castedThis->wrapped();
9806 if (UNLIKELY(state->argumentCount() < 1))
9807 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9808 auto renderbuffer = convert<IDLNullable<IDLInterface<WebGLRenderbuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "renderbuffer", "WebGL2RenderingContext", "deleteRenderbuffer", "WebGLRenderbuffer"); });
9809 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9810 if (UNLIKELY(impl.callTracingActive())) {
9811 Vector<RecordCanvasActionVariant> callTracerParameters;
9812 if (renderbuffer)
9813 callTracerParameters.append(renderbuffer);
9814 CallTracer::recordCanvasAction(impl, "deleteRenderbuffer"_s, WTFMove(callTracerParameters));
9815 }
9816 impl.deleteRenderbuffer(WTFMove(renderbuffer));
9817 return JSValue::encode(jsUndefined());
9818}
9819
9820EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteRenderbuffer(ExecState* state)
9821{
9822 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDeleteRenderbufferBody>(*state, "deleteRenderbuffer");
9823}
9824
9825#endif
9826
9827#if ENABLE(WEBGL)
9828static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDeleteShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9829{
9830 UNUSED_PARAM(state);
9831 UNUSED_PARAM(throwScope);
9832 auto& impl = castedThis->wrapped();
9833 if (UNLIKELY(state->argumentCount() < 1))
9834 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9835 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGL2RenderingContext", "deleteShader", "WebGLShader"); });
9836 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9837 if (UNLIKELY(impl.callTracingActive())) {
9838 Vector<RecordCanvasActionVariant> callTracerParameters;
9839 if (shader)
9840 callTracerParameters.append(shader);
9841 CallTracer::recordCanvasAction(impl, "deleteShader"_s, WTFMove(callTracerParameters));
9842 }
9843 impl.deleteShader(WTFMove(shader));
9844 return JSValue::encode(jsUndefined());
9845}
9846
9847EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteShader(ExecState* state)
9848{
9849 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDeleteShaderBody>(*state, "deleteShader");
9850}
9851
9852#endif
9853
9854#if ENABLE(WEBGL)
9855static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDeleteTextureBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9856{
9857 UNUSED_PARAM(state);
9858 UNUSED_PARAM(throwScope);
9859 auto& impl = castedThis->wrapped();
9860 if (UNLIKELY(state->argumentCount() < 1))
9861 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9862 auto texture = convert<IDLNullable<IDLInterface<WebGLTexture>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "texture", "WebGL2RenderingContext", "deleteTexture", "WebGLTexture"); });
9863 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9864 if (UNLIKELY(impl.callTracingActive())) {
9865 Vector<RecordCanvasActionVariant> callTracerParameters;
9866 if (texture)
9867 callTracerParameters.append(texture);
9868 CallTracer::recordCanvasAction(impl, "deleteTexture"_s, WTFMove(callTracerParameters));
9869 }
9870 impl.deleteTexture(WTFMove(texture));
9871 return JSValue::encode(jsUndefined());
9872}
9873
9874EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDeleteTexture(ExecState* state)
9875{
9876 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDeleteTextureBody>(*state, "deleteTexture");
9877}
9878
9879#endif
9880
9881#if ENABLE(WEBGL)
9882static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDepthFuncBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9883{
9884 UNUSED_PARAM(state);
9885 UNUSED_PARAM(throwScope);
9886 auto& impl = castedThis->wrapped();
9887 if (UNLIKELY(state->argumentCount() < 1))
9888 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9889 auto func = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
9890 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9891 if (UNLIKELY(impl.callTracingActive())) {
9892 Vector<RecordCanvasActionVariant> callTracerParameters;
9893 callTracerParameters.append(func);
9894 CallTracer::recordCanvasAction(impl, "depthFunc"_s, WTFMove(callTracerParameters));
9895 }
9896 impl.depthFunc(WTFMove(func));
9897 return JSValue::encode(jsUndefined());
9898}
9899
9900EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDepthFunc(ExecState* state)
9901{
9902 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDepthFuncBody>(*state, "depthFunc");
9903}
9904
9905#endif
9906
9907#if ENABLE(WEBGL)
9908static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDepthMaskBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9909{
9910 UNUSED_PARAM(state);
9911 UNUSED_PARAM(throwScope);
9912 auto& impl = castedThis->wrapped();
9913 if (UNLIKELY(state->argumentCount() < 1))
9914 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9915 auto flag = convert<IDLBoolean>(*state, state->uncheckedArgument(0));
9916 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9917 if (UNLIKELY(impl.callTracingActive())) {
9918 Vector<RecordCanvasActionVariant> callTracerParameters;
9919 callTracerParameters.append(flag);
9920 CallTracer::recordCanvasAction(impl, "depthMask"_s, WTFMove(callTracerParameters));
9921 }
9922 impl.depthMask(WTFMove(flag));
9923 return JSValue::encode(jsUndefined());
9924}
9925
9926EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDepthMask(ExecState* state)
9927{
9928 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDepthMaskBody>(*state, "depthMask");
9929}
9930
9931#endif
9932
9933#if ENABLE(WEBGL)
9934static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDepthRangeBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9935{
9936 UNUSED_PARAM(state);
9937 UNUSED_PARAM(throwScope);
9938 auto& impl = castedThis->wrapped();
9939 if (UNLIKELY(state->argumentCount() < 2))
9940 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9941 auto zNear = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
9942 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9943 auto zFar = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
9944 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9945 if (UNLIKELY(impl.callTracingActive())) {
9946 Vector<RecordCanvasActionVariant> callTracerParameters;
9947 callTracerParameters.append(zNear);
9948 callTracerParameters.append(zFar);
9949 CallTracer::recordCanvasAction(impl, "depthRange"_s, WTFMove(callTracerParameters));
9950 }
9951 impl.depthRange(WTFMove(zNear), WTFMove(zFar));
9952 return JSValue::encode(jsUndefined());
9953}
9954
9955EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDepthRange(ExecState* state)
9956{
9957 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDepthRangeBody>(*state, "depthRange");
9958}
9959
9960#endif
9961
9962#if ENABLE(WEBGL)
9963static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDetachShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9964{
9965 UNUSED_PARAM(state);
9966 UNUSED_PARAM(throwScope);
9967 auto& impl = castedThis->wrapped();
9968 if (UNLIKELY(state->argumentCount() < 2))
9969 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
9970 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "detachShader", "WebGLProgram"); });
9971 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9972 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "shader", "WebGL2RenderingContext", "detachShader", "WebGLShader"); });
9973 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
9974 if (UNLIKELY(impl.callTracingActive())) {
9975 Vector<RecordCanvasActionVariant> callTracerParameters;
9976 if (program)
9977 callTracerParameters.append(program);
9978 if (shader)
9979 callTracerParameters.append(shader);
9980 CallTracer::recordCanvasAction(impl, "detachShader"_s, WTFMove(callTracerParameters));
9981 }
9982 impl.detachShader(WTFMove(program), WTFMove(shader));
9983 return JSValue::encode(jsUndefined());
9984}
9985
9986EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDetachShader(ExecState* state)
9987{
9988 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDetachShaderBody>(*state, "detachShader");
9989}
9990
9991#endif
9992
9993#if ENABLE(WEBGL)
9994static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDisableBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
9995{
9996 UNUSED_PARAM(state);
9997 UNUSED_PARAM(throwScope);
9998 auto& impl = castedThis->wrapped();
9999 if (UNLIKELY(state->argumentCount() < 1))
10000 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10001 auto cap = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10002 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10003 if (UNLIKELY(impl.callTracingActive())) {
10004 Vector<RecordCanvasActionVariant> callTracerParameters;
10005 callTracerParameters.append(cap);
10006 CallTracer::recordCanvasAction(impl, "disable"_s, WTFMove(callTracerParameters));
10007 }
10008 impl.disable(WTFMove(cap));
10009 return JSValue::encode(jsUndefined());
10010}
10011
10012EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDisable(ExecState* state)
10013{
10014 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDisableBody>(*state, "disable");
10015}
10016
10017#endif
10018
10019#if ENABLE(WEBGL)
10020static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDisableVertexAttribArrayBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10021{
10022 UNUSED_PARAM(state);
10023 UNUSED_PARAM(throwScope);
10024 auto& impl = castedThis->wrapped();
10025 if (UNLIKELY(state->argumentCount() < 1))
10026 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10027 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10028 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10029 if (UNLIKELY(impl.callTracingActive())) {
10030 Vector<RecordCanvasActionVariant> callTracerParameters;
10031 callTracerParameters.append(index);
10032 CallTracer::recordCanvasAction(impl, "disableVertexAttribArray"_s, WTFMove(callTracerParameters));
10033 }
10034 impl.disableVertexAttribArray(WTFMove(index));
10035 return JSValue::encode(jsUndefined());
10036}
10037
10038EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDisableVertexAttribArray(ExecState* state)
10039{
10040 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDisableVertexAttribArrayBody>(*state, "disableVertexAttribArray");
10041}
10042
10043#endif
10044
10045#if ENABLE(WEBGL)
10046static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDrawArraysBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10047{
10048 UNUSED_PARAM(state);
10049 UNUSED_PARAM(throwScope);
10050 auto& impl = castedThis->wrapped();
10051 if (UNLIKELY(state->argumentCount() < 3))
10052 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10053 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10054 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10055 auto first = convert<IDLLong>(*state, state->uncheckedArgument(1));
10056 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10057 auto count = convert<IDLLong>(*state, state->uncheckedArgument(2));
10058 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10059 if (UNLIKELY(impl.callTracingActive())) {
10060 Vector<RecordCanvasActionVariant> callTracerParameters;
10061 callTracerParameters.append(mode);
10062 callTracerParameters.append(first);
10063 callTracerParameters.append(count);
10064 CallTracer::recordCanvasAction(impl, "drawArrays"_s, WTFMove(callTracerParameters));
10065 }
10066 impl.drawArrays(WTFMove(mode), WTFMove(first), WTFMove(count));
10067 return JSValue::encode(jsUndefined());
10068}
10069
10070EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawArrays(ExecState* state)
10071{
10072 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDrawArraysBody>(*state, "drawArrays");
10073}
10074
10075#endif
10076
10077#if ENABLE(WEBGL)
10078static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionDrawElementsBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10079{
10080 UNUSED_PARAM(state);
10081 UNUSED_PARAM(throwScope);
10082 auto& impl = castedThis->wrapped();
10083 if (UNLIKELY(state->argumentCount() < 4))
10084 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10085 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10086 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10087 auto count = convert<IDLLong>(*state, state->uncheckedArgument(1));
10088 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10089 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
10090 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10091 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(3));
10092 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10093 if (UNLIKELY(impl.callTracingActive())) {
10094 Vector<RecordCanvasActionVariant> callTracerParameters;
10095 callTracerParameters.append(mode);
10096 callTracerParameters.append(count);
10097 callTracerParameters.append(type);
10098 callTracerParameters.append(offset);
10099 CallTracer::recordCanvasAction(impl, "drawElements"_s, WTFMove(callTracerParameters));
10100 }
10101 impl.drawElements(WTFMove(mode), WTFMove(count), WTFMove(type), WTFMove(offset));
10102 return JSValue::encode(jsUndefined());
10103}
10104
10105EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionDrawElements(ExecState* state)
10106{
10107 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionDrawElementsBody>(*state, "drawElements");
10108}
10109
10110#endif
10111
10112#if ENABLE(WEBGL)
10113static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionEnableBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10114{
10115 UNUSED_PARAM(state);
10116 UNUSED_PARAM(throwScope);
10117 auto& impl = castedThis->wrapped();
10118 if (UNLIKELY(state->argumentCount() < 1))
10119 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10120 auto cap = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10121 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10122 if (UNLIKELY(impl.callTracingActive())) {
10123 Vector<RecordCanvasActionVariant> callTracerParameters;
10124 callTracerParameters.append(cap);
10125 CallTracer::recordCanvasAction(impl, "enable"_s, WTFMove(callTracerParameters));
10126 }
10127 impl.enable(WTFMove(cap));
10128 return JSValue::encode(jsUndefined());
10129}
10130
10131EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionEnable(ExecState* state)
10132{
10133 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionEnableBody>(*state, "enable");
10134}
10135
10136#endif
10137
10138#if ENABLE(WEBGL)
10139static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionEnableVertexAttribArrayBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10140{
10141 UNUSED_PARAM(state);
10142 UNUSED_PARAM(throwScope);
10143 auto& impl = castedThis->wrapped();
10144 if (UNLIKELY(state->argumentCount() < 1))
10145 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10146 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10147 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10148 if (UNLIKELY(impl.callTracingActive())) {
10149 Vector<RecordCanvasActionVariant> callTracerParameters;
10150 callTracerParameters.append(index);
10151 CallTracer::recordCanvasAction(impl, "enableVertexAttribArray"_s, WTFMove(callTracerParameters));
10152 }
10153 impl.enableVertexAttribArray(WTFMove(index));
10154 return JSValue::encode(jsUndefined());
10155}
10156
10157EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionEnableVertexAttribArray(ExecState* state)
10158{
10159 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionEnableVertexAttribArrayBody>(*state, "enableVertexAttribArray");
10160}
10161
10162#endif
10163
10164#if ENABLE(WEBGL)
10165static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionFinishBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10166{
10167 UNUSED_PARAM(state);
10168 UNUSED_PARAM(throwScope);
10169 auto& impl = castedThis->wrapped();
10170 if (UNLIKELY(impl.callTracingActive()))
10171 CallTracer::recordCanvasAction(impl, "finish"_s);
10172 impl.finish();
10173 return JSValue::encode(jsUndefined());
10174}
10175
10176EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFinish(ExecState* state)
10177{
10178 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionFinishBody>(*state, "finish");
10179}
10180
10181#endif
10182
10183#if ENABLE(WEBGL)
10184static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionFlushBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10185{
10186 UNUSED_PARAM(state);
10187 UNUSED_PARAM(throwScope);
10188 auto& impl = castedThis->wrapped();
10189 if (UNLIKELY(impl.callTracingActive()))
10190 CallTracer::recordCanvasAction(impl, "flush"_s);
10191 impl.flush();
10192 return JSValue::encode(jsUndefined());
10193}
10194
10195EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFlush(ExecState* state)
10196{
10197 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionFlushBody>(*state, "flush");
10198}
10199
10200#endif
10201
10202#if ENABLE(WEBGL)
10203static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionFramebufferRenderbufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10204{
10205 UNUSED_PARAM(state);
10206 UNUSED_PARAM(throwScope);
10207 auto& impl = castedThis->wrapped();
10208 if (UNLIKELY(state->argumentCount() < 4))
10209 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10210 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10211 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10212 auto attachment = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10213 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10214 auto renderbuffertarget = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
10215 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10216 auto renderbuffer = convert<IDLNullable<IDLInterface<WebGLRenderbuffer>>>(*state, state->uncheckedArgument(3), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 3, "renderbuffer", "WebGL2RenderingContext", "framebufferRenderbuffer", "WebGLRenderbuffer"); });
10217 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10218 if (UNLIKELY(impl.callTracingActive())) {
10219 Vector<RecordCanvasActionVariant> callTracerParameters;
10220 callTracerParameters.append(target);
10221 callTracerParameters.append(attachment);
10222 callTracerParameters.append(renderbuffertarget);
10223 if (renderbuffer)
10224 callTracerParameters.append(renderbuffer);
10225 CallTracer::recordCanvasAction(impl, "framebufferRenderbuffer"_s, WTFMove(callTracerParameters));
10226 }
10227 impl.framebufferRenderbuffer(WTFMove(target), WTFMove(attachment), WTFMove(renderbuffertarget), WTFMove(renderbuffer));
10228 return JSValue::encode(jsUndefined());
10229}
10230
10231EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFramebufferRenderbuffer(ExecState* state)
10232{
10233 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionFramebufferRenderbufferBody>(*state, "framebufferRenderbuffer");
10234}
10235
10236#endif
10237
10238#if ENABLE(WEBGL)
10239static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionFramebufferTexture2DBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10240{
10241 UNUSED_PARAM(state);
10242 UNUSED_PARAM(throwScope);
10243 auto& impl = castedThis->wrapped();
10244 if (UNLIKELY(state->argumentCount() < 5))
10245 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10246 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10247 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10248 auto attachment = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10249 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10250 auto textarget = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
10251 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10252 auto texture = convert<IDLNullable<IDLInterface<WebGLTexture>>>(*state, state->uncheckedArgument(3), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 3, "texture", "WebGL2RenderingContext", "framebufferTexture2D", "WebGLTexture"); });
10253 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10254 auto level = convert<IDLLong>(*state, state->uncheckedArgument(4));
10255 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10256 if (UNLIKELY(impl.callTracingActive())) {
10257 Vector<RecordCanvasActionVariant> callTracerParameters;
10258 callTracerParameters.append(target);
10259 callTracerParameters.append(attachment);
10260 callTracerParameters.append(textarget);
10261 if (texture)
10262 callTracerParameters.append(texture);
10263 callTracerParameters.append(level);
10264 CallTracer::recordCanvasAction(impl, "framebufferTexture2D"_s, WTFMove(callTracerParameters));
10265 }
10266 impl.framebufferTexture2D(WTFMove(target), WTFMove(attachment), WTFMove(textarget), WTFMove(texture), WTFMove(level));
10267 return JSValue::encode(jsUndefined());
10268}
10269
10270EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFramebufferTexture2D(ExecState* state)
10271{
10272 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionFramebufferTexture2DBody>(*state, "framebufferTexture2D");
10273}
10274
10275#endif
10276
10277#if ENABLE(WEBGL)
10278static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionFrontFaceBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10279{
10280 UNUSED_PARAM(state);
10281 UNUSED_PARAM(throwScope);
10282 auto& impl = castedThis->wrapped();
10283 if (UNLIKELY(state->argumentCount() < 1))
10284 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10285 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10286 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10287 if (UNLIKELY(impl.callTracingActive())) {
10288 Vector<RecordCanvasActionVariant> callTracerParameters;
10289 callTracerParameters.append(mode);
10290 CallTracer::recordCanvasAction(impl, "frontFace"_s, WTFMove(callTracerParameters));
10291 }
10292 impl.frontFace(WTFMove(mode));
10293 return JSValue::encode(jsUndefined());
10294}
10295
10296EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionFrontFace(ExecState* state)
10297{
10298 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionFrontFaceBody>(*state, "frontFace");
10299}
10300
10301#endif
10302
10303#if ENABLE(WEBGL)
10304static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGenerateMipmapBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10305{
10306 UNUSED_PARAM(state);
10307 UNUSED_PARAM(throwScope);
10308 auto& impl = castedThis->wrapped();
10309 if (UNLIKELY(state->argumentCount() < 1))
10310 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10311 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10312 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10313 if (UNLIKELY(impl.callTracingActive())) {
10314 Vector<RecordCanvasActionVariant> callTracerParameters;
10315 callTracerParameters.append(target);
10316 CallTracer::recordCanvasAction(impl, "generateMipmap"_s, WTFMove(callTracerParameters));
10317 }
10318 impl.generateMipmap(WTFMove(target));
10319 return JSValue::encode(jsUndefined());
10320}
10321
10322EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGenerateMipmap(ExecState* state)
10323{
10324 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGenerateMipmapBody>(*state, "generateMipmap");
10325}
10326
10327#endif
10328
10329#if ENABLE(WEBGL)
10330static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetActiveAttribBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10331{
10332 UNUSED_PARAM(state);
10333 UNUSED_PARAM(throwScope);
10334 auto& impl = castedThis->wrapped();
10335 if (UNLIKELY(state->argumentCount() < 2))
10336 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10337 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getActiveAttrib", "WebGLProgram"); });
10338 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10339 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10340 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10341 if (UNLIKELY(impl.callTracingActive())) {
10342 Vector<RecordCanvasActionVariant> callTracerParameters;
10343 if (program)
10344 callTracerParameters.append(program);
10345 callTracerParameters.append(index);
10346 CallTracer::recordCanvasAction(impl, "getActiveAttrib"_s, WTFMove(callTracerParameters));
10347 }
10348 return JSValue::encode(toJS<IDLInterface<WebGLActiveInfo>>(*state, *castedThis->globalObject(), impl.getActiveAttrib(WTFMove(program), WTFMove(index))));
10349}
10350
10351EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetActiveAttrib(ExecState* state)
10352{
10353 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetActiveAttribBody>(*state, "getActiveAttrib");
10354}
10355
10356#endif
10357
10358#if ENABLE(WEBGL)
10359static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10360{
10361 UNUSED_PARAM(state);
10362 UNUSED_PARAM(throwScope);
10363 auto& impl = castedThis->wrapped();
10364 if (UNLIKELY(state->argumentCount() < 2))
10365 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10366 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getActiveUniform", "WebGLProgram"); });
10367 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10368 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10369 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10370 if (UNLIKELY(impl.callTracingActive())) {
10371 Vector<RecordCanvasActionVariant> callTracerParameters;
10372 if (program)
10373 callTracerParameters.append(program);
10374 callTracerParameters.append(index);
10375 CallTracer::recordCanvasAction(impl, "getActiveUniform"_s, WTFMove(callTracerParameters));
10376 }
10377 return JSValue::encode(toJS<IDLInterface<WebGLActiveInfo>>(*state, *castedThis->globalObject(), impl.getActiveUniform(WTFMove(program), WTFMove(index))));
10378}
10379
10380EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetActiveUniform(ExecState* state)
10381{
10382 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetActiveUniformBody>(*state, "getActiveUniform");
10383}
10384
10385#endif
10386
10387#if ENABLE(WEBGL)
10388static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetAttachedShadersBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10389{
10390 UNUSED_PARAM(state);
10391 UNUSED_PARAM(throwScope);
10392 auto& impl = castedThis->wrapped();
10393 if (UNLIKELY(state->argumentCount() < 1))
10394 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10395 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getAttachedShaders", "WebGLProgram"); });
10396 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10397 if (UNLIKELY(impl.callTracingActive())) {
10398 Vector<RecordCanvasActionVariant> callTracerParameters;
10399 if (program)
10400 callTracerParameters.append(program);
10401 CallTracer::recordCanvasAction(impl, "getAttachedShaders"_s, WTFMove(callTracerParameters));
10402 }
10403 return JSValue::encode(toJS<IDLNullable<IDLSequence<IDLInterface<WebGLShader>>>>(*state, *castedThis->globalObject(), impl.getAttachedShaders(WTFMove(program))));
10404}
10405
10406EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetAttachedShaders(ExecState* state)
10407{
10408 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetAttachedShadersBody>(*state, "getAttachedShaders");
10409}
10410
10411#endif
10412
10413#if ENABLE(WEBGL)
10414static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetAttribLocationBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10415{
10416 UNUSED_PARAM(state);
10417 UNUSED_PARAM(throwScope);
10418 auto& impl = castedThis->wrapped();
10419 if (UNLIKELY(state->argumentCount() < 2))
10420 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10421 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getAttribLocation", "WebGLProgram"); });
10422 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10423 auto name = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
10424 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10425 if (UNLIKELY(impl.callTracingActive())) {
10426 Vector<RecordCanvasActionVariant> callTracerParameters;
10427 if (program)
10428 callTracerParameters.append(program);
10429 callTracerParameters.append(name);
10430 CallTracer::recordCanvasAction(impl, "getAttribLocation"_s, WTFMove(callTracerParameters));
10431 }
10432 return JSValue::encode(toJS<IDLLong>(impl.getAttribLocation(WTFMove(program), WTFMove(name))));
10433}
10434
10435EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetAttribLocation(ExecState* state)
10436{
10437 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetAttribLocationBody>(*state, "getAttribLocation");
10438}
10439
10440#endif
10441
10442#if ENABLE(WEBGL)
10443static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetBufferParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10444{
10445 UNUSED_PARAM(state);
10446 UNUSED_PARAM(throwScope);
10447 auto& impl = castedThis->wrapped();
10448 if (UNLIKELY(state->argumentCount() < 2))
10449 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10450 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10451 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10452 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10453 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10454 if (UNLIKELY(impl.callTracingActive())) {
10455 Vector<RecordCanvasActionVariant> callTracerParameters;
10456 callTracerParameters.append(target);
10457 callTracerParameters.append(pname);
10458 CallTracer::recordCanvasAction(impl, "getBufferParameter"_s, WTFMove(callTracerParameters));
10459 }
10460 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getBufferParameter(WTFMove(target), WTFMove(pname))));
10461}
10462
10463EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetBufferParameter(ExecState* state)
10464{
10465 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetBufferParameterBody>(*state, "getBufferParameter");
10466}
10467
10468#endif
10469
10470#if ENABLE(WEBGL)
10471static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetContextAttributesBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10472{
10473 UNUSED_PARAM(state);
10474 UNUSED_PARAM(throwScope);
10475 auto& impl = castedThis->wrapped();
10476 if (UNLIKELY(impl.callTracingActive()))
10477 CallTracer::recordCanvasAction(impl, "getContextAttributes"_s);
10478 return JSValue::encode(toJS<IDLNullable<IDLDictionary<WebGLContextAttributes>>>(*state, *castedThis->globalObject(), impl.getContextAttributes()));
10479}
10480
10481EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetContextAttributes(ExecState* state)
10482{
10483 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetContextAttributesBody>(*state, "getContextAttributes");
10484}
10485
10486#endif
10487
10488#if ENABLE(WEBGL)
10489static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetErrorBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10490{
10491 UNUSED_PARAM(state);
10492 UNUSED_PARAM(throwScope);
10493 auto& impl = castedThis->wrapped();
10494 if (UNLIKELY(impl.callTracingActive()))
10495 CallTracer::recordCanvasAction(impl, "getError"_s);
10496 return JSValue::encode(toJS<IDLUnsignedLong>(impl.getError()));
10497}
10498
10499EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetError(ExecState* state)
10500{
10501 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetErrorBody>(*state, "getError");
10502}
10503
10504#endif
10505
10506#if ENABLE(WEBGL)
10507static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetSupportedExtensionsBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10508{
10509 UNUSED_PARAM(state);
10510 UNUSED_PARAM(throwScope);
10511 auto& impl = castedThis->wrapped();
10512 if (UNLIKELY(impl.callTracingActive()))
10513 CallTracer::recordCanvasAction(impl, "getSupportedExtensions"_s);
10514 return JSValue::encode(toJS<IDLNullable<IDLSequence<IDLDOMString>>>(*state, *castedThis->globalObject(), impl.getSupportedExtensions()));
10515}
10516
10517EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetSupportedExtensions(ExecState* state)
10518{
10519 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetSupportedExtensionsBody>(*state, "getSupportedExtensions");
10520}
10521
10522#endif
10523
10524#if ENABLE(WEBGL)
10525static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetExtensionBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10526{
10527 UNUSED_PARAM(state);
10528 UNUSED_PARAM(throwScope);
10529 auto& impl = castedThis->wrapped();
10530 if (UNLIKELY(state->argumentCount() < 1))
10531 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10532 auto name = convert<IDLDOMString>(*state, state->uncheckedArgument(0));
10533 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10534 if (UNLIKELY(impl.callTracingActive())) {
10535 Vector<RecordCanvasActionVariant> callTracerParameters;
10536 callTracerParameters.append(name);
10537 CallTracer::recordCanvasAction(impl, "getExtension"_s, WTFMove(callTracerParameters));
10538 }
10539 return JSValue::encode(toJS<IDLNullable<IDLWebGLExtension>>(*state, *castedThis->globalObject(), impl.getExtension(WTFMove(name))));
10540}
10541
10542EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetExtension(ExecState* state)
10543{
10544 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetExtensionBody>(*state, "getExtension");
10545}
10546
10547#endif
10548
10549#if ENABLE(WEBGL)
10550static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetFramebufferAttachmentParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10551{
10552 UNUSED_PARAM(state);
10553 UNUSED_PARAM(throwScope);
10554 auto& impl = castedThis->wrapped();
10555 if (UNLIKELY(state->argumentCount() < 3))
10556 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10557 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10558 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10559 auto attachment = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10560 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10561 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
10562 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10563 if (UNLIKELY(impl.callTracingActive())) {
10564 Vector<RecordCanvasActionVariant> callTracerParameters;
10565 callTracerParameters.append(target);
10566 callTracerParameters.append(attachment);
10567 callTracerParameters.append(pname);
10568 CallTracer::recordCanvasAction(impl, "getFramebufferAttachmentParameter"_s, WTFMove(callTracerParameters));
10569 }
10570 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getFramebufferAttachmentParameter(WTFMove(target), WTFMove(attachment), WTFMove(pname))));
10571}
10572
10573EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetFramebufferAttachmentParameter(ExecState* state)
10574{
10575 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetFramebufferAttachmentParameterBody>(*state, "getFramebufferAttachmentParameter");
10576}
10577
10578#endif
10579
10580#if ENABLE(WEBGL)
10581static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10582{
10583 UNUSED_PARAM(state);
10584 UNUSED_PARAM(throwScope);
10585 auto& impl = castedThis->wrapped();
10586 if (UNLIKELY(state->argumentCount() < 1))
10587 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10588 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10589 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10590 if (UNLIKELY(impl.callTracingActive())) {
10591 Vector<RecordCanvasActionVariant> callTracerParameters;
10592 callTracerParameters.append(pname);
10593 CallTracer::recordCanvasAction(impl, "getParameter"_s, WTFMove(callTracerParameters));
10594 }
10595 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getParameter(WTFMove(pname))));
10596}
10597
10598EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetParameter(ExecState* state)
10599{
10600 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetParameterBody>(*state, "getParameter");
10601}
10602
10603#endif
10604
10605#if ENABLE(WEBGL)
10606static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetProgramParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10607{
10608 UNUSED_PARAM(state);
10609 UNUSED_PARAM(throwScope);
10610 auto& impl = castedThis->wrapped();
10611 if (UNLIKELY(state->argumentCount() < 2))
10612 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10613 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getProgramParameter", "WebGLProgram"); });
10614 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10615 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10616 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10617 if (UNLIKELY(impl.callTracingActive())) {
10618 Vector<RecordCanvasActionVariant> callTracerParameters;
10619 if (program)
10620 callTracerParameters.append(program);
10621 callTracerParameters.append(pname);
10622 CallTracer::recordCanvasAction(impl, "getProgramParameter"_s, WTFMove(callTracerParameters));
10623 }
10624 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getProgramParameter(WTFMove(program), WTFMove(pname))));
10625}
10626
10627EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetProgramParameter(ExecState* state)
10628{
10629 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetProgramParameterBody>(*state, "getProgramParameter");
10630}
10631
10632#endif
10633
10634#if ENABLE(WEBGL)
10635static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetProgramInfoLogBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10636{
10637 UNUSED_PARAM(state);
10638 UNUSED_PARAM(throwScope);
10639 auto& impl = castedThis->wrapped();
10640 if (UNLIKELY(state->argumentCount() < 1))
10641 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10642 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getProgramInfoLog", "WebGLProgram"); });
10643 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10644 if (UNLIKELY(impl.callTracingActive())) {
10645 Vector<RecordCanvasActionVariant> callTracerParameters;
10646 if (program)
10647 callTracerParameters.append(program);
10648 CallTracer::recordCanvasAction(impl, "getProgramInfoLog"_s, WTFMove(callTracerParameters));
10649 }
10650 return JSValue::encode(toJS<IDLNullable<IDLDOMString>>(*state, impl.getProgramInfoLog(WTFMove(program))));
10651}
10652
10653EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetProgramInfoLog(ExecState* state)
10654{
10655 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetProgramInfoLogBody>(*state, "getProgramInfoLog");
10656}
10657
10658#endif
10659
10660#if ENABLE(WEBGL)
10661static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetRenderbufferParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10662{
10663 UNUSED_PARAM(state);
10664 UNUSED_PARAM(throwScope);
10665 auto& impl = castedThis->wrapped();
10666 if (UNLIKELY(state->argumentCount() < 2))
10667 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10668 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10669 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10670 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10671 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10672 if (UNLIKELY(impl.callTracingActive())) {
10673 Vector<RecordCanvasActionVariant> callTracerParameters;
10674 callTracerParameters.append(target);
10675 callTracerParameters.append(pname);
10676 CallTracer::recordCanvasAction(impl, "getRenderbufferParameter"_s, WTFMove(callTracerParameters));
10677 }
10678 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getRenderbufferParameter(WTFMove(target), WTFMove(pname))));
10679}
10680
10681EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetRenderbufferParameter(ExecState* state)
10682{
10683 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetRenderbufferParameterBody>(*state, "getRenderbufferParameter");
10684}
10685
10686#endif
10687
10688#if ENABLE(WEBGL)
10689static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetShaderParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10690{
10691 UNUSED_PARAM(state);
10692 UNUSED_PARAM(throwScope);
10693 auto& impl = castedThis->wrapped();
10694 if (UNLIKELY(state->argumentCount() < 2))
10695 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10696 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGL2RenderingContext", "getShaderParameter", "WebGLShader"); });
10697 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10698 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10699 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10700 if (UNLIKELY(impl.callTracingActive())) {
10701 Vector<RecordCanvasActionVariant> callTracerParameters;
10702 if (shader)
10703 callTracerParameters.append(shader);
10704 callTracerParameters.append(pname);
10705 CallTracer::recordCanvasAction(impl, "getShaderParameter"_s, WTFMove(callTracerParameters));
10706 }
10707 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getShaderParameter(WTFMove(shader), WTFMove(pname))));
10708}
10709
10710EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetShaderParameter(ExecState* state)
10711{
10712 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetShaderParameterBody>(*state, "getShaderParameter");
10713}
10714
10715#endif
10716
10717#if ENABLE(WEBGL)
10718static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetShaderInfoLogBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10719{
10720 UNUSED_PARAM(state);
10721 UNUSED_PARAM(throwScope);
10722 auto& impl = castedThis->wrapped();
10723 if (UNLIKELY(state->argumentCount() < 1))
10724 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10725 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGL2RenderingContext", "getShaderInfoLog", "WebGLShader"); });
10726 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10727 if (UNLIKELY(impl.callTracingActive())) {
10728 Vector<RecordCanvasActionVariant> callTracerParameters;
10729 if (shader)
10730 callTracerParameters.append(shader);
10731 CallTracer::recordCanvasAction(impl, "getShaderInfoLog"_s, WTFMove(callTracerParameters));
10732 }
10733 return JSValue::encode(toJS<IDLNullable<IDLDOMString>>(*state, impl.getShaderInfoLog(WTFMove(shader))));
10734}
10735
10736EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetShaderInfoLog(ExecState* state)
10737{
10738 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetShaderInfoLogBody>(*state, "getShaderInfoLog");
10739}
10740
10741#endif
10742
10743#if ENABLE(WEBGL)
10744static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetShaderPrecisionFormatBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10745{
10746 UNUSED_PARAM(state);
10747 UNUSED_PARAM(throwScope);
10748 auto& impl = castedThis->wrapped();
10749 if (UNLIKELY(state->argumentCount() < 2))
10750 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10751 auto shadertype = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10752 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10753 auto precisiontype = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10754 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10755 if (UNLIKELY(impl.callTracingActive())) {
10756 Vector<RecordCanvasActionVariant> callTracerParameters;
10757 callTracerParameters.append(shadertype);
10758 callTracerParameters.append(precisiontype);
10759 CallTracer::recordCanvasAction(impl, "getShaderPrecisionFormat"_s, WTFMove(callTracerParameters));
10760 }
10761 return JSValue::encode(toJS<IDLInterface<WebGLShaderPrecisionFormat>>(*state, *castedThis->globalObject(), impl.getShaderPrecisionFormat(WTFMove(shadertype), WTFMove(precisiontype))));
10762}
10763
10764EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetShaderPrecisionFormat(ExecState* state)
10765{
10766 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetShaderPrecisionFormatBody>(*state, "getShaderPrecisionFormat");
10767}
10768
10769#endif
10770
10771#if ENABLE(WEBGL)
10772static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetShaderSourceBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10773{
10774 UNUSED_PARAM(state);
10775 UNUSED_PARAM(throwScope);
10776 auto& impl = castedThis->wrapped();
10777 if (UNLIKELY(state->argumentCount() < 1))
10778 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10779 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGL2RenderingContext", "getShaderSource", "WebGLShader"); });
10780 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10781 if (UNLIKELY(impl.callTracingActive())) {
10782 Vector<RecordCanvasActionVariant> callTracerParameters;
10783 if (shader)
10784 callTracerParameters.append(shader);
10785 CallTracer::recordCanvasAction(impl, "getShaderSource"_s, WTFMove(callTracerParameters));
10786 }
10787 return JSValue::encode(toJS<IDLNullable<IDLDOMString>>(*state, impl.getShaderSource(WTFMove(shader))));
10788}
10789
10790EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetShaderSource(ExecState* state)
10791{
10792 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetShaderSourceBody>(*state, "getShaderSource");
10793}
10794
10795#endif
10796
10797#if ENABLE(WEBGL)
10798static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetTexParameterBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10799{
10800 UNUSED_PARAM(state);
10801 UNUSED_PARAM(throwScope);
10802 auto& impl = castedThis->wrapped();
10803 if (UNLIKELY(state->argumentCount() < 2))
10804 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10805 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10806 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10807 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10808 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10809 if (UNLIKELY(impl.callTracingActive())) {
10810 Vector<RecordCanvasActionVariant> callTracerParameters;
10811 callTracerParameters.append(target);
10812 callTracerParameters.append(pname);
10813 CallTracer::recordCanvasAction(impl, "getTexParameter"_s, WTFMove(callTracerParameters));
10814 }
10815 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getTexParameter(WTFMove(target), WTFMove(pname))));
10816}
10817
10818EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetTexParameter(ExecState* state)
10819{
10820 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetTexParameterBody>(*state, "getTexParameter");
10821}
10822
10823#endif
10824
10825#if ENABLE(WEBGL)
10826static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetUniformBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10827{
10828 UNUSED_PARAM(state);
10829 UNUSED_PARAM(throwScope);
10830 auto& impl = castedThis->wrapped();
10831 if (UNLIKELY(state->argumentCount() < 2))
10832 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10833 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getUniform", "WebGLProgram"); });
10834 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10835 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(1), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 1, "location", "WebGL2RenderingContext", "getUniform", "WebGLUniformLocation"); });
10836 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10837 if (UNLIKELY(impl.callTracingActive())) {
10838 Vector<RecordCanvasActionVariant> callTracerParameters;
10839 if (program)
10840 callTracerParameters.append(program);
10841 if (location)
10842 callTracerParameters.append(location);
10843 CallTracer::recordCanvasAction(impl, "getUniform"_s, WTFMove(callTracerParameters));
10844 }
10845 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getUniform(WTFMove(program), WTFMove(location))));
10846}
10847
10848EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetUniform(ExecState* state)
10849{
10850 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetUniformBody>(*state, "getUniform");
10851}
10852
10853#endif
10854
10855#if ENABLE(WEBGL)
10856static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetUniformLocationBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10857{
10858 UNUSED_PARAM(state);
10859 UNUSED_PARAM(throwScope);
10860 auto& impl = castedThis->wrapped();
10861 if (UNLIKELY(state->argumentCount() < 2))
10862 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10863 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "getUniformLocation", "WebGLProgram"); });
10864 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10865 auto name = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
10866 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10867 if (UNLIKELY(impl.callTracingActive())) {
10868 Vector<RecordCanvasActionVariant> callTracerParameters;
10869 if (program)
10870 callTracerParameters.append(program);
10871 callTracerParameters.append(name);
10872 CallTracer::recordCanvasAction(impl, "getUniformLocation"_s, WTFMove(callTracerParameters));
10873 }
10874 return JSValue::encode(toJS<IDLInterface<WebGLUniformLocation>>(*state, *castedThis->globalObject(), impl.getUniformLocation(WTFMove(program), WTFMove(name))));
10875}
10876
10877EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetUniformLocation(ExecState* state)
10878{
10879 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetUniformLocationBody>(*state, "getUniformLocation");
10880}
10881
10882#endif
10883
10884#if ENABLE(WEBGL)
10885static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetVertexAttribBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10886{
10887 UNUSED_PARAM(state);
10888 UNUSED_PARAM(throwScope);
10889 auto& impl = castedThis->wrapped();
10890 if (UNLIKELY(state->argumentCount() < 2))
10891 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10892 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10893 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10894 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10895 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10896 if (UNLIKELY(impl.callTracingActive())) {
10897 Vector<RecordCanvasActionVariant> callTracerParameters;
10898 callTracerParameters.append(index);
10899 callTracerParameters.append(pname);
10900 CallTracer::recordCanvasAction(impl, "getVertexAttrib"_s, WTFMove(callTracerParameters));
10901 }
10902 return JSValue::encode(toJS<IDLWebGLAny>(*state, *castedThis->globalObject(), impl.getVertexAttrib(WTFMove(index), WTFMove(pname))));
10903}
10904
10905EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetVertexAttrib(ExecState* state)
10906{
10907 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetVertexAttribBody>(*state, "getVertexAttrib");
10908}
10909
10910#endif
10911
10912#if ENABLE(WEBGL)
10913static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionGetVertexAttribOffsetBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10914{
10915 UNUSED_PARAM(state);
10916 UNUSED_PARAM(throwScope);
10917 auto& impl = castedThis->wrapped();
10918 if (UNLIKELY(state->argumentCount() < 2))
10919 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10920 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10921 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10922 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10923 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10924 if (UNLIKELY(impl.callTracingActive())) {
10925 Vector<RecordCanvasActionVariant> callTracerParameters;
10926 callTracerParameters.append(index);
10927 callTracerParameters.append(pname);
10928 CallTracer::recordCanvasAction(impl, "getVertexAttribOffset"_s, WTFMove(callTracerParameters));
10929 }
10930 return JSValue::encode(toJS<IDLLongLong>(impl.getVertexAttribOffset(WTFMove(index), WTFMove(pname))));
10931}
10932
10933EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionGetVertexAttribOffset(ExecState* state)
10934{
10935 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionGetVertexAttribOffsetBody>(*state, "getVertexAttribOffset");
10936}
10937
10938#endif
10939
10940#if ENABLE(WEBGL)
10941static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionHintBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10942{
10943 UNUSED_PARAM(state);
10944 UNUSED_PARAM(throwScope);
10945 auto& impl = castedThis->wrapped();
10946 if (UNLIKELY(state->argumentCount() < 2))
10947 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10948 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
10949 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10950 auto mode = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
10951 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10952 if (UNLIKELY(impl.callTracingActive())) {
10953 Vector<RecordCanvasActionVariant> callTracerParameters;
10954 callTracerParameters.append(target);
10955 callTracerParameters.append(mode);
10956 CallTracer::recordCanvasAction(impl, "hint"_s, WTFMove(callTracerParameters));
10957 }
10958 impl.hint(WTFMove(target), WTFMove(mode));
10959 return JSValue::encode(jsUndefined());
10960}
10961
10962EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionHint(ExecState* state)
10963{
10964 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionHintBody>(*state, "hint");
10965}
10966
10967#endif
10968
10969#if ENABLE(WEBGL)
10970static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsBufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10971{
10972 UNUSED_PARAM(state);
10973 UNUSED_PARAM(throwScope);
10974 auto& impl = castedThis->wrapped();
10975 if (UNLIKELY(state->argumentCount() < 1))
10976 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
10977 auto buffer = convert<IDLNullable<IDLInterface<WebGLBuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "buffer", "WebGL2RenderingContext", "isBuffer", "WebGLBuffer"); });
10978 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
10979 if (UNLIKELY(impl.callTracingActive())) {
10980 Vector<RecordCanvasActionVariant> callTracerParameters;
10981 if (buffer)
10982 callTracerParameters.append(buffer);
10983 CallTracer::recordCanvasAction(impl, "isBuffer"_s, WTFMove(callTracerParameters));
10984 }
10985 return JSValue::encode(toJS<IDLBoolean>(impl.isBuffer(WTFMove(buffer))));
10986}
10987
10988EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsBuffer(ExecState* state)
10989{
10990 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsBufferBody>(*state, "isBuffer");
10991}
10992
10993#endif
10994
10995#if ENABLE(WEBGL)
10996static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsContextLostBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
10997{
10998 UNUSED_PARAM(state);
10999 UNUSED_PARAM(throwScope);
11000 auto& impl = castedThis->wrapped();
11001 if (UNLIKELY(impl.callTracingActive()))
11002 CallTracer::recordCanvasAction(impl, "isContextLost"_s);
11003 return JSValue::encode(toJS<IDLBoolean>(impl.isContextLost()));
11004}
11005
11006EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsContextLost(ExecState* state)
11007{
11008 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsContextLostBody>(*state, "isContextLost");
11009}
11010
11011#endif
11012
11013#if ENABLE(WEBGL)
11014static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsEnabledBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11015{
11016 UNUSED_PARAM(state);
11017 UNUSED_PARAM(throwScope);
11018 auto& impl = castedThis->wrapped();
11019 if (UNLIKELY(state->argumentCount() < 1))
11020 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11021 auto cap = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
11022 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11023 if (UNLIKELY(impl.callTracingActive())) {
11024 Vector<RecordCanvasActionVariant> callTracerParameters;
11025 callTracerParameters.append(cap);
11026 CallTracer::recordCanvasAction(impl, "isEnabled"_s, WTFMove(callTracerParameters));
11027 }
11028 return JSValue::encode(toJS<IDLBoolean>(impl.isEnabled(WTFMove(cap))));
11029}
11030
11031EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsEnabled(ExecState* state)
11032{
11033 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsEnabledBody>(*state, "isEnabled");
11034}
11035
11036#endif
11037
11038#if ENABLE(WEBGL)
11039static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsFramebufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11040{
11041 UNUSED_PARAM(state);
11042 UNUSED_PARAM(throwScope);
11043 auto& impl = castedThis->wrapped();
11044 if (UNLIKELY(state->argumentCount() < 1))
11045 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11046 auto framebuffer = convert<IDLNullable<IDLInterface<WebGLFramebuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "framebuffer", "WebGL2RenderingContext", "isFramebuffer", "WebGLFramebuffer"); });
11047 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11048 if (UNLIKELY(impl.callTracingActive())) {
11049 Vector<RecordCanvasActionVariant> callTracerParameters;
11050 if (framebuffer)
11051 callTracerParameters.append(framebuffer);
11052 CallTracer::recordCanvasAction(impl, "isFramebuffer"_s, WTFMove(callTracerParameters));
11053 }
11054 return JSValue::encode(toJS<IDLBoolean>(impl.isFramebuffer(WTFMove(framebuffer))));
11055}
11056
11057EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsFramebuffer(ExecState* state)
11058{
11059 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsFramebufferBody>(*state, "isFramebuffer");
11060}
11061
11062#endif
11063
11064#if ENABLE(WEBGL)
11065static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11066{
11067 UNUSED_PARAM(state);
11068 UNUSED_PARAM(throwScope);
11069 auto& impl = castedThis->wrapped();
11070 if (UNLIKELY(state->argumentCount() < 1))
11071 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11072 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "isProgram", "WebGLProgram"); });
11073 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11074 if (UNLIKELY(impl.callTracingActive())) {
11075 Vector<RecordCanvasActionVariant> callTracerParameters;
11076 if (program)
11077 callTracerParameters.append(program);
11078 CallTracer::recordCanvasAction(impl, "isProgram"_s, WTFMove(callTracerParameters));
11079 }
11080 return JSValue::encode(toJS<IDLBoolean>(impl.isProgram(WTFMove(program))));
11081}
11082
11083EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsProgram(ExecState* state)
11084{
11085 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsProgramBody>(*state, "isProgram");
11086}
11087
11088#endif
11089
11090#if ENABLE(WEBGL)
11091static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsRenderbufferBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11092{
11093 UNUSED_PARAM(state);
11094 UNUSED_PARAM(throwScope);
11095 auto& impl = castedThis->wrapped();
11096 if (UNLIKELY(state->argumentCount() < 1))
11097 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11098 auto renderbuffer = convert<IDLNullable<IDLInterface<WebGLRenderbuffer>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "renderbuffer", "WebGL2RenderingContext", "isRenderbuffer", "WebGLRenderbuffer"); });
11099 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11100 if (UNLIKELY(impl.callTracingActive())) {
11101 Vector<RecordCanvasActionVariant> callTracerParameters;
11102 if (renderbuffer)
11103 callTracerParameters.append(renderbuffer);
11104 CallTracer::recordCanvasAction(impl, "isRenderbuffer"_s, WTFMove(callTracerParameters));
11105 }
11106 return JSValue::encode(toJS<IDLBoolean>(impl.isRenderbuffer(WTFMove(renderbuffer))));
11107}
11108
11109EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsRenderbuffer(ExecState* state)
11110{
11111 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsRenderbufferBody>(*state, "isRenderbuffer");
11112}
11113
11114#endif
11115
11116#if ENABLE(WEBGL)
11117static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsShaderBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11118{
11119 UNUSED_PARAM(state);
11120 UNUSED_PARAM(throwScope);
11121 auto& impl = castedThis->wrapped();
11122 if (UNLIKELY(state->argumentCount() < 1))
11123 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11124 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGL2RenderingContext", "isShader", "WebGLShader"); });
11125 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11126 if (UNLIKELY(impl.callTracingActive())) {
11127 Vector<RecordCanvasActionVariant> callTracerParameters;
11128 if (shader)
11129 callTracerParameters.append(shader);
11130 CallTracer::recordCanvasAction(impl, "isShader"_s, WTFMove(callTracerParameters));
11131 }
11132 return JSValue::encode(toJS<IDLBoolean>(impl.isShader(WTFMove(shader))));
11133}
11134
11135EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsShader(ExecState* state)
11136{
11137 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsShaderBody>(*state, "isShader");
11138}
11139
11140#endif
11141
11142#if ENABLE(WEBGL)
11143static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionIsTextureBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11144{
11145 UNUSED_PARAM(state);
11146 UNUSED_PARAM(throwScope);
11147 auto& impl = castedThis->wrapped();
11148 if (UNLIKELY(state->argumentCount() < 1))
11149 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11150 auto texture = convert<IDLNullable<IDLInterface<WebGLTexture>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "texture", "WebGL2RenderingContext", "isTexture", "WebGLTexture"); });
11151 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11152 if (UNLIKELY(impl.callTracingActive())) {
11153 Vector<RecordCanvasActionVariant> callTracerParameters;
11154 if (texture)
11155 callTracerParameters.append(texture);
11156 CallTracer::recordCanvasAction(impl, "isTexture"_s, WTFMove(callTracerParameters));
11157 }
11158 return JSValue::encode(toJS<IDLBoolean>(impl.isTexture(WTFMove(texture))));
11159}
11160
11161EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionIsTexture(ExecState* state)
11162{
11163 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionIsTextureBody>(*state, "isTexture");
11164}
11165
11166#endif
11167
11168#if ENABLE(WEBGL)
11169static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionLineWidthBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11170{
11171 UNUSED_PARAM(state);
11172 UNUSED_PARAM(throwScope);
11173 auto& impl = castedThis->wrapped();
11174 if (UNLIKELY(state->argumentCount() < 1))
11175 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11176 auto width = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
11177 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11178 if (UNLIKELY(impl.callTracingActive())) {
11179 Vector<RecordCanvasActionVariant> callTracerParameters;
11180 callTracerParameters.append(width);
11181 CallTracer::recordCanvasAction(impl, "lineWidth"_s, WTFMove(callTracerParameters));
11182 }
11183 impl.lineWidth(WTFMove(width));
11184 return JSValue::encode(jsUndefined());
11185}
11186
11187EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionLineWidth(ExecState* state)
11188{
11189 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionLineWidthBody>(*state, "lineWidth");
11190}
11191
11192#endif
11193
11194#if ENABLE(WEBGL)
11195static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionLinkProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11196{
11197 UNUSED_PARAM(state);
11198 UNUSED_PARAM(throwScope);
11199 auto& impl = castedThis->wrapped();
11200 if (UNLIKELY(state->argumentCount() < 1))
11201 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11202 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "linkProgram", "WebGLProgram"); });
11203 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11204 if (UNLIKELY(impl.callTracingActive())) {
11205 Vector<RecordCanvasActionVariant> callTracerParameters;
11206 if (program)
11207 callTracerParameters.append(program);
11208 CallTracer::recordCanvasAction(impl, "linkProgram"_s, WTFMove(callTracerParameters));
11209 }
11210 impl.linkProgram(WTFMove(program));
11211 return JSValue::encode(jsUndefined());
11212}
11213
11214EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionLinkProgram(ExecState* state)
11215{
11216 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionLinkProgramBody>(*state, "linkProgram");
11217}
11218
11219#endif
11220
11221#if ENABLE(WEBGL)
11222static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionPixelStoreiBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11223{
11224 UNUSED_PARAM(state);
11225 UNUSED_PARAM(throwScope);
11226 auto& impl = castedThis->wrapped();
11227 if (UNLIKELY(state->argumentCount() < 2))
11228 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11229 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
11230 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11231 auto param = convert<IDLLong>(*state, state->uncheckedArgument(1));
11232 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11233 if (UNLIKELY(impl.callTracingActive())) {
11234 Vector<RecordCanvasActionVariant> callTracerParameters;
11235 callTracerParameters.append(pname);
11236 callTracerParameters.append(param);
11237 CallTracer::recordCanvasAction(impl, "pixelStorei"_s, WTFMove(callTracerParameters));
11238 }
11239 impl.pixelStorei(WTFMove(pname), WTFMove(param));
11240 return JSValue::encode(jsUndefined());
11241}
11242
11243EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionPixelStorei(ExecState* state)
11244{
11245 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionPixelStoreiBody>(*state, "pixelStorei");
11246}
11247
11248#endif
11249
11250#if ENABLE(WEBGL)
11251static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionPolygonOffsetBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11252{
11253 UNUSED_PARAM(state);
11254 UNUSED_PARAM(throwScope);
11255 auto& impl = castedThis->wrapped();
11256 if (UNLIKELY(state->argumentCount() < 2))
11257 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11258 auto factor = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
11259 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11260 auto units = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
11261 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11262 if (UNLIKELY(impl.callTracingActive())) {
11263 Vector<RecordCanvasActionVariant> callTracerParameters;
11264 callTracerParameters.append(factor);
11265 callTracerParameters.append(units);
11266 CallTracer::recordCanvasAction(impl, "polygonOffset"_s, WTFMove(callTracerParameters));
11267 }
11268 impl.polygonOffset(WTFMove(factor), WTFMove(units));
11269 return JSValue::encode(jsUndefined());
11270}
11271
11272EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionPolygonOffset(ExecState* state)
11273{
11274 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionPolygonOffsetBody>(*state, "polygonOffset");
11275}
11276
11277#endif
11278
11279#if ENABLE(WEBGL)
11280static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionReadPixelsBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11281{
11282 UNUSED_PARAM(state);
11283 UNUSED_PARAM(throwScope);
11284 auto& impl = castedThis->wrapped();
11285 if (UNLIKELY(state->argumentCount() < 7))
11286 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11287 auto x = convert<IDLLong>(*state, state->uncheckedArgument(0));
11288 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11289 auto y = convert<IDLLong>(*state, state->uncheckedArgument(1));
11290 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11291 auto width = convert<IDLLong>(*state, state->uncheckedArgument(2));
11292 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11293 auto height = convert<IDLLong>(*state, state->uncheckedArgument(3));
11294 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11295 auto format = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(4));
11296 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11297 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(5));
11298 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11299 auto pixels = convert<IDLArrayBufferView>(*state, state->uncheckedArgument(6), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 6, "pixels", "WebGL2RenderingContext", "readPixels", "ArrayBufferView"); });
11300 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11301 if (UNLIKELY(impl.callTracingActive())) {
11302 Vector<RecordCanvasActionVariant> callTracerParameters;
11303 callTracerParameters.append(x);
11304 callTracerParameters.append(y);
11305 callTracerParameters.append(width);
11306 callTracerParameters.append(height);
11307 callTracerParameters.append(format);
11308 callTracerParameters.append(type);
11309 callTracerParameters.append(pixels);
11310 CallTracer::recordCanvasAction(impl, "readPixels"_s, WTFMove(callTracerParameters));
11311 }
11312 impl.readPixels(WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height), WTFMove(format), WTFMove(type), pixels.releaseNonNull());
11313 return JSValue::encode(jsUndefined());
11314}
11315
11316EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionReadPixels(ExecState* state)
11317{
11318 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionReadPixelsBody>(*state, "readPixels");
11319}
11320
11321#endif
11322
11323#if ENABLE(WEBGL)
11324static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionReleaseShaderCompilerBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11325{
11326 UNUSED_PARAM(state);
11327 UNUSED_PARAM(throwScope);
11328 auto& impl = castedThis->wrapped();
11329 if (UNLIKELY(impl.callTracingActive()))
11330 CallTracer::recordCanvasAction(impl, "releaseShaderCompiler"_s);
11331 impl.releaseShaderCompiler();
11332 return JSValue::encode(jsUndefined());
11333}
11334
11335EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionReleaseShaderCompiler(ExecState* state)
11336{
11337 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionReleaseShaderCompilerBody>(*state, "releaseShaderCompiler");
11338}
11339
11340#endif
11341
11342#if ENABLE(WEBGL)
11343static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionRenderbufferStorageBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11344{
11345 UNUSED_PARAM(state);
11346 UNUSED_PARAM(throwScope);
11347 auto& impl = castedThis->wrapped();
11348 if (UNLIKELY(state->argumentCount() < 4))
11349 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11350 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
11351 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11352 auto internalformat = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
11353 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11354 auto width = convert<IDLLong>(*state, state->uncheckedArgument(2));
11355 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11356 auto height = convert<IDLLong>(*state, state->uncheckedArgument(3));
11357 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11358 if (UNLIKELY(impl.callTracingActive())) {
11359 Vector<RecordCanvasActionVariant> callTracerParameters;
11360 callTracerParameters.append(target);
11361 callTracerParameters.append(internalformat);
11362 callTracerParameters.append(width);
11363 callTracerParameters.append(height);
11364 CallTracer::recordCanvasAction(impl, "renderbufferStorage"_s, WTFMove(callTracerParameters));
11365 }
11366 impl.renderbufferStorage(WTFMove(target), WTFMove(internalformat), WTFMove(width), WTFMove(height));
11367 return JSValue::encode(jsUndefined());
11368}
11369
11370EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionRenderbufferStorage(ExecState* state)
11371{
11372 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionRenderbufferStorageBody>(*state, "renderbufferStorage");
11373}
11374
11375#endif
11376
11377#if ENABLE(WEBGL)
11378static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionSampleCoverageBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11379{
11380 UNUSED_PARAM(state);
11381 UNUSED_PARAM(throwScope);
11382 auto& impl = castedThis->wrapped();
11383 if (UNLIKELY(state->argumentCount() < 2))
11384 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11385 auto value = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(0));
11386 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11387 auto invert = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
11388 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11389 if (UNLIKELY(impl.callTracingActive())) {
11390 Vector<RecordCanvasActionVariant> callTracerParameters;
11391 callTracerParameters.append(value);
11392 callTracerParameters.append(invert);
11393 CallTracer::recordCanvasAction(impl, "sampleCoverage"_s, WTFMove(callTracerParameters));
11394 }
11395 impl.sampleCoverage(WTFMove(value), WTFMove(invert));
11396 return JSValue::encode(jsUndefined());
11397}
11398
11399EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionSampleCoverage(ExecState* state)
11400{
11401 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionSampleCoverageBody>(*state, "sampleCoverage");
11402}
11403
11404#endif
11405
11406#if ENABLE(WEBGL)
11407static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionScissorBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11408{
11409 UNUSED_PARAM(state);
11410 UNUSED_PARAM(throwScope);
11411 auto& impl = castedThis->wrapped();
11412 if (UNLIKELY(state->argumentCount() < 4))
11413 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11414 auto x = convert<IDLLong>(*state, state->uncheckedArgument(0));
11415 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11416 auto y = convert<IDLLong>(*state, state->uncheckedArgument(1));
11417 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11418 auto width = convert<IDLLong>(*state, state->uncheckedArgument(2));
11419 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11420 auto height = convert<IDLLong>(*state, state->uncheckedArgument(3));
11421 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11422 if (UNLIKELY(impl.callTracingActive())) {
11423 Vector<RecordCanvasActionVariant> callTracerParameters;
11424 callTracerParameters.append(x);
11425 callTracerParameters.append(y);
11426 callTracerParameters.append(width);
11427 callTracerParameters.append(height);
11428 CallTracer::recordCanvasAction(impl, "scissor"_s, WTFMove(callTracerParameters));
11429 }
11430 impl.scissor(WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height));
11431 return JSValue::encode(jsUndefined());
11432}
11433
11434EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionScissor(ExecState* state)
11435{
11436 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionScissorBody>(*state, "scissor");
11437}
11438
11439#endif
11440
11441#if ENABLE(WEBGL)
11442static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionShaderSourceBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11443{
11444 UNUSED_PARAM(state);
11445 UNUSED_PARAM(throwScope);
11446 auto& impl = castedThis->wrapped();
11447 if (UNLIKELY(state->argumentCount() < 2))
11448 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11449 auto shader = convert<IDLNullable<IDLInterface<WebGLShader>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "shader", "WebGL2RenderingContext", "shaderSource", "WebGLShader"); });
11450 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11451 auto string = convert<IDLDOMString>(*state, state->uncheckedArgument(1));
11452 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11453 if (UNLIKELY(impl.callTracingActive())) {
11454 Vector<RecordCanvasActionVariant> callTracerParameters;
11455 if (shader)
11456 callTracerParameters.append(shader);
11457 callTracerParameters.append(string);
11458 CallTracer::recordCanvasAction(impl, "shaderSource"_s, WTFMove(callTracerParameters));
11459 }
11460 impl.shaderSource(WTFMove(shader), WTFMove(string));
11461 return JSValue::encode(jsUndefined());
11462}
11463
11464EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionShaderSource(ExecState* state)
11465{
11466 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionShaderSourceBody>(*state, "shaderSource");
11467}
11468
11469#endif
11470
11471#if ENABLE(WEBGL)
11472static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionStencilFuncBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11473{
11474 UNUSED_PARAM(state);
11475 UNUSED_PARAM(throwScope);
11476 auto& impl = castedThis->wrapped();
11477 if (UNLIKELY(state->argumentCount() < 3))
11478 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11479 auto func = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
11480 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11481 auto ref = convert<IDLLong>(*state, state->uncheckedArgument(1));
11482 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11483 auto mask = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
11484 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11485 if (UNLIKELY(impl.callTracingActive())) {
11486 Vector<RecordCanvasActionVariant> callTracerParameters;
11487 callTracerParameters.append(func);
11488 callTracerParameters.append(ref);
11489 callTracerParameters.append(mask);
11490 CallTracer::recordCanvasAction(impl, "stencilFunc"_s, WTFMove(callTracerParameters));
11491 }
11492 impl.stencilFunc(WTFMove(func), WTFMove(ref), WTFMove(mask));
11493 return JSValue::encode(jsUndefined());
11494}
11495
11496EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilFunc(ExecState* state)
11497{
11498 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionStencilFuncBody>(*state, "stencilFunc");
11499}
11500
11501#endif
11502
11503#if ENABLE(WEBGL)
11504static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionStencilFuncSeparateBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11505{
11506 UNUSED_PARAM(state);
11507 UNUSED_PARAM(throwScope);
11508 auto& impl = castedThis->wrapped();
11509 if (UNLIKELY(state->argumentCount() < 4))
11510 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11511 auto face = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
11512 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11513 auto func = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
11514 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11515 auto ref = convert<IDLLong>(*state, state->uncheckedArgument(2));
11516 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11517 auto mask = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
11518 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11519 if (UNLIKELY(impl.callTracingActive())) {
11520 Vector<RecordCanvasActionVariant> callTracerParameters;
11521 callTracerParameters.append(face);
11522 callTracerParameters.append(func);
11523 callTracerParameters.append(ref);
11524 callTracerParameters.append(mask);
11525 CallTracer::recordCanvasAction(impl, "stencilFuncSeparate"_s, WTFMove(callTracerParameters));
11526 }
11527 impl.stencilFuncSeparate(WTFMove(face), WTFMove(func), WTFMove(ref), WTFMove(mask));
11528 return JSValue::encode(jsUndefined());
11529}
11530
11531EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilFuncSeparate(ExecState* state)
11532{
11533 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionStencilFuncSeparateBody>(*state, "stencilFuncSeparate");
11534}
11535
11536#endif
11537
11538#if ENABLE(WEBGL)
11539static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionStencilMaskBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11540{
11541 UNUSED_PARAM(state);
11542 UNUSED_PARAM(throwScope);
11543 auto& impl = castedThis->wrapped();
11544 if (UNLIKELY(state->argumentCount() < 1))
11545 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11546 auto mask = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
11547 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11548 if (UNLIKELY(impl.callTracingActive())) {
11549 Vector<RecordCanvasActionVariant> callTracerParameters;
11550 callTracerParameters.append(mask);
11551 CallTracer::recordCanvasAction(impl, "stencilMask"_s, WTFMove(callTracerParameters));
11552 }
11553 impl.stencilMask(WTFMove(mask));
11554 return JSValue::encode(jsUndefined());
11555}
11556
11557EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilMask(ExecState* state)
11558{
11559 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionStencilMaskBody>(*state, "stencilMask");
11560}
11561
11562#endif
11563
11564#if ENABLE(WEBGL)
11565static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionStencilMaskSeparateBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11566{
11567 UNUSED_PARAM(state);
11568 UNUSED_PARAM(throwScope);
11569 auto& impl = castedThis->wrapped();
11570 if (UNLIKELY(state->argumentCount() < 2))
11571 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11572 auto face = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
11573 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11574 auto mask = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
11575 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11576 if (UNLIKELY(impl.callTracingActive())) {
11577 Vector<RecordCanvasActionVariant> callTracerParameters;
11578 callTracerParameters.append(face);
11579 callTracerParameters.append(mask);
11580 CallTracer::recordCanvasAction(impl, "stencilMaskSeparate"_s, WTFMove(callTracerParameters));
11581 }
11582 impl.stencilMaskSeparate(WTFMove(face), WTFMove(mask));
11583 return JSValue::encode(jsUndefined());
11584}
11585
11586EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilMaskSeparate(ExecState* state)
11587{
11588 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionStencilMaskSeparateBody>(*state, "stencilMaskSeparate");
11589}
11590
11591#endif
11592
11593#if ENABLE(WEBGL)
11594static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionStencilOpBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11595{
11596 UNUSED_PARAM(state);
11597 UNUSED_PARAM(throwScope);
11598 auto& impl = castedThis->wrapped();
11599 if (UNLIKELY(state->argumentCount() < 3))
11600 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11601 auto fail = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
11602 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11603 auto zfail = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
11604 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11605 auto zpass = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
11606 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11607 if (UNLIKELY(impl.callTracingActive())) {
11608 Vector<RecordCanvasActionVariant> callTracerParameters;
11609 callTracerParameters.append(fail);
11610 callTracerParameters.append(zfail);
11611 callTracerParameters.append(zpass);
11612 CallTracer::recordCanvasAction(impl, "stencilOp"_s, WTFMove(callTracerParameters));
11613 }
11614 impl.stencilOp(WTFMove(fail), WTFMove(zfail), WTFMove(zpass));
11615 return JSValue::encode(jsUndefined());
11616}
11617
11618EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilOp(ExecState* state)
11619{
11620 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionStencilOpBody>(*state, "stencilOp");
11621}
11622
11623#endif
11624
11625#if ENABLE(WEBGL)
11626static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionStencilOpSeparateBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11627{
11628 UNUSED_PARAM(state);
11629 UNUSED_PARAM(throwScope);
11630 auto& impl = castedThis->wrapped();
11631 if (UNLIKELY(state->argumentCount() < 4))
11632 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11633 auto face = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
11634 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11635 auto fail = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
11636 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11637 auto zfail = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
11638 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11639 auto zpass = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(3));
11640 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11641 if (UNLIKELY(impl.callTracingActive())) {
11642 Vector<RecordCanvasActionVariant> callTracerParameters;
11643 callTracerParameters.append(face);
11644 callTracerParameters.append(fail);
11645 callTracerParameters.append(zfail);
11646 callTracerParameters.append(zpass);
11647 CallTracer::recordCanvasAction(impl, "stencilOpSeparate"_s, WTFMove(callTracerParameters));
11648 }
11649 impl.stencilOpSeparate(WTFMove(face), WTFMove(fail), WTFMove(zfail), WTFMove(zpass));
11650 return JSValue::encode(jsUndefined());
11651}
11652
11653EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionStencilOpSeparate(ExecState* state)
11654{
11655 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionStencilOpSeparateBody>(*state, "stencilOpSeparate");
11656}
11657
11658#endif
11659
11660#if ENABLE(WEBGL)
11661static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexParameterfBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11662{
11663 UNUSED_PARAM(state);
11664 UNUSED_PARAM(throwScope);
11665 auto& impl = castedThis->wrapped();
11666 if (UNLIKELY(state->argumentCount() < 3))
11667 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11668 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
11669 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11670 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
11671 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11672 auto param = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
11673 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11674 if (UNLIKELY(impl.callTracingActive())) {
11675 Vector<RecordCanvasActionVariant> callTracerParameters;
11676 callTracerParameters.append(target);
11677 callTracerParameters.append(pname);
11678 callTracerParameters.append(param);
11679 CallTracer::recordCanvasAction(impl, "texParameterf"_s, WTFMove(callTracerParameters));
11680 }
11681 impl.texParameterf(WTFMove(target), WTFMove(pname), WTFMove(param));
11682 return JSValue::encode(jsUndefined());
11683}
11684
11685EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexParameterf(ExecState* state)
11686{
11687 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionTexParameterfBody>(*state, "texParameterf");
11688}
11689
11690#endif
11691
11692#if ENABLE(WEBGL)
11693static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionTexParameteriBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11694{
11695 UNUSED_PARAM(state);
11696 UNUSED_PARAM(throwScope);
11697 auto& impl = castedThis->wrapped();
11698 if (UNLIKELY(state->argumentCount() < 3))
11699 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11700 auto target = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
11701 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11702 auto pname = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(1));
11703 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11704 auto param = convert<IDLLong>(*state, state->uncheckedArgument(2));
11705 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11706 if (UNLIKELY(impl.callTracingActive())) {
11707 Vector<RecordCanvasActionVariant> callTracerParameters;
11708 callTracerParameters.append(target);
11709 callTracerParameters.append(pname);
11710 callTracerParameters.append(param);
11711 CallTracer::recordCanvasAction(impl, "texParameteri"_s, WTFMove(callTracerParameters));
11712 }
11713 impl.texParameteri(WTFMove(target), WTFMove(pname), WTFMove(param));
11714 return JSValue::encode(jsUndefined());
11715}
11716
11717EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionTexParameteri(ExecState* state)
11718{
11719 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionTexParameteriBody>(*state, "texParameteri");
11720}
11721
11722#endif
11723
11724#if ENABLE(WEBGL)
11725static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform1fBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11726{
11727 UNUSED_PARAM(state);
11728 UNUSED_PARAM(throwScope);
11729 auto& impl = castedThis->wrapped();
11730 if (UNLIKELY(state->argumentCount() < 2))
11731 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11732 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform1f", "WebGLUniformLocation"); });
11733 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11734 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
11735 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11736 if (UNLIKELY(impl.callTracingActive())) {
11737 Vector<RecordCanvasActionVariant> callTracerParameters;
11738 if (location)
11739 callTracerParameters.append(location);
11740 callTracerParameters.append(x);
11741 CallTracer::recordCanvasAction(impl, "uniform1f"_s, WTFMove(callTracerParameters));
11742 }
11743 impl.uniform1f(WTFMove(location), WTFMove(x));
11744 return JSValue::encode(jsUndefined());
11745}
11746
11747EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1f(ExecState* state)
11748{
11749 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform1fBody>(*state, "uniform1f");
11750}
11751
11752#endif
11753
11754#if ENABLE(WEBGL)
11755static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform2fBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11756{
11757 UNUSED_PARAM(state);
11758 UNUSED_PARAM(throwScope);
11759 auto& impl = castedThis->wrapped();
11760 if (UNLIKELY(state->argumentCount() < 3))
11761 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11762 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform2f", "WebGLUniformLocation"); });
11763 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11764 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
11765 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11766 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
11767 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11768 if (UNLIKELY(impl.callTracingActive())) {
11769 Vector<RecordCanvasActionVariant> callTracerParameters;
11770 if (location)
11771 callTracerParameters.append(location);
11772 callTracerParameters.append(x);
11773 callTracerParameters.append(y);
11774 CallTracer::recordCanvasAction(impl, "uniform2f"_s, WTFMove(callTracerParameters));
11775 }
11776 impl.uniform2f(WTFMove(location), WTFMove(x), WTFMove(y));
11777 return JSValue::encode(jsUndefined());
11778}
11779
11780EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2f(ExecState* state)
11781{
11782 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform2fBody>(*state, "uniform2f");
11783}
11784
11785#endif
11786
11787#if ENABLE(WEBGL)
11788static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform3fBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11789{
11790 UNUSED_PARAM(state);
11791 UNUSED_PARAM(throwScope);
11792 auto& impl = castedThis->wrapped();
11793 if (UNLIKELY(state->argumentCount() < 4))
11794 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11795 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform3f", "WebGLUniformLocation"); });
11796 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11797 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
11798 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11799 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
11800 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11801 auto z = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
11802 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11803 if (UNLIKELY(impl.callTracingActive())) {
11804 Vector<RecordCanvasActionVariant> callTracerParameters;
11805 if (location)
11806 callTracerParameters.append(location);
11807 callTracerParameters.append(x);
11808 callTracerParameters.append(y);
11809 callTracerParameters.append(z);
11810 CallTracer::recordCanvasAction(impl, "uniform3f"_s, WTFMove(callTracerParameters));
11811 }
11812 impl.uniform3f(WTFMove(location), WTFMove(x), WTFMove(y), WTFMove(z));
11813 return JSValue::encode(jsUndefined());
11814}
11815
11816EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3f(ExecState* state)
11817{
11818 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform3fBody>(*state, "uniform3f");
11819}
11820
11821#endif
11822
11823#if ENABLE(WEBGL)
11824static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform4fBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11825{
11826 UNUSED_PARAM(state);
11827 UNUSED_PARAM(throwScope);
11828 auto& impl = castedThis->wrapped();
11829 if (UNLIKELY(state->argumentCount() < 5))
11830 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11831 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform4f", "WebGLUniformLocation"); });
11832 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11833 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
11834 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11835 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
11836 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11837 auto z = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
11838 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11839 auto w = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(4));
11840 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11841 if (UNLIKELY(impl.callTracingActive())) {
11842 Vector<RecordCanvasActionVariant> callTracerParameters;
11843 if (location)
11844 callTracerParameters.append(location);
11845 callTracerParameters.append(x);
11846 callTracerParameters.append(y);
11847 callTracerParameters.append(z);
11848 callTracerParameters.append(w);
11849 CallTracer::recordCanvasAction(impl, "uniform4f"_s, WTFMove(callTracerParameters));
11850 }
11851 impl.uniform4f(WTFMove(location), WTFMove(x), WTFMove(y), WTFMove(z), WTFMove(w));
11852 return JSValue::encode(jsUndefined());
11853}
11854
11855EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4f(ExecState* state)
11856{
11857 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform4fBody>(*state, "uniform4f");
11858}
11859
11860#endif
11861
11862#if ENABLE(WEBGL)
11863static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform1iBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11864{
11865 UNUSED_PARAM(state);
11866 UNUSED_PARAM(throwScope);
11867 auto& impl = castedThis->wrapped();
11868 if (UNLIKELY(state->argumentCount() < 2))
11869 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11870 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform1i", "WebGLUniformLocation"); });
11871 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11872 auto x = convert<IDLLong>(*state, state->uncheckedArgument(1));
11873 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11874 if (UNLIKELY(impl.callTracingActive())) {
11875 Vector<RecordCanvasActionVariant> callTracerParameters;
11876 if (location)
11877 callTracerParameters.append(location);
11878 callTracerParameters.append(x);
11879 CallTracer::recordCanvasAction(impl, "uniform1i"_s, WTFMove(callTracerParameters));
11880 }
11881 impl.uniform1i(WTFMove(location), WTFMove(x));
11882 return JSValue::encode(jsUndefined());
11883}
11884
11885EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1i(ExecState* state)
11886{
11887 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform1iBody>(*state, "uniform1i");
11888}
11889
11890#endif
11891
11892#if ENABLE(WEBGL)
11893static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform2iBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11894{
11895 UNUSED_PARAM(state);
11896 UNUSED_PARAM(throwScope);
11897 auto& impl = castedThis->wrapped();
11898 if (UNLIKELY(state->argumentCount() < 3))
11899 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11900 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform2i", "WebGLUniformLocation"); });
11901 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11902 auto x = convert<IDLLong>(*state, state->uncheckedArgument(1));
11903 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11904 auto y = convert<IDLLong>(*state, state->uncheckedArgument(2));
11905 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11906 if (UNLIKELY(impl.callTracingActive())) {
11907 Vector<RecordCanvasActionVariant> callTracerParameters;
11908 if (location)
11909 callTracerParameters.append(location);
11910 callTracerParameters.append(x);
11911 callTracerParameters.append(y);
11912 CallTracer::recordCanvasAction(impl, "uniform2i"_s, WTFMove(callTracerParameters));
11913 }
11914 impl.uniform2i(WTFMove(location), WTFMove(x), WTFMove(y));
11915 return JSValue::encode(jsUndefined());
11916}
11917
11918EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2i(ExecState* state)
11919{
11920 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform2iBody>(*state, "uniform2i");
11921}
11922
11923#endif
11924
11925#if ENABLE(WEBGL)
11926static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform3iBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11927{
11928 UNUSED_PARAM(state);
11929 UNUSED_PARAM(throwScope);
11930 auto& impl = castedThis->wrapped();
11931 if (UNLIKELY(state->argumentCount() < 4))
11932 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11933 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform3i", "WebGLUniformLocation"); });
11934 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11935 auto x = convert<IDLLong>(*state, state->uncheckedArgument(1));
11936 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11937 auto y = convert<IDLLong>(*state, state->uncheckedArgument(2));
11938 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11939 auto z = convert<IDLLong>(*state, state->uncheckedArgument(3));
11940 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11941 if (UNLIKELY(impl.callTracingActive())) {
11942 Vector<RecordCanvasActionVariant> callTracerParameters;
11943 if (location)
11944 callTracerParameters.append(location);
11945 callTracerParameters.append(x);
11946 callTracerParameters.append(y);
11947 callTracerParameters.append(z);
11948 CallTracer::recordCanvasAction(impl, "uniform3i"_s, WTFMove(callTracerParameters));
11949 }
11950 impl.uniform3i(WTFMove(location), WTFMove(x), WTFMove(y), WTFMove(z));
11951 return JSValue::encode(jsUndefined());
11952}
11953
11954EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3i(ExecState* state)
11955{
11956 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform3iBody>(*state, "uniform3i");
11957}
11958
11959#endif
11960
11961#if ENABLE(WEBGL)
11962static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform4iBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
11963{
11964 UNUSED_PARAM(state);
11965 UNUSED_PARAM(throwScope);
11966 auto& impl = castedThis->wrapped();
11967 if (UNLIKELY(state->argumentCount() < 5))
11968 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
11969 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform4i", "WebGLUniformLocation"); });
11970 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11971 auto x = convert<IDLLong>(*state, state->uncheckedArgument(1));
11972 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11973 auto y = convert<IDLLong>(*state, state->uncheckedArgument(2));
11974 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11975 auto z = convert<IDLLong>(*state, state->uncheckedArgument(3));
11976 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11977 auto w = convert<IDLLong>(*state, state->uncheckedArgument(4));
11978 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
11979 if (UNLIKELY(impl.callTracingActive())) {
11980 Vector<RecordCanvasActionVariant> callTracerParameters;
11981 if (location)
11982 callTracerParameters.append(location);
11983 callTracerParameters.append(x);
11984 callTracerParameters.append(y);
11985 callTracerParameters.append(z);
11986 callTracerParameters.append(w);
11987 CallTracer::recordCanvasAction(impl, "uniform4i"_s, WTFMove(callTracerParameters));
11988 }
11989 impl.uniform4i(WTFMove(location), WTFMove(x), WTFMove(y), WTFMove(z), WTFMove(w));
11990 return JSValue::encode(jsUndefined());
11991}
11992
11993EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4i(ExecState* state)
11994{
11995 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform4iBody>(*state, "uniform4i");
11996}
11997
11998#endif
11999
12000#if ENABLE(WEBGL)
12001static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform1fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12002{
12003 UNUSED_PARAM(state);
12004 UNUSED_PARAM(throwScope);
12005 auto& impl = castedThis->wrapped();
12006 if (UNLIKELY(state->argumentCount() < 2))
12007 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12008 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform1fv", "WebGLUniformLocation"); });
12009 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12010 auto v = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
12011 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12012 if (UNLIKELY(impl.callTracingActive())) {
12013 Vector<RecordCanvasActionVariant> callTracerParameters;
12014 if (location)
12015 callTracerParameters.append(location);
12016 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
12017 CallTracer::recordCanvasAction(impl, "uniform1fv"_s, WTFMove(callTracerParameters));
12018 }
12019 impl.uniform1fv(WTFMove(location), WTFMove(v));
12020 return JSValue::encode(jsUndefined());
12021}
12022
12023EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1fv(ExecState* state)
12024{
12025 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform1fvBody>(*state, "uniform1fv");
12026}
12027
12028#endif
12029
12030#if ENABLE(WEBGL)
12031static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform2fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12032{
12033 UNUSED_PARAM(state);
12034 UNUSED_PARAM(throwScope);
12035 auto& impl = castedThis->wrapped();
12036 if (UNLIKELY(state->argumentCount() < 2))
12037 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12038 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform2fv", "WebGLUniformLocation"); });
12039 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12040 auto v = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
12041 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12042 if (UNLIKELY(impl.callTracingActive())) {
12043 Vector<RecordCanvasActionVariant> callTracerParameters;
12044 if (location)
12045 callTracerParameters.append(location);
12046 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
12047 CallTracer::recordCanvasAction(impl, "uniform2fv"_s, WTFMove(callTracerParameters));
12048 }
12049 impl.uniform2fv(WTFMove(location), WTFMove(v));
12050 return JSValue::encode(jsUndefined());
12051}
12052
12053EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2fv(ExecState* state)
12054{
12055 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform2fvBody>(*state, "uniform2fv");
12056}
12057
12058#endif
12059
12060#if ENABLE(WEBGL)
12061static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform3fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12062{
12063 UNUSED_PARAM(state);
12064 UNUSED_PARAM(throwScope);
12065 auto& impl = castedThis->wrapped();
12066 if (UNLIKELY(state->argumentCount() < 2))
12067 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12068 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform3fv", "WebGLUniformLocation"); });
12069 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12070 auto v = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
12071 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12072 if (UNLIKELY(impl.callTracingActive())) {
12073 Vector<RecordCanvasActionVariant> callTracerParameters;
12074 if (location)
12075 callTracerParameters.append(location);
12076 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
12077 CallTracer::recordCanvasAction(impl, "uniform3fv"_s, WTFMove(callTracerParameters));
12078 }
12079 impl.uniform3fv(WTFMove(location), WTFMove(v));
12080 return JSValue::encode(jsUndefined());
12081}
12082
12083EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3fv(ExecState* state)
12084{
12085 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform3fvBody>(*state, "uniform3fv");
12086}
12087
12088#endif
12089
12090#if ENABLE(WEBGL)
12091static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform4fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12092{
12093 UNUSED_PARAM(state);
12094 UNUSED_PARAM(throwScope);
12095 auto& impl = castedThis->wrapped();
12096 if (UNLIKELY(state->argumentCount() < 2))
12097 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12098 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform4fv", "WebGLUniformLocation"); });
12099 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12100 auto v = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
12101 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12102 if (UNLIKELY(impl.callTracingActive())) {
12103 Vector<RecordCanvasActionVariant> callTracerParameters;
12104 if (location)
12105 callTracerParameters.append(location);
12106 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
12107 CallTracer::recordCanvasAction(impl, "uniform4fv"_s, WTFMove(callTracerParameters));
12108 }
12109 impl.uniform4fv(WTFMove(location), WTFMove(v));
12110 return JSValue::encode(jsUndefined());
12111}
12112
12113EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4fv(ExecState* state)
12114{
12115 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform4fvBody>(*state, "uniform4fv");
12116}
12117
12118#endif
12119
12120#if ENABLE(WEBGL)
12121static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform1ivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12122{
12123 UNUSED_PARAM(state);
12124 UNUSED_PARAM(throwScope);
12125 auto& impl = castedThis->wrapped();
12126 if (UNLIKELY(state->argumentCount() < 2))
12127 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12128 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform1iv", "WebGLUniformLocation"); });
12129 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12130 auto v = convert<IDLUnion<IDLInt32Array, IDLSequence<IDLLong>>>(*state, state->uncheckedArgument(1));
12131 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12132 if (UNLIKELY(impl.callTracingActive())) {
12133 Vector<RecordCanvasActionVariant> callTracerParameters;
12134 if (location)
12135 callTracerParameters.append(location);
12136 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
12137 CallTracer::recordCanvasAction(impl, "uniform1iv"_s, WTFMove(callTracerParameters));
12138 }
12139 impl.uniform1iv(WTFMove(location), WTFMove(v));
12140 return JSValue::encode(jsUndefined());
12141}
12142
12143EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform1iv(ExecState* state)
12144{
12145 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform1ivBody>(*state, "uniform1iv");
12146}
12147
12148#endif
12149
12150#if ENABLE(WEBGL)
12151static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform2ivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12152{
12153 UNUSED_PARAM(state);
12154 UNUSED_PARAM(throwScope);
12155 auto& impl = castedThis->wrapped();
12156 if (UNLIKELY(state->argumentCount() < 2))
12157 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12158 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform2iv", "WebGLUniformLocation"); });
12159 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12160 auto v = convert<IDLUnion<IDLInt32Array, IDLSequence<IDLLong>>>(*state, state->uncheckedArgument(1));
12161 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12162 if (UNLIKELY(impl.callTracingActive())) {
12163 Vector<RecordCanvasActionVariant> callTracerParameters;
12164 if (location)
12165 callTracerParameters.append(location);
12166 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
12167 CallTracer::recordCanvasAction(impl, "uniform2iv"_s, WTFMove(callTracerParameters));
12168 }
12169 impl.uniform2iv(WTFMove(location), WTFMove(v));
12170 return JSValue::encode(jsUndefined());
12171}
12172
12173EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform2iv(ExecState* state)
12174{
12175 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform2ivBody>(*state, "uniform2iv");
12176}
12177
12178#endif
12179
12180#if ENABLE(WEBGL)
12181static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform3ivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12182{
12183 UNUSED_PARAM(state);
12184 UNUSED_PARAM(throwScope);
12185 auto& impl = castedThis->wrapped();
12186 if (UNLIKELY(state->argumentCount() < 2))
12187 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12188 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform3iv", "WebGLUniformLocation"); });
12189 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12190 auto v = convert<IDLUnion<IDLInt32Array, IDLSequence<IDLLong>>>(*state, state->uncheckedArgument(1));
12191 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12192 if (UNLIKELY(impl.callTracingActive())) {
12193 Vector<RecordCanvasActionVariant> callTracerParameters;
12194 if (location)
12195 callTracerParameters.append(location);
12196 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
12197 CallTracer::recordCanvasAction(impl, "uniform3iv"_s, WTFMove(callTracerParameters));
12198 }
12199 impl.uniform3iv(WTFMove(location), WTFMove(v));
12200 return JSValue::encode(jsUndefined());
12201}
12202
12203EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform3iv(ExecState* state)
12204{
12205 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform3ivBody>(*state, "uniform3iv");
12206}
12207
12208#endif
12209
12210#if ENABLE(WEBGL)
12211static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniform4ivBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12212{
12213 UNUSED_PARAM(state);
12214 UNUSED_PARAM(throwScope);
12215 auto& impl = castedThis->wrapped();
12216 if (UNLIKELY(state->argumentCount() < 2))
12217 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12218 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniform4iv", "WebGLUniformLocation"); });
12219 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12220 auto v = convert<IDLUnion<IDLInt32Array, IDLSequence<IDLLong>>>(*state, state->uncheckedArgument(1));
12221 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12222 if (UNLIKELY(impl.callTracingActive())) {
12223 Vector<RecordCanvasActionVariant> callTracerParameters;
12224 if (location)
12225 callTracerParameters.append(location);
12226 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, v);
12227 CallTracer::recordCanvasAction(impl, "uniform4iv"_s, WTFMove(callTracerParameters));
12228 }
12229 impl.uniform4iv(WTFMove(location), WTFMove(v));
12230 return JSValue::encode(jsUndefined());
12231}
12232
12233EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniform4iv(ExecState* state)
12234{
12235 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniform4ivBody>(*state, "uniform4iv");
12236}
12237
12238#endif
12239
12240#if ENABLE(WEBGL)
12241static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12242{
12243 UNUSED_PARAM(state);
12244 UNUSED_PARAM(throwScope);
12245 auto& impl = castedThis->wrapped();
12246 if (UNLIKELY(state->argumentCount() < 3))
12247 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12248 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniformMatrix2fv", "WebGLUniformLocation"); });
12249 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12250 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
12251 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12252 auto array = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
12253 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12254 if (UNLIKELY(impl.callTracingActive())) {
12255 Vector<RecordCanvasActionVariant> callTracerParameters;
12256 if (location)
12257 callTracerParameters.append(location);
12258 callTracerParameters.append(transpose);
12259 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, array);
12260 CallTracer::recordCanvasAction(impl, "uniformMatrix2fv"_s, WTFMove(callTracerParameters));
12261 }
12262 impl.uniformMatrix2fv(WTFMove(location), WTFMove(transpose), WTFMove(array));
12263 return JSValue::encode(jsUndefined());
12264}
12265
12266EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2fv(ExecState* state)
12267{
12268 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniformMatrix2fvBody>(*state, "uniformMatrix2fv");
12269}
12270
12271#endif
12272
12273#if ENABLE(WEBGL)
12274static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12275{
12276 UNUSED_PARAM(state);
12277 UNUSED_PARAM(throwScope);
12278 auto& impl = castedThis->wrapped();
12279 if (UNLIKELY(state->argumentCount() < 3))
12280 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12281 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniformMatrix3fv", "WebGLUniformLocation"); });
12282 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12283 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
12284 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12285 auto array = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
12286 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12287 if (UNLIKELY(impl.callTracingActive())) {
12288 Vector<RecordCanvasActionVariant> callTracerParameters;
12289 if (location)
12290 callTracerParameters.append(location);
12291 callTracerParameters.append(transpose);
12292 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, array);
12293 CallTracer::recordCanvasAction(impl, "uniformMatrix3fv"_s, WTFMove(callTracerParameters));
12294 }
12295 impl.uniformMatrix3fv(WTFMove(location), WTFMove(transpose), WTFMove(array));
12296 return JSValue::encode(jsUndefined());
12297}
12298
12299EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3fv(ExecState* state)
12300{
12301 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniformMatrix3fvBody>(*state, "uniformMatrix3fv");
12302}
12303
12304#endif
12305
12306#if ENABLE(WEBGL)
12307static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12308{
12309 UNUSED_PARAM(state);
12310 UNUSED_PARAM(throwScope);
12311 auto& impl = castedThis->wrapped();
12312 if (UNLIKELY(state->argumentCount() < 3))
12313 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12314 auto location = convert<IDLNullable<IDLInterface<WebGLUniformLocation>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "location", "WebGL2RenderingContext", "uniformMatrix4fv", "WebGLUniformLocation"); });
12315 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12316 auto transpose = convert<IDLBoolean>(*state, state->uncheckedArgument(1));
12317 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12318 auto array = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(2));
12319 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12320 if (UNLIKELY(impl.callTracingActive())) {
12321 Vector<RecordCanvasActionVariant> callTracerParameters;
12322 if (location)
12323 callTracerParameters.append(location);
12324 callTracerParameters.append(transpose);
12325 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, array);
12326 CallTracer::recordCanvasAction(impl, "uniformMatrix4fv"_s, WTFMove(callTracerParameters));
12327 }
12328 impl.uniformMatrix4fv(WTFMove(location), WTFMove(transpose), WTFMove(array));
12329 return JSValue::encode(jsUndefined());
12330}
12331
12332EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4fv(ExecState* state)
12333{
12334 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUniformMatrix4fvBody>(*state, "uniformMatrix4fv");
12335}
12336
12337#endif
12338
12339#if ENABLE(WEBGL)
12340static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionUseProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12341{
12342 UNUSED_PARAM(state);
12343 UNUSED_PARAM(throwScope);
12344 auto& impl = castedThis->wrapped();
12345 if (UNLIKELY(state->argumentCount() < 1))
12346 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12347 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "useProgram", "WebGLProgram"); });
12348 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12349 if (UNLIKELY(impl.callTracingActive())) {
12350 Vector<RecordCanvasActionVariant> callTracerParameters;
12351 if (program)
12352 callTracerParameters.append(program);
12353 CallTracer::recordCanvasAction(impl, "useProgram"_s, WTFMove(callTracerParameters));
12354 }
12355 impl.useProgram(WTFMove(program));
12356 return JSValue::encode(jsUndefined());
12357}
12358
12359EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionUseProgram(ExecState* state)
12360{
12361 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionUseProgramBody>(*state, "useProgram");
12362}
12363
12364#endif
12365
12366#if ENABLE(WEBGL)
12367static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionValidateProgramBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12368{
12369 UNUSED_PARAM(state);
12370 UNUSED_PARAM(throwScope);
12371 auto& impl = castedThis->wrapped();
12372 if (UNLIKELY(state->argumentCount() < 1))
12373 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12374 auto program = convert<IDLNullable<IDLInterface<WebGLProgram>>>(*state, state->uncheckedArgument(0), [](JSC::ExecState& state, JSC::ThrowScope& scope) { throwArgumentTypeError(state, scope, 0, "program", "WebGL2RenderingContext", "validateProgram", "WebGLProgram"); });
12375 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12376 if (UNLIKELY(impl.callTracingActive())) {
12377 Vector<RecordCanvasActionVariant> callTracerParameters;
12378 if (program)
12379 callTracerParameters.append(program);
12380 CallTracer::recordCanvasAction(impl, "validateProgram"_s, WTFMove(callTracerParameters));
12381 }
12382 impl.validateProgram(WTFMove(program));
12383 return JSValue::encode(jsUndefined());
12384}
12385
12386EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionValidateProgram(ExecState* state)
12387{
12388 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionValidateProgramBody>(*state, "validateProgram");
12389}
12390
12391#endif
12392
12393#if ENABLE(WEBGL)
12394static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttrib1fBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12395{
12396 UNUSED_PARAM(state);
12397 UNUSED_PARAM(throwScope);
12398 auto& impl = castedThis->wrapped();
12399 if (UNLIKELY(state->argumentCount() < 2))
12400 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12401 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
12402 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12403 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
12404 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12405 if (UNLIKELY(impl.callTracingActive())) {
12406 Vector<RecordCanvasActionVariant> callTracerParameters;
12407 callTracerParameters.append(index);
12408 callTracerParameters.append(x);
12409 CallTracer::recordCanvasAction(impl, "vertexAttrib1f"_s, WTFMove(callTracerParameters));
12410 }
12411 impl.vertexAttrib1f(WTFMove(index), WTFMove(x));
12412 return JSValue::encode(jsUndefined());
12413}
12414
12415EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib1f(ExecState* state)
12416{
12417 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttrib1fBody>(*state, "vertexAttrib1f");
12418}
12419
12420#endif
12421
12422#if ENABLE(WEBGL)
12423static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttrib2fBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12424{
12425 UNUSED_PARAM(state);
12426 UNUSED_PARAM(throwScope);
12427 auto& impl = castedThis->wrapped();
12428 if (UNLIKELY(state->argumentCount() < 3))
12429 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12430 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
12431 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12432 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
12433 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12434 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
12435 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12436 if (UNLIKELY(impl.callTracingActive())) {
12437 Vector<RecordCanvasActionVariant> callTracerParameters;
12438 callTracerParameters.append(index);
12439 callTracerParameters.append(x);
12440 callTracerParameters.append(y);
12441 CallTracer::recordCanvasAction(impl, "vertexAttrib2f"_s, WTFMove(callTracerParameters));
12442 }
12443 impl.vertexAttrib2f(WTFMove(index), WTFMove(x), WTFMove(y));
12444 return JSValue::encode(jsUndefined());
12445}
12446
12447EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib2f(ExecState* state)
12448{
12449 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttrib2fBody>(*state, "vertexAttrib2f");
12450}
12451
12452#endif
12453
12454#if ENABLE(WEBGL)
12455static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttrib3fBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12456{
12457 UNUSED_PARAM(state);
12458 UNUSED_PARAM(throwScope);
12459 auto& impl = castedThis->wrapped();
12460 if (UNLIKELY(state->argumentCount() < 4))
12461 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12462 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
12463 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12464 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
12465 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12466 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
12467 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12468 auto z = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
12469 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12470 if (UNLIKELY(impl.callTracingActive())) {
12471 Vector<RecordCanvasActionVariant> callTracerParameters;
12472 callTracerParameters.append(index);
12473 callTracerParameters.append(x);
12474 callTracerParameters.append(y);
12475 callTracerParameters.append(z);
12476 CallTracer::recordCanvasAction(impl, "vertexAttrib3f"_s, WTFMove(callTracerParameters));
12477 }
12478 impl.vertexAttrib3f(WTFMove(index), WTFMove(x), WTFMove(y), WTFMove(z));
12479 return JSValue::encode(jsUndefined());
12480}
12481
12482EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib3f(ExecState* state)
12483{
12484 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttrib3fBody>(*state, "vertexAttrib3f");
12485}
12486
12487#endif
12488
12489#if ENABLE(WEBGL)
12490static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttrib4fBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12491{
12492 UNUSED_PARAM(state);
12493 UNUSED_PARAM(throwScope);
12494 auto& impl = castedThis->wrapped();
12495 if (UNLIKELY(state->argumentCount() < 5))
12496 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12497 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
12498 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12499 auto x = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(1));
12500 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12501 auto y = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(2));
12502 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12503 auto z = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(3));
12504 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12505 auto w = convert<IDLUnrestrictedFloat>(*state, state->uncheckedArgument(4));
12506 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12507 if (UNLIKELY(impl.callTracingActive())) {
12508 Vector<RecordCanvasActionVariant> callTracerParameters;
12509 callTracerParameters.append(index);
12510 callTracerParameters.append(x);
12511 callTracerParameters.append(y);
12512 callTracerParameters.append(z);
12513 callTracerParameters.append(w);
12514 CallTracer::recordCanvasAction(impl, "vertexAttrib4f"_s, WTFMove(callTracerParameters));
12515 }
12516 impl.vertexAttrib4f(WTFMove(index), WTFMove(x), WTFMove(y), WTFMove(z), WTFMove(w));
12517 return JSValue::encode(jsUndefined());
12518}
12519
12520EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib4f(ExecState* state)
12521{
12522 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttrib4fBody>(*state, "vertexAttrib4f");
12523}
12524
12525#endif
12526
12527#if ENABLE(WEBGL)
12528static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttrib1fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12529{
12530 UNUSED_PARAM(state);
12531 UNUSED_PARAM(throwScope);
12532 auto& impl = castedThis->wrapped();
12533 if (UNLIKELY(state->argumentCount() < 2))
12534 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12535 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
12536 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12537 auto values = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
12538 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12539 if (UNLIKELY(impl.callTracingActive())) {
12540 Vector<RecordCanvasActionVariant> callTracerParameters;
12541 callTracerParameters.append(index);
12542 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
12543 CallTracer::recordCanvasAction(impl, "vertexAttrib1fv"_s, WTFMove(callTracerParameters));
12544 }
12545 impl.vertexAttrib1fv(WTFMove(index), WTFMove(values));
12546 return JSValue::encode(jsUndefined());
12547}
12548
12549EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib1fv(ExecState* state)
12550{
12551 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttrib1fvBody>(*state, "vertexAttrib1fv");
12552}
12553
12554#endif
12555
12556#if ENABLE(WEBGL)
12557static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttrib2fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12558{
12559 UNUSED_PARAM(state);
12560 UNUSED_PARAM(throwScope);
12561 auto& impl = castedThis->wrapped();
12562 if (UNLIKELY(state->argumentCount() < 2))
12563 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12564 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
12565 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12566 auto values = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
12567 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12568 if (UNLIKELY(impl.callTracingActive())) {
12569 Vector<RecordCanvasActionVariant> callTracerParameters;
12570 callTracerParameters.append(index);
12571 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
12572 CallTracer::recordCanvasAction(impl, "vertexAttrib2fv"_s, WTFMove(callTracerParameters));
12573 }
12574 impl.vertexAttrib2fv(WTFMove(index), WTFMove(values));
12575 return JSValue::encode(jsUndefined());
12576}
12577
12578EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib2fv(ExecState* state)
12579{
12580 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttrib2fvBody>(*state, "vertexAttrib2fv");
12581}
12582
12583#endif
12584
12585#if ENABLE(WEBGL)
12586static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttrib3fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12587{
12588 UNUSED_PARAM(state);
12589 UNUSED_PARAM(throwScope);
12590 auto& impl = castedThis->wrapped();
12591 if (UNLIKELY(state->argumentCount() < 2))
12592 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12593 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
12594 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12595 auto values = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
12596 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12597 if (UNLIKELY(impl.callTracingActive())) {
12598 Vector<RecordCanvasActionVariant> callTracerParameters;
12599 callTracerParameters.append(index);
12600 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
12601 CallTracer::recordCanvasAction(impl, "vertexAttrib3fv"_s, WTFMove(callTracerParameters));
12602 }
12603 impl.vertexAttrib3fv(WTFMove(index), WTFMove(values));
12604 return JSValue::encode(jsUndefined());
12605}
12606
12607EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib3fv(ExecState* state)
12608{
12609 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttrib3fvBody>(*state, "vertexAttrib3fv");
12610}
12611
12612#endif
12613
12614#if ENABLE(WEBGL)
12615static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttrib4fvBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12616{
12617 UNUSED_PARAM(state);
12618 UNUSED_PARAM(throwScope);
12619 auto& impl = castedThis->wrapped();
12620 if (UNLIKELY(state->argumentCount() < 2))
12621 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12622 auto index = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
12623 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12624 auto values = convert<IDLUnion<IDLFloat32Array, IDLSequence<IDLUnrestrictedFloat>>>(*state, state->uncheckedArgument(1));
12625 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12626 if (UNLIKELY(impl.callTracingActive())) {
12627 Vector<RecordCanvasActionVariant> callTracerParameters;
12628 callTracerParameters.append(index);
12629 WTF::visit([&] (auto& value) { callTracerParameters.append(value); }, values);
12630 CallTracer::recordCanvasAction(impl, "vertexAttrib4fv"_s, WTFMove(callTracerParameters));
12631 }
12632 impl.vertexAttrib4fv(WTFMove(index), WTFMove(values));
12633 return JSValue::encode(jsUndefined());
12634}
12635
12636EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttrib4fv(ExecState* state)
12637{
12638 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttrib4fvBody>(*state, "vertexAttrib4fv");
12639}
12640
12641#endif
12642
12643#if ENABLE(WEBGL)
12644static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionVertexAttribPointerBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12645{
12646 UNUSED_PARAM(state);
12647 UNUSED_PARAM(throwScope);
12648 auto& impl = castedThis->wrapped();
12649 if (UNLIKELY(state->argumentCount() < 6))
12650 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12651 auto indx = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(0));
12652 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12653 auto size = convert<IDLLong>(*state, state->uncheckedArgument(1));
12654 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12655 auto type = convert<IDLUnsignedLong>(*state, state->uncheckedArgument(2));
12656 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12657 auto normalized = convert<IDLBoolean>(*state, state->uncheckedArgument(3));
12658 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12659 auto stride = convert<IDLLong>(*state, state->uncheckedArgument(4));
12660 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12661 auto offset = convert<IDLLongLong>(*state, state->uncheckedArgument(5));
12662 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12663 if (UNLIKELY(impl.callTracingActive())) {
12664 Vector<RecordCanvasActionVariant> callTracerParameters;
12665 callTracerParameters.append(indx);
12666 callTracerParameters.append(size);
12667 callTracerParameters.append(type);
12668 callTracerParameters.append(normalized);
12669 callTracerParameters.append(stride);
12670 callTracerParameters.append(offset);
12671 CallTracer::recordCanvasAction(impl, "vertexAttribPointer"_s, WTFMove(callTracerParameters));
12672 }
12673 impl.vertexAttribPointer(WTFMove(indx), WTFMove(size), WTFMove(type), WTFMove(normalized), WTFMove(stride), WTFMove(offset));
12674 return JSValue::encode(jsUndefined());
12675}
12676
12677EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionVertexAttribPointer(ExecState* state)
12678{
12679 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionVertexAttribPointerBody>(*state, "vertexAttribPointer");
12680}
12681
12682#endif
12683
12684#if ENABLE(WEBGL)
12685static inline JSC::EncodedJSValue jsWebGL2RenderingContextPrototypeFunctionViewportBody(JSC::ExecState* state, typename IDLOperation<JSWebGL2RenderingContext>::ClassParameter castedThis, JSC::ThrowScope& throwScope)
12686{
12687 UNUSED_PARAM(state);
12688 UNUSED_PARAM(throwScope);
12689 auto& impl = castedThis->wrapped();
12690 if (UNLIKELY(state->argumentCount() < 4))
12691 return throwVMError(state, throwScope, createNotEnoughArgumentsError(state));
12692 auto x = convert<IDLLong>(*state, state->uncheckedArgument(0));
12693 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12694 auto y = convert<IDLLong>(*state, state->uncheckedArgument(1));
12695 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12696 auto width = convert<IDLLong>(*state, state->uncheckedArgument(2));
12697 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12698 auto height = convert<IDLLong>(*state, state->uncheckedArgument(3));
12699 RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
12700 if (UNLIKELY(impl.callTracingActive())) {
12701 Vector<RecordCanvasActionVariant> callTracerParameters;
12702 callTracerParameters.append(x);
12703 callTracerParameters.append(y);
12704 callTracerParameters.append(width);
12705 callTracerParameters.append(height);
12706 CallTracer::recordCanvasAction(impl, "viewport"_s, WTFMove(callTracerParameters));
12707 }
12708 impl.viewport(WTFMove(x), WTFMove(y), WTFMove(width), WTFMove(height));
12709 return JSValue::encode(jsUndefined());
12710}
12711
12712EncodedJSValue JSC_HOST_CALL jsWebGL2RenderingContextPrototypeFunctionViewport(ExecState* state)
12713{
12714 return IDLOperation<JSWebGL2RenderingContext>::call<jsWebGL2RenderingContextPrototypeFunctionViewportBody>(*state, "viewport");
12715}
12716
12717#endif
12718
12719void JSWebGL2RenderingContext::visitChildren(JSCell* cell, SlotVisitor& visitor)
12720{
12721 auto* thisObject = jsCast<JSWebGL2RenderingContext*>(cell);
12722 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
12723 Base::visitChildren(thisObject, visitor);
12724 thisObject->visitAdditionalChildren(visitor);
12725}
12726
12727void JSWebGL2RenderingContext::visitOutputConstraints(JSCell* cell, SlotVisitor& visitor)
12728{
12729 auto* thisObject = jsCast<JSWebGL2RenderingContext*>(cell);
12730 ASSERT_GC_OBJECT_INHERITS(thisObject, info());
12731 Base::visitOutputConstraints(thisObject, visitor);
12732 thisObject->visitAdditionalChildren(visitor);
12733}
12734
12735void JSWebGL2RenderingContext::heapSnapshot(JSCell* cell, HeapSnapshotBuilder& builder)
12736{
12737 auto* thisObject = jsCast<JSWebGL2RenderingContext*>(cell);
12738 builder.setWrappedObjectForCell(cell, &thisObject->wrapped());
12739 if (thisObject->scriptExecutionContext())
12740 builder.setLabelForCell(cell, "url " + thisObject->scriptExecutionContext()->url().string());
12741 Base::heapSnapshot(cell, builder);
12742}
12743
12744bool JSWebGL2RenderingContextOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor, const char** reason)
12745{
12746 UNUSED_PARAM(handle);
12747 UNUSED_PARAM(visitor);
12748 UNUSED_PARAM(reason);
12749 return false;
12750}
12751
12752void JSWebGL2RenderingContextOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context)
12753{
12754 auto* jsWebGL2RenderingContext = static_cast<JSWebGL2RenderingContext*>(handle.slot()->asCell());
12755 auto& world = *static_cast<DOMWrapperWorld*>(context);
12756 uncacheWrapper(world, &jsWebGL2RenderingContext->wrapped(), jsWebGL2RenderingContext);
12757}
12758
12759#if ENABLE(BINDING_INTEGRITY)
12760#if PLATFORM(WIN)
12761#pragma warning(disable: 4483)
12762extern "C" { extern void (*const __identifier("??_7WebGL2RenderingContext@WebCore@@6B@")[])(); }
12763#else
12764extern "C" { extern void* _ZTVN7WebCore22WebGL2RenderingContextE[]; }
12765#endif
12766#endif
12767
12768JSC::JSValue toJSNewlyCreated(JSC::ExecState*, JSDOMGlobalObject* globalObject, Ref<WebGL2RenderingContext>&& impl)
12769{
12770
12771#if ENABLE(BINDING_INTEGRITY)
12772 void* actualVTablePointer = *(reinterpret_cast<void**>(impl.ptr()));
12773#if PLATFORM(WIN)
12774 void* expectedVTablePointer = WTF_PREPARE_VTBL_POINTER_FOR_INSPECTION(__identifier("??_7WebGL2RenderingContext@WebCore@@6B@"));
12775#else
12776 void* expectedVTablePointer = WTF_PREPARE_VTBL_POINTER_FOR_INSPECTION(&_ZTVN7WebCore22WebGL2RenderingContextE[2]);
12777#endif
12778
12779 // If this fails WebGL2RenderingContext does not have a vtable, so you need to add the
12780 // ImplementationLacksVTable attribute to the interface definition
12781 static_assert(std::is_polymorphic<WebGL2RenderingContext>::value, "WebGL2RenderingContext is not polymorphic");
12782
12783 // If you hit this assertion you either have a use after free bug, or
12784 // WebGL2RenderingContext has subclasses. If WebGL2RenderingContext has subclasses that get passed
12785 // to toJS() we currently require WebGL2RenderingContext you to opt out of binding hardening
12786 // by adding the SkipVTableValidation attribute to the interface IDL definition
12787 RELEASE_ASSERT(actualVTablePointer == expectedVTablePointer);
12788#endif
12789 return createWrapper<WebGL2RenderingContext>(globalObject, WTFMove(impl));
12790}
12791
12792JSC::JSValue toJS(JSC::ExecState* state, JSDOMGlobalObject* globalObject, WebGL2RenderingContext& impl)
12793{
12794 return wrap(state, globalObject, impl);
12795}
12796
12797WebGL2RenderingContext* JSWebGL2RenderingContext::toWrapped(JSC::VM& vm, JSC::JSValue value)
12798{
12799 if (auto* wrapper = jsDynamicCast<JSWebGL2RenderingContext*>(vm, value))
12800 return &wrapper->wrapped();
12801 return nullptr;
12802}
12803
12804}
12805
12806#endif // ENABLE(WEBGL2)
12807