1 /*
2 * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "napi/native_api.h"
17 #include "native_common.h"
18
19 #include <ace/xcomponent/native_interface_xcomponent.h>
20 #include <EGL/egl.h>
21 #include <EGL/eglext.h>
22 #include <EGL/eglplatform.h>
23 #include <GLES3/gl32.h>
24
25 #include <cmath>
26 #include <node_api.h>
27
28 #define NUMERIC_VALUE
29 #ifdef NUMERIC_VALUE
30
31 #define ARRAY_INDEX_ZERO 0
32 #define ARRAY_INDEX_ONE 1
33 #define ARRAY_INDEX_TWO 2
34 #define ARRAY_INDEX_THREE 3
35 #define ARRAY_INDEX_FORE 4
36 #define INT_INIT_VAL 0
37 #define CREAT_ERROR 0
38 #define CREAT_NUM_ONE 1
39 #define PIPELINES_NUM_ONE 1
40 #define INFO_LEN_ONE 1
41 #define TEXTURES_NUM_ONE 1
42 #define IMAGE2D_LEVEL 0
43 #define IMAGE_WIDTH 256
44 #define IMAGE_HEIGHT 256
45 #define IMAGE_DEPTH 256
46 #define IMAGE_BORDER 0
47 #define GL_BUF_SIZE 256
48 #define GEN_BUF_NUM 1
49 #define COUNT_NUM 1
50 #define ATTRIB_INDEX 0
51 #define VERTEX_NUM 3
52 #define RGB_SIZE 8
53 #define INIT_WIDTH 480
54 #define INIT_HEIGHT 800
55 #define INIT_EGL_VERSION 3
56 #define VARYING_NUM 2
57 #define ATTRIB_SIZE 3
58 #define FRAME_BUFFER_OBJECT 2
59 #define CLEAR_00 0.0f
60 #define CLEAR_01 0.1f
61 #define CLEAR_10 1.0f
62 #define CLEAR_50 5.0f
63 #define SUB_DATA_SIZE 32
64 #define COMPUTE_VAL 10
65 #define POINT_LIGHT_COUNT 4
66 #define MATRIX_2 2
67 #define MATRIX_3 3
68 #define MATRIX_4 4
69 #define MATRIX_6 6
70 #define MATRIX_8 8
71 #define MATRIX_9 9
72 #define MATRIX_12 12
73 #define MATRIX_15 15
74 #define MATRIX_16 16
75 #define IMAGE2D_LEVEL_ONE 1
76 #define TIME_OUT 1000000000
77 #define SAMPLES 4
78 #define OFF_SET 32
79 #define TEX_BUF_SIZE 1024
80
81 #undef LOG_TAG
82 #undef LOG_DOMAIN
83 #define LOG_TAG "gl32"
84 #define LOG_DOMAIN 0xFEFE
85 #define GL_MAX_TEST_NUM 0xFFFF
86 #define GL_CLIENT_VERSION 0x02
87 #define GL_MAJOR_VERSION_2 0x02
88 #define GL_MAJOR_VERSION_3 0x03
89 #define GL_MINOR_VERSION_0 0x00
90 #endif
91
92 #define STATE_VALUE
93 #ifdef STATE_VALUE
94
95 #define SUCCESS 0
96 #define FAILED -1
97 #endif
98
99 typedef struct _EGLWindow {
100 EGLDisplay eglDisPlay;
101 EGLSurface eglLSurface;
102 EGLContext eglContext;
103 } EGLWindow;
104
initGLES(EGLWindow * eglWindow)105 static void initGLES(EGLWindow *eglWindow)
106 {
107 if (eglWindow == nullptr) {
108 return;
109 }
110 eglWindow->eglDisPlay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
111 if (eglWindow->eglDisPlay == EGL_NO_DISPLAY) {
112 return;
113 }
114 EGLint majorVersion = GL_MAJOR_VERSION_2;
115 EGLint minorVersion = GL_MINOR_VERSION_0;
116 EGLBoolean ret = eglInitialize(eglWindow->eglDisPlay, &majorVersion, &minorVersion);
117 if (ret == EGL_FALSE) {
118 return;
119 }
120 EGLint clientVersion = majorVersion == GL_MAJOR_VERSION_3 ? EGL_OPENGL_ES3_BIT : EGL_OPENGL_ES2_BIT;
121 const EGLint configAttribs[] = {
122 EGL_RED_SIZE, RGB_SIZE, EGL_GREEN_SIZE, RGB_SIZE, EGL_BLUE_SIZE, RGB_SIZE,
123 EGL_ALPHA_SIZE, RGB_SIZE, EGL_RENDERABLE_TYPE, clientVersion, EGL_SURFACE_TYPE, EGL_PBUFFER_BIT,
124 EGL_NONE};
125 EGLConfig config = nullptr;
126 EGLint numConfigs = 0x00;
127 ret = eglChooseConfig(eglWindow->eglDisPlay, configAttribs, &config, GL_ONE, &numConfigs);
128 if (ret == EGL_FALSE) {
129 return;
130 }
131 const EGLint surfaceAttribs[] = {EGL_WIDTH, INIT_WIDTH, EGL_HEIGHT,
132 INIT_HEIGHT, EGL_TEXTURE_FORMAT, EGL_TEXTURE_RGBA,
133 EGL_TEXTURE_TARGET, EGL_TEXTURE_2D, EGL_NONE};
134 eglWindow->eglLSurface = eglCreatePbufferSurface(eglWindow->eglDisPlay, config, surfaceAttribs);
135 if (eglWindow->eglLSurface == EGL_NO_SURFACE) {
136 return;
137 }
138 const EGLint contextAttribs[] = {EGL_CONTEXT_CLIENT_VERSION, GL_CLIENT_VERSION, EGL_NONE};
139 eglWindow->eglContext = eglCreateContext(eglWindow->eglDisPlay, config, EGL_NO_CONTEXT, contextAttribs);
140 if (eglWindow->eglContext == EGL_NO_CONTEXT) {
141 return;
142 }
143 eglMakeCurrent(eglWindow->eglDisPlay, eglWindow->eglLSurface, eglWindow->eglLSurface,
144 eglWindow->eglContext);
145 return;
146 }
147
destroyGLES(EGLWindow * eglWindow)148 static void destroyGLES(EGLWindow *eglWindow)
149 {
150 if (eglWindow == nullptr) {
151 return;
152 }
153 if (eglWindow->eglDisPlay != EGL_NO_DISPLAY && eglWindow->eglLSurface != EGL_NO_SURFACE) {
154 eglDestroySurface(eglWindow->eglDisPlay, eglWindow->eglLSurface);
155 }
156 if (eglWindow->eglDisPlay != EGL_NO_DISPLAY && eglWindow->eglContext != EGL_NO_CONTEXT) {
157 eglDestroyContext(eglWindow->eglDisPlay, eglWindow->eglContext);
158 }
159 if (eglWindow->eglDisPlay != EGL_NO_DISPLAY) {
160 eglTerminate(eglWindow->eglDisPlay);
161 }
162 eglSwapBuffers(eglWindow->eglDisPlay, eglWindow->eglLSurface);
163 eglWindow->eglDisPlay = EGL_NO_DISPLAY;
164 eglWindow->eglLSurface = EGL_NO_SURFACE;
165 eglWindow->eglContext = EGL_NO_CONTEXT;
166 return;
167 }
168
169 static const char *vertexSource = "attribute vec4 position;\n"
170 "uniform mat4 mvpMatrix;\n"
171 "void main() {\n"
172 " gl_Position = mvpMatrix * position;\n"
173 "}\n";
174
175 static const char *fragmentSource = "precision mediump float;\n"
176 "uniform float color;\n"
177 "void main() {\n"
178 " gl_FragColor = vec4(color, 0.0, 0.0, 1.0);\n;\n"
179 "}\n";
180
181 static const char *vertexShaderSource = " #version 300 es \n\
182 layout(location = 0) in vec4 vPosition; \n\
183 layout (std140) uniform MatrixBlock { \n\
184 mat4 viewMatrix; \n\
185 mat4 projMatrix; \n\
186 } matrices; \n\
187 \n\
188 void main() \n\
189 { \n\
190 gl_Position = vPosition; \n\
191 } ";
192 static const char *fragmentShaderSource = " #version 300 es \n\
193 precision mediump float; \n\
194 out vec4 fragColor; \n\
195 void main() \n\
196 { \n\
197 fragColor = vec4 ( 1.0, 0.0, 0.0, 1.0 ); \n\
198 }";
199
200 static const char *fragmentShaderSourceCompute = "#version 310 es\n\
201 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;\n\
202 layout(std430, binding = 0) buffer OutputBuffer {\n\
203 float data[];\n\
204 } outputBuffer;\n\
205 void main() {\n\
206 uint index = gl_GlobalInvocationID.x;\n\
207 outputBuffer.data[index] = float(index);\n\
208 }";
209 static const char *fragmentShaderSourceComputeIndirect = "#version 310 es\n\
210 layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;\n\
211 layout(std430, binding = 0) buffer OutputBuffer {\n\
212 float data[];\n\
213 } outputBuffer;\n\
214 void main() {\n\
215 uint index = gl_GlobalInvocationID.x;\n\
216 outputBuffer.data[index] = float(index);\n\
217 }";
218 static EGLDisplay display = nullptr;
219 static EGLContext context = nullptr;
220 static EGLSurface surface = nullptr;
221
222 GLuint esLoadShader(GLenum type, const char *shaderSrc);
223 static napi_value getError(const napi_env env, const GLenum glError);
224 void initGLES();
225 void destroyGLES();
226
initGLES()227 void initGLES()
228 {
229 display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
230 eglInitialize(display, nullptr, nullptr);
231 EGLint numConfigs = INT_INIT_VAL;
232 const EGLint configAttribs[] = {EGL_RED_SIZE, RGB_SIZE, EGL_GREEN_SIZE, RGB_SIZE,
233 EGL_BLUE_SIZE, RGB_SIZE, EGL_RENDERABLE_TYPE, EGL_OPENGL_ES3_BIT,
234 EGL_NONE};
235 EGLConfig config = nullptr;
236 eglChooseConfig(display, configAttribs, &config, CREAT_NUM_ONE, &numConfigs);
237 const EGLint surfaceAttribs[] = {EGL_WIDTH, INIT_WIDTH, EGL_HEIGHT, INIT_HEIGHT, EGL_NONE};
238 surface = eglCreatePbufferSurface(display, config, surfaceAttribs);
239 const EGLint contextAttribs[] = {EGL_CONTEXT_CLIENT_VERSION, INIT_EGL_VERSION, EGL_NONE};
240 context = eglCreateContext(display, config, EGL_NO_CONTEXT, contextAttribs);
241 eglMakeCurrent(display, surface, surface, context);
242 }
destroyGLES()243 void destroyGLES()
244 {
245 eglDestroySurface(display, surface);
246 eglDestroyContext(display, context);
247 eglTerminate(display);
248 eglSwapBuffers(display, surface);
249 }
250
getError(const napi_env env,const GLenum glError)251 static napi_value getError(const napi_env env, const GLenum glError)
252 {
253 napi_value result = nullptr;
254 if (GL_NO_ERROR == glError) {
255 napi_create_int32(env, SUCCESS, &result);
256 } else {
257 napi_create_int32(env, FAILED, &result);
258 }
259 return result;
260 }
261
esLoadShader(GLenum type,const char * shaderSrc)262 GLuint esLoadShader(GLenum type, const char *shaderSrc)
263 {
264 GLuint shader = INT_INIT_VAL;
265 shader = glCreateShader(type);
266 if (CREAT_ERROR == shader) {
267 return CREAT_ERROR;
268 }
269 glShaderSource(shader, CREAT_NUM_ONE, &shaderSrc, nullptr);
270 glCompileShader(shader);
271 return shader;
272 }
273
274 static GLuint shaderVertex = INT_INIT_VAL;
275 static GLuint shaderFragment = INT_INIT_VAL;
initProgram(void)276 static GLuint initProgram(void)
277 {
278 shaderVertex = esLoadShader(GL_VERTEX_SHADER, vertexShaderSource);
279 shaderFragment = esLoadShader(GL_FRAGMENT_SHADER, fragmentShaderSource);
280 GLuint programObject = glCreateProgram();
281 glAttachShader(programObject, shaderVertex);
282 glAttachShader(programObject, shaderFragment);
283 glLinkProgram(programObject);
284 return programObject;
285 }
286
initProgram(const char * vertexSource,const char * fragmentSource)287 static GLuint initProgram(const char *vertexSource, const char *fragmentSource)
288 {
289 shaderVertex = esLoadShader(GL_VERTEX_SHADER, vertexSource);
290 shaderFragment = esLoadShader(GL_FRAGMENT_SHADER, fragmentSource);
291 GLuint programObject = glCreateProgram();
292 glAttachShader(programObject, shaderVertex);
293 glAttachShader(programObject, shaderFragment);
294 glLinkProgram(programObject);
295 return programObject;
296 }
297
deleteProgram(void)298 static void deleteProgram(void)
299 {
300 glDeleteShader(shaderVertex);
301 glDeleteShader(shaderFragment);
302 }
303
GLSamplerParameterfv(napi_env env,napi_callback_info info)304 static napi_value GLSamplerParameterfv(napi_env env, napi_callback_info info)
305 {
306 initGLES();
307 GLfloat params[ARRAY_INDEX_TWO] = {INT_INIT_VAL};
308 GLuint sampler = INT_INIT_VAL;
309 glGenSamplers(CREAT_NUM_ONE, &sampler);
310 params[ARRAY_INDEX_ZERO] = GL_NEAREST;
311 params[ARRAY_INDEX_ONE] = GL_LINEAR;
312 glSamplerParameterfv(sampler, GL_TEXTURE_MIN_FILTER, params);
313 GLenum glError = glGetError();
314 glDeleteSamplers(CREAT_NUM_ONE, &sampler);
315 destroyGLES();
316 return getError(env, glError);
317 }
318
GLSamplerParameteri(napi_env env,napi_callback_info info)319 static napi_value GLSamplerParameteri(napi_env env, napi_callback_info info)
320 {
321 initGLES();
322 GLuint sampler = INT_INIT_VAL;
323 glGenSamplers(CREAT_NUM_ONE, &sampler);
324 glSamplerParameteri(sampler, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
325 GLenum glError = glGetError();
326 glDeleteSamplers(CREAT_NUM_ONE, &sampler);
327 destroyGLES();
328 return getError(env, glError);
329 }
330
GLSamplerParameterIiv(napi_env env,napi_callback_info info)331 static napi_value GLSamplerParameterIiv(napi_env env, napi_callback_info info)
332 {
333 initGLES();
334 GLint params[ARRAY_INDEX_TWO] = {INT_INIT_VAL};
335 GLuint sampler = INT_INIT_VAL;
336 glGenSamplers(CREAT_NUM_ONE, &sampler);
337 params[ARRAY_INDEX_ZERO] = GL_NEAREST;
338 params[ARRAY_INDEX_ONE] = GL_LINEAR;
339 glSamplerParameterIiv(sampler, GL_TEXTURE_MAG_FILTER, params);
340 GLenum glError = glGetError();
341 glDeleteSamplers(CREAT_NUM_ONE, &sampler);
342 destroyGLES();
343 return getError(env, glError);
344 }
345
GLSamplerParameterIuiv(napi_env env,napi_callback_info info)346 static napi_value GLSamplerParameterIuiv(napi_env env, napi_callback_info info)
347 {
348 initGLES();
349 GLuint params[ARRAY_INDEX_TWO] = {INT_INIT_VAL};
350 GLuint sampler = INT_INIT_VAL;
351 glGenSamplers(CREAT_NUM_ONE, &sampler);
352 params[ARRAY_INDEX_ZERO] = GL_NEAREST;
353 params[ARRAY_INDEX_ONE] = GL_LINEAR;
354 glSamplerParameterIuiv(sampler, GL_TEXTURE_MAG_FILTER, params);
355 GLenum glError = glGetError();
356 glDeleteSamplers(CREAT_NUM_ONE, &sampler);
357 destroyGLES();
358 return getError(env, glError);
359 }
360
GLSamplerParameteriv(napi_env env,napi_callback_info info)361 static napi_value GLSamplerParameteriv(napi_env env, napi_callback_info info)
362 {
363 initGLES();
364 GLint params[ARRAY_INDEX_TWO] = {INT_INIT_VAL};
365 GLuint sampler = INT_INIT_VAL;
366 glGenSamplers(CREAT_NUM_ONE, &sampler);
367 params[ARRAY_INDEX_ZERO] = GL_NEAREST;
368 params[ARRAY_INDEX_ONE] = GL_LINEAR;
369 glSamplerParameteriv(sampler, GL_TEXTURE_MAG_FILTER, params);
370 GLenum glError = glGetError();
371 glDeleteSamplers(CREAT_NUM_ONE, &sampler);
372 destroyGLES();
373 return getError(env, glError);
374 }
375
GLScissor(napi_env env,napi_callback_info info)376 static napi_value GLScissor(napi_env env, napi_callback_info info)
377 {
378 initGLES();
379 glEnable(GL_SCISSOR_TEST);
380 glScissor(IMAGE_WIDTH, IMAGE_HEIGHT, INIT_WIDTH, INIT_HEIGHT);
381 GLenum glError = glGetError();
382 glDisable(GL_SCISSOR_TEST);
383 destroyGLES();
384 return getError(env, glError);
385 }
386
GLShaderBinary(napi_env env,napi_callback_info info)387 static napi_value GLShaderBinary(napi_env env, napi_callback_info info)
388 {
389 initGLES();
390 GLubyte binary[TEX_BUF_SIZE] = {INT_INIT_VAL};
391 GLuint shader = glCreateShader(GL_FRAGMENT_SHADER);
392 glShaderBinary(CREAT_NUM_ONE, &shader, INT_INIT_VAL, binary, INT_INIT_VAL);
393 GLenum glError = glGetError();
394 glDeleteShader(shader);
395 destroyGLES();
396 return getError(env, glError);
397 }
398
GLShaderSource(napi_env env,napi_callback_info info)399 static napi_value GLShaderSource(napi_env env, napi_callback_info info)
400 {
401 initGLES();
402 GLuint shader = glCreateShader(GL_VERTEX_SHADER);
403 glShaderSource(shader, CREAT_NUM_ONE, &vertexShaderSource, nullptr);
404 GLenum glError = glGetError();
405 glDeleteShader(shader);
406 destroyGLES();
407 return getError(env, glError);
408 }
409
GLStencilFunc(napi_env env,napi_callback_info info)410 static napi_value GLStencilFunc(napi_env env, napi_callback_info info)
411 {
412 initGLES();
413 glEnable(GL_STENCIL_TEST);
414 glStencilFunc(GL_ALWAYS, CREAT_NUM_ONE, GL_INVALID_INDEX);
415 GLenum glError = glGetError();
416 destroyGLES();
417 return getError(env, glError);
418 }
419
GLStencilFuncSeparate(napi_env env,napi_callback_info info)420 static napi_value GLStencilFuncSeparate(napi_env env, napi_callback_info info)
421 {
422 initGLES();
423 glEnable(GL_STENCIL_TEST);
424 glStencilFuncSeparate(GL_FRONT, GL_EQUAL, CREAT_NUM_ONE, GL_INVALID_INDEX);
425 GLenum glError = glGetError();
426 destroyGLES();
427 return getError(env, glError);
428 }
429
GLStencilMask(napi_env env,napi_callback_info info)430 static napi_value GLStencilMask(napi_env env, napi_callback_info info)
431 {
432 initGLES();
433 glEnable(GL_STENCIL_TEST);
434 glStencilMask(CREAT_NUM_ONE);
435 GLenum glError = glGetError();
436 destroyGLES();
437 return getError(env, glError);
438 }
439
GLStencilMaskSeparate(napi_env env,napi_callback_info info)440 static napi_value GLStencilMaskSeparate(napi_env env, napi_callback_info info)
441 {
442 initGLES();
443 glEnable(GL_STENCIL_TEST);
444 glStencilMaskSeparate(GL_FRONT_AND_BACK, CREAT_NUM_ONE);
445 GLenum glError = glGetError();
446 destroyGLES();
447 return getError(env, glError);
448 }
449
GLStencilOp(napi_env env,napi_callback_info info)450 static napi_value GLStencilOp(napi_env env, napi_callback_info info)
451 {
452 initGLES();
453 glEnable(GL_STENCIL_TEST);
454 glStencilOp(GL_KEEP, GL_ZERO, GL_REPLACE);
455 GLenum glError = glGetError();
456 destroyGLES();
457 return getError(env, glError);
458 }
459
GLStencilOpSeparate(napi_env env,napi_callback_info info)460 static napi_value GLStencilOpSeparate(napi_env env, napi_callback_info info)
461 {
462 initGLES();
463 glEnable(GL_STENCIL_TEST);
464 glStencilOpSeparate(GL_FRONT_AND_BACK, GL_KEEP, GL_ZERO, GL_REPLACE);
465 GLenum glError = glGetError();
466 destroyGLES();
467 return getError(env, glError);
468 }
469
GLTexBuffer(napi_env env,napi_callback_info info)470 static napi_value GLTexBuffer(napi_env env, napi_callback_info info)
471 {
472 initGLES();
473 GLuint texture = INT_INIT_VAL;
474 GLuint buffer = INT_INIT_VAL;
475 glGenBuffers(CREAT_NUM_ONE, &buffer);
476 glBindBuffer(GL_TEXTURE_BUFFER, buffer);
477 glBufferData(GL_TEXTURE_BUFFER, GL_BUF_SIZE, nullptr, GL_DYNAMIC_DRAW);
478 glGenTextures(CREAT_NUM_ONE, &texture);
479 glBindTexture(GL_TEXTURE_BUFFER, texture);
480 glTexBuffer(GL_TEXTURE_BUFFER, GL_R32F, buffer);
481 GLenum glError = glGetError();
482 glDeleteBuffers(CREAT_NUM_ONE, &buffer);
483 glDeleteTextures(CREAT_NUM_ONE, &texture);
484 destroyGLES();
485 return getError(env, glError);
486 }
487
GLTexBufferRange(napi_env env,napi_callback_info info)488 static napi_value GLTexBufferRange(napi_env env, napi_callback_info info)
489 {
490 initGLES();
491 GLuint texture = INT_INIT_VAL;
492 GLuint buffer = INT_INIT_VAL;
493 glGenBuffers(CREAT_NUM_ONE, &buffer);
494 glBindBuffer(GL_TEXTURE_BUFFER, buffer);
495 glBufferData(GL_TEXTURE_BUFFER, GL_BUF_SIZE, nullptr, GL_DYNAMIC_DRAW);
496 glGenTextures(CREAT_NUM_ONE, &texture);
497 glBindTexture(GL_TEXTURE_BUFFER, texture);
498 glTexBufferRange(GL_TEXTURE_BUFFER, GL_R32F, buffer, INT_INIT_VAL, CREAT_NUM_ONE);
499 GLenum glError = glGetError();
500 glDeleteBuffers(CREAT_NUM_ONE, &buffer);
501 glDeleteTextures(CREAT_NUM_ONE, &texture);
502 destroyGLES();
503 return getError(env, glError);
504 }
505
GLTexImage2D(napi_env env,napi_callback_info info)506 static napi_value GLTexImage2D(napi_env env, napi_callback_info info)
507 {
508 initGLES();
509 unsigned char pixels[] = {255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0};
510 GLuint texture = INT_INIT_VAL;
511 glGenTextures(CREAT_NUM_ONE, &texture);
512 glBindTexture(GL_TEXTURE_2D, texture);
513 glTexImage2D(GL_TEXTURE_2D, INT_INIT_VAL, GL_RGB, VARYING_NUM, VARYING_NUM, INT_INIT_VAL, GL_RGB, GL_UNSIGNED_BYTE,
514 pixels);
515 GLenum glError = glGetError();
516 glDeleteTextures(CREAT_NUM_ONE, &texture);
517 destroyGLES();
518 return getError(env, glError);
519 }
520
GLTexImage3D(napi_env env,napi_callback_info info)521 static napi_value GLTexImage3D(napi_env env, napi_callback_info info)
522 {
523 initGLES();
524 GLuint texture = INT_INIT_VAL;
525 glGenTextures(CREAT_NUM_ONE, &texture);
526 glBindTexture(GL_TEXTURE_3D, texture);
527 glTexImage3D(GL_TEXTURE_3D, INT_INIT_VAL, GL_RGB, IMAGE_WIDTH, IMAGE_HEIGHT, IMAGE_DEPTH, INT_INIT_VAL, GL_RGB,
528 GL_UNSIGNED_BYTE, nullptr);
529 GLenum glError = glGetError();
530 glDeleteTextures(CREAT_NUM_ONE, &texture);
531 destroyGLES();
532 return getError(env, glError);
533 }
534
GLTexParameterf(napi_env env,napi_callback_info info)535 static napi_value GLTexParameterf(napi_env env, napi_callback_info info)
536 {
537 initGLES();
538 GLuint texture = INT_INIT_VAL;
539 glGenTextures(CREAT_NUM_ONE, &texture);
540 glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, CLEAR_10);
541 GLenum glError = glGetError();
542 glDeleteTextures(CREAT_NUM_ONE, &texture);
543 destroyGLES();
544 return getError(env, glError);
545 }
546
GLTexParameterfv(napi_env env,napi_callback_info info)547 static napi_value GLTexParameterfv(napi_env env, napi_callback_info info)
548 {
549 initGLES();
550 GLuint texture = INT_INIT_VAL;
551 GLfloat color[] = {CLEAR_10, CLEAR_10, CLEAR_10, CLEAR_10};
552 glGenTextures(CREAT_NUM_ONE, &texture);
553 glTexParameterfv(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, color);
554 GLenum glError = glGetError();
555 glDeleteTextures(CREAT_NUM_ONE, &texture);
556 destroyGLES();
557 return getError(env, glError);
558 }
559
GLTexParameteri(napi_env env,napi_callback_info info)560 static napi_value GLTexParameteri(napi_env env, napi_callback_info info)
561 {
562 initGLES();
563 GLuint texture = INT_INIT_VAL;
564 glGenTextures(CREAT_NUM_ONE, &texture);
565 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, CREAT_NUM_ONE);
566 GLenum glError = glGetError();
567 glDeleteTextures(CREAT_NUM_ONE, &texture);
568 destroyGLES();
569 return getError(env, glError);
570 }
571
GLTexParameterIiv(napi_env env,napi_callback_info info)572 static napi_value GLTexParameterIiv(napi_env env, napi_callback_info info)
573 {
574 initGLES();
575 GLuint texture = INT_INIT_VAL;
576 GLint color[] = {CREAT_NUM_ONE, CREAT_NUM_ONE, CREAT_NUM_ONE, CREAT_NUM_ONE};
577 glGenTextures(CREAT_NUM_ONE, &texture);
578 glTexParameterIiv(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, color);
579 GLenum glError = glGetError();
580 glDeleteTextures(CREAT_NUM_ONE, &texture);
581 destroyGLES();
582 return getError(env, glError);
583 }
584
GLTexParameterIuiv(napi_env env,napi_callback_info info)585 static napi_value GLTexParameterIuiv(napi_env env, napi_callback_info info)
586 {
587 initGLES();
588 GLuint texture = INT_INIT_VAL;
589 GLuint color[] = {CREAT_NUM_ONE, CREAT_NUM_ONE, CREAT_NUM_ONE, CREAT_NUM_ONE};
590 glGenTextures(CREAT_NUM_ONE, &texture);
591 glTexParameterIuiv(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, color);
592 GLenum glError = glGetError();
593 glDeleteTextures(CREAT_NUM_ONE, &texture);
594 destroyGLES();
595 return getError(env, glError);
596 }
597
GLTexParameteriv(napi_env env,napi_callback_info info)598 static napi_value GLTexParameteriv(napi_env env, napi_callback_info info)
599 {
600 initGLES();
601 GLuint texture = INT_INIT_VAL;
602 GLint color[] = {CREAT_NUM_ONE, CREAT_NUM_ONE, CREAT_NUM_ONE, CREAT_NUM_ONE};
603 glGenTextures(CREAT_NUM_ONE, &texture);
604 glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, color);
605 GLenum glError = glGetError();
606 glDeleteTextures(CREAT_NUM_ONE, &texture);
607 destroyGLES();
608 return getError(env, glError);
609 }
610
GLTexStorage2D(napi_env env,napi_callback_info info)611 static napi_value GLTexStorage2D(napi_env env, napi_callback_info info)
612 {
613 initGLES();
614 GLuint texture;
615 glGenTextures(CREAT_NUM_ONE, &texture);
616 glBindTexture(GL_TEXTURE_2D, texture);
617 glTexStorage2D(GL_TEXTURE_2D, CREAT_NUM_ONE, GL_RGBA8, IMAGE_WIDTH, IMAGE_HEIGHT);
618 GLenum glError = glGetError();
619 glDeleteTextures(CREAT_NUM_ONE, &texture);
620 destroyGLES();
621 return getError(env, glError);
622 }
623
GLTexStorage2DMultisample(napi_env env,napi_callback_info info)624 static napi_value GLTexStorage2DMultisample(napi_env env, napi_callback_info info)
625 {
626 initGLES();
627 GLuint texture = INT_INIT_VAL;
628 glGenTextures(CREAT_NUM_ONE, &texture);
629 glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, texture);
630 glTexStorage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, SAMPLES, GL_RGB8, IMAGE_WIDTH, IMAGE_HEIGHT, INT_INIT_VAL);
631 GLenum glError = glGetError();
632 glDeleteTextures(CREAT_NUM_ONE, &texture);
633 destroyGLES();
634 return getError(env, glError);
635 }
636
GLTexStorage3D(napi_env env,napi_callback_info info)637 static napi_value GLTexStorage3D(napi_env env, napi_callback_info info)
638 {
639 initGLES();
640 GLuint texture = INT_INIT_VAL;
641 glGenTextures(CREAT_NUM_ONE, &texture);
642 glBindTexture(GL_TEXTURE_2D_ARRAY, texture);
643 glTexStorage3D(GL_TEXTURE_2D_ARRAY, IMAGE2D_LEVEL_ONE, GL_RGBA8, INIT_WIDTH, INIT_HEIGHT, VARYING_NUM);
644 GLenum glError = glGetError();
645 glDeleteTextures(CREAT_NUM_ONE, &texture);
646 destroyGLES();
647 return getError(env, glError);
648 }
649
GLTexStorage3DMultisample(napi_env env,napi_callback_info info)650 static napi_value GLTexStorage3DMultisample(napi_env env, napi_callback_info info)
651 {
652 initGLES();
653 GLuint texture = INT_INIT_VAL;
654 glGenTextures(CREAT_NUM_ONE, &texture);
655 glBindTexture(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, texture);
656 glTexStorage3DMultisample(GL_TEXTURE_2D_MULTISAMPLE_ARRAY, CREAT_NUM_ONE, GL_RGBA8, SUB_DATA_SIZE, SUB_DATA_SIZE,
657 SUB_DATA_SIZE, GL_FALSE);
658 GLenum glError = glGetError();
659 glDeleteTextures(CREAT_NUM_ONE, &texture);
660 destroyGLES();
661 return getError(env, glError);
662 }
663
GLTexSubImage2D(napi_env env,napi_callback_info info)664 static napi_value GLTexSubImage2D(napi_env env, napi_callback_info info)
665 {
666 initGLES();
667 GLuint texture = INT_INIT_VAL;
668 glGenTextures(CREAT_NUM_ONE, &texture);
669 glBindTexture(GL_TEXTURE_2D, texture);
670 glTexImage2D(GL_TEXTURE_2D, INT_INIT_VAL, GL_RGB, VARYING_NUM, VARYING_NUM, INT_INIT_VAL, GL_RGB, GL_UNSIGNED_BYTE,
671 nullptr);
672 glTexSubImage2D(GL_TEXTURE_2D, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL, VARYING_NUM, VARYING_NUM, GL_RGB,
673 GL_UNSIGNED_BYTE, nullptr);
674 GLenum glError = glGetError();
675 glDeleteTextures(CREAT_NUM_ONE, &texture);
676 destroyGLES();
677 return getError(env, glError);
678 }
679
GLTexSubImage3D(napi_env env,napi_callback_info info)680 static napi_value GLTexSubImage3D(napi_env env, napi_callback_info info)
681 {
682 initGLES();
683 GLuint texture = INT_INIT_VAL;
684 glGenTextures(CREAT_NUM_ONE, &texture);
685 glBindTexture(GL_TEXTURE_2D_ARRAY, texture);
686 glTexImage3D(GL_TEXTURE_2D_ARRAY, INT_INIT_VAL, GL_RGB, IMAGE_WIDTH, IMAGE_HEIGHT, IMAGE_DEPTH, INT_INIT_VAL,
687 GL_RGB, GL_UNSIGNED_BYTE, nullptr);
688 glTexSubImage3D(GL_TEXTURE_2D_ARRAY, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL, IMAGE_WIDTH,
689 IMAGE_HEIGHT, IMAGE_DEPTH, GL_RGB, GL_UNSIGNED_BYTE, nullptr);
690 GLenum glError = glGetError();
691 glDeleteTextures(CREAT_NUM_ONE, &texture);
692 destroyGLES();
693 return getError(env, glError);
694 }
695
GLTransformFeedbackVaryings(napi_env env,napi_callback_info info)696 static napi_value GLTransformFeedbackVaryings(napi_env env, napi_callback_info info)
697 {
698 initGLES();
699 GLuint programObject = initProgram();
700 GLuint feedbackObjId = INT_INIT_VAL;
701 glGenTransformFeedbacks(CREAT_NUM_ONE, &feedbackObjId);
702 glBindTransformFeedback(GL_TRANSFORM_FEEDBACK, feedbackObjId);
703 const char *varyingNames[] = {"outValue"};
704 glTransformFeedbackVaryings(programObject, CREAT_NUM_ONE, varyingNames, GL_SEPARATE_ATTRIBS);
705 GLenum glError = glGetError();
706 deleteProgram();
707 glDeleteProgram(programObject);
708 glDeleteTransformFeedbacks(CREAT_NUM_ONE, &feedbackObjId);
709 destroyGLES();
710 return getError(env, glError);
711 }
712
GLUniform1f(napi_env env,napi_callback_info info)713 static napi_value GLUniform1f(napi_env env, napi_callback_info info)
714 {
715 initGLES();
716 GLuint programObject = initProgram();
717 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
718 glUseProgram(programObject);
719 glUniform1f(uniformLocation, CLEAR_10);
720 GLenum glError = glGetError();
721 deleteProgram();
722 glDeleteProgram(programObject);
723 destroyGLES();
724 return getError(env, glError);
725 }
726
GLUniform1fv(napi_env env,napi_callback_info info)727 static napi_value GLUniform1fv(napi_env env, napi_callback_info info)
728 {
729 initGLES();
730 GLuint programObject = initProgram();
731 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
732 glUseProgram(programObject);
733 GLfloat brightness[POINT_LIGHT_COUNT] = {0.8f, 0.2f, 0.6f, 0.4f};
734 glUniform1fv(uniformLocation, POINT_LIGHT_COUNT, brightness);
735 GLenum glError = glGetError();
736 deleteProgram();
737 glDeleteProgram(programObject);
738 destroyGLES();
739 return getError(env, glError);
740 }
741
GLUniform1i(napi_env env,napi_callback_info info)742 static napi_value GLUniform1i(napi_env env, napi_callback_info info)
743 {
744 initGLES();
745 GLuint programObject = initProgram();
746 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
747 glUseProgram(programObject);
748 glUniform1i(uniformLocation, INT_INIT_VAL);
749 GLenum glError = glGetError();
750 deleteProgram();
751 glDeleteProgram(programObject);
752 destroyGLES();
753 return getError(env, glError);
754 }
755
GLUniform1iv(napi_env env,napi_callback_info info)756 static napi_value GLUniform1iv(napi_env env, napi_callback_info info)
757 {
758 initGLES();
759 GLuint programObject = initProgram();
760 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
761 glUseProgram(programObject);
762 GLint brightness[POINT_LIGHT_COUNT] = {0, 0, 0, 0};
763 glUniform1iv(uniformLocation, POINT_LIGHT_COUNT, brightness);
764 GLenum glError = glGetError();
765 deleteProgram();
766 glDeleteProgram(programObject);
767 destroyGLES();
768 return getError(env, glError);
769 }
770
GLUniform1ui(napi_env env,napi_callback_info info)771 static napi_value GLUniform1ui(napi_env env, napi_callback_info info)
772 {
773 initGLES();
774 GLuint programObject = initProgram();
775 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
776 glUseProgram(programObject);
777 glUniform1ui(uniformLocation, INT_INIT_VAL);
778 GLenum glError = glGetError();
779 deleteProgram();
780 glDeleteProgram(programObject);
781 destroyGLES();
782 return getError(env, glError);
783 }
784
GLUniform1uiv(napi_env env,napi_callback_info info)785 static napi_value GLUniform1uiv(napi_env env, napi_callback_info info)
786 {
787 initGLES();
788 GLuint programObject = initProgram();
789 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
790 glUseProgram(programObject);
791 GLuint brightness[POINT_LIGHT_COUNT] = {0, 0, 0, 0};
792 glUniform1uiv(uniformLocation, POINT_LIGHT_COUNT, brightness);
793 GLenum glError = glGetError();
794 deleteProgram();
795 glDeleteProgram(programObject);
796 destroyGLES();
797 return getError(env, glError);
798 }
799
GLUniform2f(napi_env env,napi_callback_info info)800 static napi_value GLUniform2f(napi_env env, napi_callback_info info)
801 {
802 initGLES();
803 GLuint programObject = initProgram();
804 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
805 glUseProgram(programObject);
806 glUniform2f(uniformLocation, CLEAR_10, CLEAR_10);
807 GLenum glError = glGetError();
808 deleteProgram();
809 glDeleteProgram(programObject);
810 destroyGLES();
811 return getError(env, glError);
812 }
813
GLUniform2fv(napi_env env,napi_callback_info info)814 static napi_value GLUniform2fv(napi_env env, napi_callback_info info)
815 {
816 initGLES();
817 GLuint programObject = initProgram();
818 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
819 glUseProgram(programObject);
820 GLfloat brightness[POINT_LIGHT_COUNT] = {0.8f, 0.2f, 0.6f, 0.4f};
821 glUniform2fv(uniformLocation, POINT_LIGHT_COUNT, brightness);
822 GLenum glError = glGetError();
823 deleteProgram();
824 glDeleteProgram(programObject);
825 destroyGLES();
826 return getError(env, glError);
827 }
828
GLUniform2i(napi_env env,napi_callback_info info)829 static napi_value GLUniform2i(napi_env env, napi_callback_info info)
830 {
831 initGLES();
832 GLuint programObject = initProgram();
833 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
834 glUseProgram(programObject);
835 glUniform2i(uniformLocation, INT_INIT_VAL, INT_INIT_VAL);
836 GLenum glError = glGetError();
837 deleteProgram();
838 glDeleteProgram(programObject);
839 destroyGLES();
840 return getError(env, glError);
841 }
842
GLUniform2iv(napi_env env,napi_callback_info info)843 static napi_value GLUniform2iv(napi_env env, napi_callback_info info)
844 {
845 initGLES();
846 GLuint programObject = initProgram();
847 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
848 glUseProgram(programObject);
849 GLint brightness[POINT_LIGHT_COUNT] = {0, 0, 0, 0};
850 glUniform2iv(uniformLocation, POINT_LIGHT_COUNT, brightness);
851 GLenum glError = glGetError();
852 deleteProgram();
853 glDeleteProgram(programObject);
854 destroyGLES();
855 return getError(env, glError);
856 }
857
GLUniform2ui(napi_env env,napi_callback_info info)858 static napi_value GLUniform2ui(napi_env env, napi_callback_info info)
859 {
860 initGLES();
861 GLuint programObject = initProgram();
862 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
863 glUseProgram(programObject);
864 glUniform2ui(uniformLocation, INT_INIT_VAL, INT_INIT_VAL);
865 GLenum glError = glGetError();
866 deleteProgram();
867 glDeleteProgram(programObject);
868 destroyGLES();
869 return getError(env, glError);
870 }
871
GLUniform2uiv(napi_env env,napi_callback_info info)872 static napi_value GLUniform2uiv(napi_env env, napi_callback_info info)
873 {
874 initGLES();
875 GLuint programObject = initProgram();
876 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
877 glUseProgram(programObject);
878 GLuint brightness[POINT_LIGHT_COUNT] = {0, 0, 0, 0};
879 glUniform2uiv(uniformLocation, POINT_LIGHT_COUNT, brightness);
880 GLenum glError = glGetError();
881 deleteProgram();
882 glDeleteProgram(programObject);
883 destroyGLES();
884 return getError(env, glError);
885 }
886
GLUniform3f(napi_env env,napi_callback_info info)887 static napi_value GLUniform3f(napi_env env, napi_callback_info info)
888 {
889 initGLES();
890 GLuint programObject = initProgram();
891 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
892 glUseProgram(programObject);
893 glUniform3f(uniformLocation, CLEAR_10, CLEAR_10, CLEAR_10);
894 GLenum glError = glGetError();
895 deleteProgram();
896 glDeleteProgram(programObject);
897 destroyGLES();
898 return getError(env, glError);
899 }
900
GLUniform3fv(napi_env env,napi_callback_info info)901 static napi_value GLUniform3fv(napi_env env, napi_callback_info info)
902 {
903 initGLES();
904 GLuint programObject = initProgram();
905 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
906 glUseProgram(programObject);
907 GLfloat brightness[POINT_LIGHT_COUNT] = {0.8f, 0.2f, 0.6f, 0.4f};
908 glUniform3fv(uniformLocation, POINT_LIGHT_COUNT, brightness);
909 GLenum glError = glGetError();
910 deleteProgram();
911 glDeleteProgram(programObject);
912 destroyGLES();
913 return getError(env, glError);
914 }
915
GLUniform3i(napi_env env,napi_callback_info info)916 static napi_value GLUniform3i(napi_env env, napi_callback_info info)
917 {
918 initGLES();
919 GLuint programObject = initProgram();
920 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
921 glUseProgram(programObject);
922 glUniform3i(uniformLocation, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL);
923 GLenum glError = glGetError();
924 deleteProgram();
925 glDeleteProgram(programObject);
926 destroyGLES();
927 return getError(env, glError);
928 }
929
GLUniform3iv(napi_env env,napi_callback_info info)930 static napi_value GLUniform3iv(napi_env env, napi_callback_info info)
931 {
932 initGLES();
933 GLuint programObject = initProgram();
934 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
935 glUseProgram(programObject);
936 GLint brightness[POINT_LIGHT_COUNT] = {0, 0, 0, 0};
937 glUniform3iv(uniformLocation, POINT_LIGHT_COUNT, brightness);
938 GLenum glError = glGetError();
939 deleteProgram();
940 glDeleteProgram(programObject);
941 destroyGLES();
942 return getError(env, glError);
943 }
944
GLUniform3ui(napi_env env,napi_callback_info info)945 static napi_value GLUniform3ui(napi_env env, napi_callback_info info)
946 {
947 initGLES();
948 GLuint programObject = initProgram();
949 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
950 glUseProgram(programObject);
951 glUniform3ui(uniformLocation, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL);
952 GLenum glError = glGetError();
953 deleteProgram();
954 glDeleteProgram(programObject);
955 destroyGLES();
956 return getError(env, glError);
957 }
958
GLUniform3uiv(napi_env env,napi_callback_info info)959 static napi_value GLUniform3uiv(napi_env env, napi_callback_info info)
960 {
961 initGLES();
962 GLuint programObject = initProgram();
963 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
964 glUseProgram(programObject);
965 GLuint brightness[POINT_LIGHT_COUNT] = {0, 0, 0, 0};
966 glUniform3uiv(uniformLocation, POINT_LIGHT_COUNT, brightness);
967 GLenum glError = glGetError();
968 deleteProgram();
969 glDeleteProgram(programObject);
970 destroyGLES();
971 return getError(env, glError);
972 }
973
GLUniform4f(napi_env env,napi_callback_info info)974 static napi_value GLUniform4f(napi_env env, napi_callback_info info)
975 {
976 initGLES();
977 GLuint programObject = initProgram();
978 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
979 glUseProgram(programObject);
980 glUniform4f(uniformLocation, CLEAR_10, CLEAR_10, CLEAR_10, CLEAR_10);
981 GLenum glError = glGetError();
982 deleteProgram();
983 glDeleteProgram(programObject);
984 destroyGLES();
985 return getError(env, glError);
986 }
987
GLUniform4fv(napi_env env,napi_callback_info info)988 static napi_value GLUniform4fv(napi_env env, napi_callback_info info)
989 {
990 initGLES();
991 GLuint programObject = initProgram();
992 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
993 glUseProgram(programObject);
994 GLfloat brightness[POINT_LIGHT_COUNT] = {0.8f, 0.2f, 0.6f, 0.4f};
995 glUniform4fv(uniformLocation, POINT_LIGHT_COUNT, brightness);
996 GLenum glError = glGetError();
997 deleteProgram();
998 glDeleteProgram(programObject);
999 destroyGLES();
1000 return getError(env, glError);
1001 }
1002
GLUniform4i(napi_env env,napi_callback_info info)1003 static napi_value GLUniform4i(napi_env env, napi_callback_info info)
1004 {
1005 initGLES();
1006 GLuint programObject = initProgram();
1007 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
1008 glUseProgram(programObject);
1009 glUniform4i(uniformLocation, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL);
1010 GLenum glError = glGetError();
1011 deleteProgram();
1012 glDeleteProgram(programObject);
1013 destroyGLES();
1014 return getError(env, glError);
1015 }
1016
GLUniform4iv(napi_env env,napi_callback_info info)1017 static napi_value GLUniform4iv(napi_env env, napi_callback_info info)
1018 {
1019 initGLES();
1020 GLuint programObject = initProgram();
1021 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
1022 glUseProgram(programObject);
1023 GLint brightness[POINT_LIGHT_COUNT] = {0, 0, 0, 0};
1024 glUniform4iv(uniformLocation, POINT_LIGHT_COUNT, brightness);
1025 GLenum glError = glGetError();
1026 deleteProgram();
1027 glDeleteProgram(programObject);
1028 destroyGLES();
1029 return getError(env, glError);
1030 }
1031
GLUniform4ui(napi_env env,napi_callback_info info)1032 static napi_value GLUniform4ui(napi_env env, napi_callback_info info)
1033 {
1034 initGLES();
1035 GLuint programObject = initProgram();
1036 GLint uniformLocation = glGetUniformLocation(programObject, "u_brightness");
1037 glUseProgram(programObject);
1038 glUniform4ui(uniformLocation, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL);
1039 GLenum glError = glGetError();
1040 deleteProgram();
1041 glDeleteProgram(programObject);
1042 destroyGLES();
1043 return getError(env, glError);
1044 }
1045
GLUniform4uiv(napi_env env,napi_callback_info info)1046 static napi_value GLUniform4uiv(napi_env env, napi_callback_info info)
1047 {
1048 initGLES();
1049 GLuint programObject = initProgram();
1050 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
1051 glUseProgram(programObject);
1052 GLuint brightness[POINT_LIGHT_COUNT] = {0, 0, 0, 0};
1053 glUniform4uiv(uniformLocation, POINT_LIGHT_COUNT, brightness);
1054 GLenum glError = glGetError();
1055 deleteProgram();
1056 glDeleteProgram(programObject);
1057 destroyGLES();
1058 return getError(env, glError);
1059 }
1060
GLUniformBlockBinding(napi_env env,napi_callback_info info)1061 static napi_value GLUniformBlockBinding(napi_env env, napi_callback_info info)
1062 {
1063 initGLES();
1064 GLuint programObject = initProgram();
1065 GLuint matricesIndex = glGetUniformBlockIndex(programObject, "MatrixBlock");
1066 glUniformBlockBinding(programObject, matricesIndex, VARYING_NUM);
1067 GLenum glError = glGetError();
1068 deleteProgram();
1069 glDeleteProgram(programObject);
1070 destroyGLES();
1071 return getError(env, glError);
1072 }
1073
GLUniformMatrix2fv(napi_env env,napi_callback_info info)1074 static napi_value GLUniformMatrix2fv(napi_env env, napi_callback_info info)
1075 {
1076 initGLES();
1077 GLuint programObject = initProgram();
1078 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
1079 glUseProgram(programObject);
1080 GLfloat matrix[MATRIX_4] = {CLEAR_10, CLEAR_00, CLEAR_00, CLEAR_10};
1081 glUniformMatrix2fv(uniformLocation, CREAT_NUM_ONE, GL_TRUE, matrix);
1082 GLenum glError = glGetError();
1083 deleteProgram();
1084 glDeleteProgram(programObject);
1085 destroyGLES();
1086 return getError(env, glError);
1087 }
1088
GLUniformMatrix2x3fv(napi_env env,napi_callback_info info)1089 static napi_value GLUniformMatrix2x3fv(napi_env env, napi_callback_info info)
1090 {
1091 initGLES();
1092 GLuint programObject = initProgram();
1093 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
1094 glUseProgram(programObject);
1095 GLfloat matrix[MATRIX_6] = {CLEAR_10, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_10, CLEAR_00};
1096 glUniformMatrix2x3fv(uniformLocation, CREAT_NUM_ONE, GL_TRUE, matrix);
1097 GLenum glError = glGetError();
1098 deleteProgram();
1099 glDeleteProgram(programObject);
1100 destroyGLES();
1101 return getError(env, glError);
1102 }
1103
GLUniformMatrix2x4fv(napi_env env,napi_callback_info info)1104 static napi_value GLUniformMatrix2x4fv(napi_env env, napi_callback_info info)
1105 {
1106 initGLES();
1107 GLuint programObject = initProgram();
1108 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
1109 glUseProgram(programObject);
1110 GLfloat matrix[MATRIX_8] = {CLEAR_10, CLEAR_00, CLEAR_00, CLEAR_10, CLEAR_00, CLEAR_10, CLEAR_00, CLEAR_10};
1111 glUniformMatrix2x4fv(uniformLocation, CREAT_NUM_ONE, GL_TRUE, matrix);
1112 GLenum glError = glGetError();
1113 deleteProgram();
1114 glDeleteProgram(programObject);
1115 destroyGLES();
1116 return getError(env, glError);
1117 }
1118
GLUniformMatrix3fv(napi_env env,napi_callback_info info)1119 static napi_value GLUniformMatrix3fv(napi_env env, napi_callback_info info)
1120 {
1121 initGLES();
1122 GLuint programObject = initProgram();
1123 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
1124 glUseProgram(programObject);
1125 GLfloat matrix[MATRIX_9] = {CLEAR_10, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_10,
1126 CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_10};
1127 glUniformMatrix3fv(uniformLocation, CREAT_NUM_ONE, GL_TRUE, matrix);
1128 GLenum glError = glGetError();
1129 deleteProgram();
1130 glDeleteProgram(programObject);
1131 destroyGLES();
1132 return getError(env, glError);
1133 }
1134
GLUniformMatrix3x2fv(napi_env env,napi_callback_info info)1135 static napi_value GLUniformMatrix3x2fv(napi_env env, napi_callback_info info)
1136 {
1137 initGLES();
1138 GLuint programObject = initProgram();
1139 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
1140 glUseProgram(programObject);
1141 GLfloat matrix[MATRIX_6] = {CLEAR_10, CLEAR_00, CLEAR_00, CLEAR_10, CLEAR_00, CLEAR_00};
1142 glUniformMatrix3x2fv(uniformLocation, CREAT_NUM_ONE, GL_TRUE, matrix);
1143 GLenum glError = glGetError();
1144 deleteProgram();
1145 glDeleteProgram(programObject);
1146 destroyGLES();
1147 return getError(env, glError);
1148 }
1149
GLUniformMatrix3x4fv(napi_env env,napi_callback_info info)1150 static napi_value GLUniformMatrix3x4fv(napi_env env, napi_callback_info info)
1151 {
1152 initGLES();
1153 GLuint programObject = initProgram();
1154 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
1155 glUseProgram(programObject);
1156 GLfloat matrix[MATRIX_12] = {CLEAR_10, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_10,
1157 CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_10, CLEAR_00};
1158 glUniformMatrix3x4fv(uniformLocation, CREAT_NUM_ONE, GL_TRUE, matrix);
1159 GLenum glError = glGetError();
1160 deleteProgram();
1161 glDeleteProgram(programObject);
1162 destroyGLES();
1163 return getError(env, glError);
1164 }
1165
GLUniformMatrix4fv(napi_env env,napi_callback_info info)1166 static napi_value GLUniformMatrix4fv(napi_env env, napi_callback_info info)
1167 {
1168 initGLES();
1169 GLuint programObject = initProgram();
1170 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
1171 glUseProgram(programObject);
1172 GLfloat matrix[MATRIX_16] = {CLEAR_10, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_10, CLEAR_00, CLEAR_00,
1173 CLEAR_00, CLEAR_00, CLEAR_10, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_10};
1174 glUniformMatrix4fv(uniformLocation, CREAT_NUM_ONE, GL_TRUE, matrix);
1175 GLenum glError = glGetError();
1176 deleteProgram();
1177 glDeleteProgram(programObject);
1178 destroyGLES();
1179 return getError(env, glError);
1180 }
1181
GLUniformMatrix4x2fv(napi_env env,napi_callback_info info)1182 static napi_value GLUniformMatrix4x2fv(napi_env env, napi_callback_info info)
1183 {
1184 initGLES();
1185 GLuint programObject = initProgram();
1186 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
1187 glUseProgram(programObject);
1188 GLfloat matrix[MATRIX_8] = {
1189 CLEAR_10, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_10, CLEAR_00, CLEAR_00,
1190 };
1191 glUniformMatrix4x2fv(uniformLocation, CREAT_NUM_ONE, GL_TRUE, matrix);
1192 GLenum glError = glGetError();
1193 deleteProgram();
1194 glDeleteProgram(programObject);
1195 destroyGLES();
1196 return getError(env, glError);
1197 }
1198
GLUniformMatrix4x3fv(napi_env env,napi_callback_info info)1199 static napi_value GLUniformMatrix4x3fv(napi_env env, napi_callback_info info)
1200 {
1201 initGLES();
1202 GLuint programObject = initProgram();
1203 GLint uniformLocation = glGetUniformLocation(programObject, "u_pointLights[0].brightness");
1204 glUseProgram(programObject);
1205 GLfloat matrix[MATRIX_12] = {
1206 CLEAR_10, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_10,
1207 CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_10, CLEAR_00,
1208 };
1209 glUniformMatrix4x3fv(uniformLocation, CREAT_NUM_ONE, GL_TRUE, matrix);
1210 GLenum glError = glGetError();
1211 deleteProgram();
1212 glDeleteProgram(programObject);
1213 destroyGLES();
1214 return getError(env, glError);
1215 }
1216
GLUnmapBuffer(napi_env env,napi_callback_info info)1217 static napi_value GLUnmapBuffer(napi_env env, napi_callback_info info)
1218 {
1219 initGLES();
1220 GLuint buffer;
1221 glGenBuffers(CREAT_NUM_ONE, &buffer);
1222 glBindBuffer(GL_ARRAY_BUFFER, buffer);
1223 glBufferData(GL_ARRAY_BUFFER, GL_BUF_SIZE, nullptr, GL_DYNAMIC_DRAW);
1224 glMapBufferRange(GL_ARRAY_BUFFER, INT_INIT_VAL, GL_BUF_SIZE,
1225 GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT | GL_MAP_FLUSH_EXPLICIT_BIT);
1226 glFlushMappedBufferRange(GL_ARRAY_BUFFER, INT_INIT_VAL, GL_BUF_SIZE);
1227 GLboolean glRet = glUnmapBuffer(GL_ARRAY_BUFFER);
1228 glDeleteBuffers(CREAT_NUM_ONE, &buffer);
1229 destroyGLES();
1230 napi_value result = nullptr;
1231 if (GL_TRUE == glRet) {
1232 napi_create_int32(env, SUCCESS, &result);
1233 } else {
1234 napi_create_int32(env, FAILED, &result);
1235 }
1236 return result;
1237 }
1238
GLUseProgram(napi_env env,napi_callback_info info)1239 static napi_value GLUseProgram(napi_env env, napi_callback_info info)
1240 {
1241 initGLES();
1242 GLuint programObject = initProgram();
1243 glUseProgram(programObject);
1244 GLenum glError = glGetError();
1245 deleteProgram();
1246 glDeleteProgram(programObject);
1247 destroyGLES();
1248 return getError(env, glError);
1249 }
1250
GLUseProgramStages(napi_env env,napi_callback_info info)1251 static napi_value GLUseProgramStages(napi_env env, napi_callback_info info)
1252 {
1253 initGLES();
1254 GLuint pipeline = INT_INIT_VAL;
1255 glGenProgramPipelines(PIPELINES_NUM_ONE, &pipeline);
1256 glBindProgramPipeline(pipeline);
1257 GLuint program = glCreateShaderProgramv(GL_FRAGMENT_SHADER, CREAT_NUM_ONE, &fragmentShaderSource);
1258 glUseProgramStages(pipeline, GL_FRAGMENT_SHADER_BIT, program);
1259 GLenum glError = glGetError();
1260 glDeleteProgram(program);
1261 glDeleteProgramPipelines(CREAT_NUM_ONE, &pipeline);
1262 destroyGLES();
1263 return getError(env, glError);
1264 }
1265
GLValidateProgram(napi_env env,napi_callback_info info)1266 static napi_value GLValidateProgram(napi_env env, napi_callback_info info)
1267 {
1268 initGLES();
1269 GLuint programObject = initProgram();
1270 glValidateProgram(programObject);
1271 GLenum glError = glGetError();
1272 deleteProgram();
1273 glDeleteProgram(programObject);
1274 destroyGLES();
1275 return getError(env, glError);
1276 }
1277
GLValidateProgramPipeline(napi_env env,napi_callback_info info)1278 static napi_value GLValidateProgramPipeline(napi_env env, napi_callback_info info)
1279 {
1280 initGLES();
1281 GLuint pipeline = INT_INIT_VAL;
1282 glGenProgramPipelines(PIPELINES_NUM_ONE, &pipeline);
1283 glBindProgramPipeline(pipeline);
1284 glValidateProgramPipeline(pipeline);
1285 GLenum glError = glGetError();
1286 glDeleteProgramPipelines(CREAT_NUM_ONE, &pipeline);
1287 return getError(env, glError);
1288 }
1289
GLVertexAttrib1f(napi_env env,napi_callback_info info)1290 static napi_value GLVertexAttrib1f(napi_env env, napi_callback_info info)
1291 {
1292 initGLES();
1293 GLuint programObject = initProgram();
1294 glUseProgram(programObject);
1295 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1296 glVertexAttrib1f(attribLocation, CLEAR_10);
1297 GLenum glError = glGetError();
1298 deleteProgram();
1299 glDeleteProgram(programObject);
1300 destroyGLES();
1301 return getError(env, glError);
1302 }
1303
GLVertexAttrib1fv(napi_env env,napi_callback_info info)1304 static napi_value GLVertexAttrib1fv(napi_env env, napi_callback_info info)
1305 {
1306 initGLES();
1307 GLuint programObject = initProgram();
1308 glUseProgram(programObject);
1309 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1310 GLfloat value[ARRAY_INDEX_ONE] = {CLEAR_10};
1311 glVertexAttrib1fv(attribLocation, value);
1312 GLenum glError = glGetError();
1313 deleteProgram();
1314 glDeleteProgram(programObject);
1315 destroyGLES();
1316 return getError(env, glError);
1317 }
1318
GLVertexAttrib2f(napi_env env,napi_callback_info info)1319 static napi_value GLVertexAttrib2f(napi_env env, napi_callback_info info)
1320 {
1321 initGLES();
1322 GLuint programObject = initProgram();
1323 glUseProgram(programObject);
1324 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1325 glVertexAttrib2f(attribLocation, CLEAR_10, CLEAR_10);
1326 GLenum glError = glGetError();
1327 deleteProgram();
1328 glDeleteProgram(programObject);
1329 destroyGLES();
1330 return getError(env, glError);
1331 }
1332
GLVertexAttrib2fv(napi_env env,napi_callback_info info)1333 static napi_value GLVertexAttrib2fv(napi_env env, napi_callback_info info)
1334 {
1335 initGLES();
1336 GLuint programObject = initProgram();
1337 glUseProgram(programObject);
1338 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1339 GLfloat value[ARRAY_INDEX_TWO] = {CLEAR_10, CLEAR_10};
1340 glVertexAttrib2fv(attribLocation, value);
1341 GLenum glError = glGetError();
1342 deleteProgram();
1343 glDeleteProgram(programObject);
1344 destroyGLES();
1345 return getError(env, glError);
1346 }
1347
GLVertexAttrib3f(napi_env env,napi_callback_info info)1348 static napi_value GLVertexAttrib3f(napi_env env, napi_callback_info info)
1349 {
1350 initGLES();
1351 GLuint programObject = initProgram();
1352 glUseProgram(programObject);
1353 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1354 glVertexAttrib3f(attribLocation, CLEAR_10, CLEAR_10, CLEAR_10);
1355 GLenum glError = glGetError();
1356 deleteProgram();
1357 glDeleteProgram(programObject);
1358 destroyGLES();
1359 return getError(env, glError);
1360 }
1361
GLVertexAttrib3fv(napi_env env,napi_callback_info info)1362 static napi_value GLVertexAttrib3fv(napi_env env, napi_callback_info info)
1363 {
1364 initGLES();
1365 GLuint programObject = initProgram();
1366 glUseProgram(programObject);
1367 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1368 GLfloat value[ARRAY_INDEX_THREE] = {CLEAR_10, CLEAR_10, CLEAR_10};
1369 glVertexAttrib3fv(attribLocation, value);
1370 GLenum glError = glGetError();
1371 deleteProgram();
1372 glDeleteProgram(programObject);
1373 destroyGLES();
1374 return getError(env, glError);
1375 }
1376
GLVertexAttrib4f(napi_env env,napi_callback_info info)1377 static napi_value GLVertexAttrib4f(napi_env env, napi_callback_info info)
1378 {
1379 initGLES();
1380 GLuint programObject = initProgram();
1381 glUseProgram(programObject);
1382 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1383 glVertexAttrib4f(attribLocation, CLEAR_10, CLEAR_10, CLEAR_10, CLEAR_10);
1384 GLenum glError = glGetError();
1385 deleteProgram();
1386 glDeleteProgram(programObject);
1387 destroyGLES();
1388 return getError(env, glError);
1389 }
1390
GLVertexAttrib4fv(napi_env env,napi_callback_info info)1391 static napi_value GLVertexAttrib4fv(napi_env env, napi_callback_info info)
1392 {
1393 initGLES();
1394 GLuint programObject = initProgram();
1395 glUseProgram(programObject);
1396 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1397 GLfloat value[ARRAY_INDEX_FORE] = {CLEAR_10, CLEAR_10, CLEAR_10, CLEAR_10};
1398 glVertexAttrib4fv(attribLocation, value);
1399 GLenum glError = glGetError();
1400 deleteProgram();
1401 glDeleteProgram(programObject);
1402 destroyGLES();
1403 return getError(env, glError);
1404 }
1405
GLVertexAttribBinding(napi_env env,napi_callback_info info)1406 static napi_value GLVertexAttribBinding(napi_env env, napi_callback_info info)
1407 {
1408 initGLES();
1409 GLuint vao = INT_INIT_VAL;
1410 GLuint vbo = INT_INIT_VAL;
1411 glGenVertexArrays(CREAT_NUM_ONE, &vao);
1412 glBindVertexArray(vao);
1413 glGenBuffers(CREAT_NUM_ONE, &vbo);
1414 glBindBuffer(GL_ARRAY_BUFFER, vbo);
1415 GLfloat vertices[] = {CLEAR_10, CLEAR_10, CLEAR_10, CLEAR_10};
1416 glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
1417 glEnableVertexAttribArray(ARRAY_INDEX_ZERO);
1418 glVertexAttribFormat(ARRAY_INDEX_ZERO, ARRAY_INDEX_THREE, GL_FLOAT, GL_FALSE, ARRAY_INDEX_ZERO);
1419 glVertexAttribBinding(ARRAY_INDEX_ZERO, ARRAY_INDEX_ZERO);
1420 GLenum glError = glGetError();
1421 glDeleteBuffers(CREAT_NUM_ONE, &vbo);
1422 glDeleteVertexArrays(CREAT_NUM_ONE, &vao);
1423 destroyGLES();
1424 return getError(env, glError);
1425 }
1426
GLVertexAttribDivisor(napi_env env,napi_callback_info info)1427 static napi_value GLVertexAttribDivisor(napi_env env, napi_callback_info info)
1428 {
1429 initGLES();
1430 GLuint vao = INT_INIT_VAL;
1431 GLuint vbo = INT_INIT_VAL;
1432 glGenVertexArrays(CREAT_NUM_ONE, &vao);
1433 glBindVertexArray(vao);
1434 glGenBuffers(CREAT_NUM_ONE, &vbo);
1435 glBindBuffer(GL_ARRAY_BUFFER, vbo);
1436 GLfloat vertices[] = {CLEAR_10, CLEAR_10, CLEAR_10, CLEAR_10};
1437 glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
1438 glEnableVertexAttribArray(ARRAY_INDEX_ZERO);
1439 glVertexAttribPointer(INT_INIT_VAL, ARRAY_INDEX_THREE, GL_FLOAT, GL_FALSE, ARRAY_INDEX_THREE * sizeof(GLfloat),
1440 nullptr);
1441 glVertexAttribDivisor(INT_INIT_VAL, CREAT_NUM_ONE);
1442 GLenum glError = glGetError();
1443 glDeleteBuffers(CREAT_NUM_ONE, &vbo);
1444 glDeleteVertexArrays(CREAT_NUM_ONE, &vao);
1445 destroyGLES();
1446 return getError(env, glError);
1447 }
1448
GLVertexAttribFormat(napi_env env,napi_callback_info info)1449 static napi_value GLVertexAttribFormat(napi_env env, napi_callback_info info)
1450 {
1451 initGLES();
1452 GLuint vao = INT_INIT_VAL;
1453 GLuint vbo = INT_INIT_VAL;
1454 glGenVertexArrays(CREAT_NUM_ONE, &vao);
1455 glBindVertexArray(vao);
1456 glGenBuffers(CREAT_NUM_ONE, &vbo);
1457 glBindBuffer(GL_ARRAY_BUFFER, vbo);
1458 GLfloat vertices[] = {CLEAR_10, CLEAR_10, CLEAR_10, CLEAR_10};
1459 glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
1460 glEnableVertexAttribArray(ARRAY_INDEX_ZERO);
1461 glVertexAttribFormat(ARRAY_INDEX_ZERO, ARRAY_INDEX_THREE, GL_FLOAT, GL_FALSE, ARRAY_INDEX_ZERO);
1462 GLenum glError = glGetError();
1463 glDeleteBuffers(CREAT_NUM_ONE, &vbo);
1464 glDeleteVertexArrays(CREAT_NUM_ONE, &vao);
1465 destroyGLES();
1466 return getError(env, glError);
1467 }
1468
GLVertexAttribI4i(napi_env env,napi_callback_info info)1469 static napi_value GLVertexAttribI4i(napi_env env, napi_callback_info info)
1470 {
1471 initGLES();
1472 GLuint programObject = initProgram();
1473 glUseProgram(programObject);
1474 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1475 glVertexAttribI4i(attribLocation, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL);
1476 GLenum glError = glGetError();
1477 deleteProgram();
1478 glDeleteProgram(programObject);
1479 destroyGLES();
1480 return getError(env, glError);
1481 }
1482
GLVertexAttribI4iv(napi_env env,napi_callback_info info)1483 static napi_value GLVertexAttribI4iv(napi_env env, napi_callback_info info)
1484 {
1485 initGLES();
1486 GLuint programObject = initProgram();
1487 glUseProgram(programObject);
1488 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1489 GLint value[ARRAY_INDEX_FORE] = {INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL};
1490 glVertexAttribI4iv(attribLocation, value);
1491 GLenum glError = glGetError();
1492 deleteProgram();
1493 glDeleteProgram(programObject);
1494 destroyGLES();
1495 return getError(env, glError);
1496 }
1497
GLVertexAttribI4ui(napi_env env,napi_callback_info info)1498 static napi_value GLVertexAttribI4ui(napi_env env, napi_callback_info info)
1499 {
1500 initGLES();
1501 GLuint programObject = initProgram();
1502 glUseProgram(programObject);
1503 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1504 glVertexAttribI4ui(attribLocation, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL);
1505 GLenum glError = glGetError();
1506 deleteProgram();
1507 glDeleteProgram(programObject);
1508 destroyGLES();
1509 return getError(env, glError);
1510 }
1511
GLVertexAttribI4uiv(napi_env env,napi_callback_info info)1512 static napi_value GLVertexAttribI4uiv(napi_env env, napi_callback_info info)
1513 {
1514 initGLES();
1515 GLuint programObject = initProgram();
1516 glUseProgram(programObject);
1517 GLint attribLocation = glGetAttribLocation(programObject, "vPosition");
1518 GLuint value[ARRAY_INDEX_FORE] = {INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL};
1519 glVertexAttribI4uiv(attribLocation, value);
1520 GLenum glError = glGetError();
1521 deleteProgram();
1522 glDeleteProgram(programObject);
1523 destroyGLES();
1524 return getError(env, glError);
1525 }
1526
GLVertexAttribIFormat(napi_env env,napi_callback_info info)1527 static napi_value GLVertexAttribIFormat(napi_env env, napi_callback_info info)
1528 {
1529 initGLES();
1530 GLuint vao = INT_INIT_VAL;
1531 GLuint vbo = INT_INIT_VAL;
1532 glGenVertexArrays(CREAT_NUM_ONE, &vao);
1533 glBindVertexArray(vao);
1534 glGenBuffers(CREAT_NUM_ONE, &vbo);
1535 glBindBuffer(GL_ARRAY_BUFFER, vbo);
1536 GLfloat vertices[] = {CLEAR_10, CLEAR_10, CLEAR_10, CLEAR_10};
1537 glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
1538 glEnableVertexAttribArray(ARRAY_INDEX_ZERO);
1539 glVertexAttribIFormat(INT_INIT_VAL, ARRAY_INDEX_FORE, GL_INT, INT_INIT_VAL);
1540 GLenum glError = glGetError();
1541 glDeleteBuffers(CREAT_NUM_ONE, &vbo);
1542 glDeleteVertexArrays(CREAT_NUM_ONE, &vao);
1543 destroyGLES();
1544 return getError(env, glError);
1545 }
1546
GLVertexAttribIPointer(napi_env env,napi_callback_info info)1547 static napi_value GLVertexAttribIPointer(napi_env env, napi_callback_info info)
1548 {
1549 initGLES();
1550 GLint vertices[] = {INT_INIT_VAL, INT_INIT_VAL, INT_INIT_VAL};
1551 GLuint VAO = INT_INIT_VAL;
1552 GLuint VBO = INT_INIT_VAL;
1553 glGenVertexArrays(CREAT_NUM_ONE, &VAO);
1554 glBindVertexArray(VAO);
1555 glGenBuffers(CREAT_NUM_ONE, &VBO);
1556 glBindBuffer(GL_ARRAY_BUFFER, VBO);
1557 glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
1558 glVertexAttribIPointer(INT_INIT_VAL, MATRIX_3, GL_INT, MATRIX_3 * sizeof(GLint), nullptr);
1559 GLenum glError = glGetError();
1560 glDeleteBuffers(CREAT_NUM_ONE, &VBO);
1561 glDeleteVertexArrays(CREAT_NUM_ONE, &VAO);
1562 destroyGLES();
1563 return getError(env, glError);
1564 }
1565
GLVertexAttribPointer(napi_env env,napi_callback_info info)1566 static napi_value GLVertexAttribPointer(napi_env env, napi_callback_info info)
1567 {
1568 initGLES();
1569 GLfloat vertices[] = {CLEAR_00, 0.5f, CLEAR_00, -0.5f, -0.5f, CLEAR_00, 0.5f, -0.5f, CLEAR_00};
1570 GLuint VAO = INT_INIT_VAL;
1571 GLuint VBO = INT_INIT_VAL;
1572 glGenVertexArrays(CREAT_NUM_ONE, &VAO);
1573 glBindVertexArray(VAO);
1574 glGenBuffers(CREAT_NUM_ONE, &VBO);
1575 glBindBuffer(GL_ARRAY_BUFFER, VBO);
1576 glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
1577 glVertexAttribPointer(INT_INIT_VAL, ATTRIB_SIZE, GL_FLOAT, GL_FALSE, INT_INIT_VAL, INT_INIT_VAL);
1578 GLenum glError = glGetError();
1579 glDeleteBuffers(CREAT_NUM_ONE, &VBO);
1580 glDeleteVertexArrays(CREAT_NUM_ONE, &VAO);
1581 destroyGLES();
1582 return getError(env, glError);
1583 }
1584
GLVertexBindingDivisor(napi_env env,napi_callback_info info)1585 static napi_value GLVertexBindingDivisor(napi_env env, napi_callback_info info)
1586 {
1587 initGLES();
1588 GLfloat vertices[] = {CLEAR_00, 0.5f, CLEAR_00, -0.5f, -0.5f, CLEAR_00, 0.5f, -0.5f, CLEAR_00};
1589 GLuint VAO = INT_INIT_VAL;
1590 GLuint VBO = INT_INIT_VAL;
1591 glGenVertexArrays(CREAT_NUM_ONE, &VAO);
1592 glBindVertexArray(VAO);
1593 glGenBuffers(CREAT_NUM_ONE, &VBO);
1594 glBindBuffer(GL_ARRAY_BUFFER, VBO);
1595 glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
1596 glVertexAttribPointer(INT_INIT_VAL, ATTRIB_SIZE, GL_FLOAT, GL_FALSE, INT_INIT_VAL, INT_INIT_VAL);
1597 glVertexBindingDivisor(INT_INIT_VAL, CREAT_NUM_ONE);
1598 GLenum glError = glGetError();
1599 glDeleteBuffers(CREAT_NUM_ONE, &VBO);
1600 glDeleteVertexArrays(CREAT_NUM_ONE, &VAO);
1601 destroyGLES();
1602 return getError(env, glError);
1603 }
1604
GLViewport(napi_env env,napi_callback_info info)1605 static napi_value GLViewport(napi_env env, napi_callback_info info)
1606 {
1607 initGLES();
1608 glViewport(IMAGE_WIDTH, IMAGE_HEIGHT, IMAGE_WIDTH, IMAGE_HEIGHT);
1609 GLenum glError = glGetError();
1610 destroyGLES();
1611 return getError(env, glError);
1612 }
1613
GLWaitSync(napi_env env,napi_callback_info info)1614 static napi_value GLWaitSync(napi_env env, napi_callback_info info)
1615 {
1616 initGLES();
1617 GLsync syncObject = glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, INT_INIT_VAL);
1618 glWaitSync(syncObject, INT_INIT_VAL, GL_TIMEOUT_IGNORED);
1619 GLenum glError = glGetError();
1620 glDeleteSync(syncObject);
1621 destroyGLES();
1622 return getError(env, glError);
1623 }
1624
GLGetProgramPipelineInfoLog(napi_env env,napi_callback_info info)1625 static napi_value GLGetProgramPipelineInfoLog(napi_env env, napi_callback_info info)
1626 {
1627 initGLES();
1628 GLuint pipeline = INT_INIT_VAL;
1629 glGenProgramPipelines(PIPELINES_NUM_ONE, &pipeline);
1630 glBindProgramPipeline(pipeline);
1631 GLuint program = glCreateShaderProgramv(GL_FRAGMENT_SHADER, CREAT_NUM_ONE, &fragmentShaderSource);
1632 glUseProgramStages(pipeline, GL_FRAGMENT_SHADER_BIT, program);
1633 GLchar log[256];
1634 GLsizei length;
1635 glGetProgramPipelineInfoLog(pipeline, GL_BUF_SIZE, &length, log);
1636 GLenum glError = glGetError();
1637 glDeleteProgramPipelines(CREAT_NUM_ONE, &pipeline);
1638 glDeleteProgram(program);
1639 destroyGLES();
1640 return getError(env, glError);
1641 }
1642
GLGetActiveUniform(napi_env env,napi_callback_info info)1643 static napi_value GLGetActiveUniform(napi_env env, napi_callback_info info)
1644 {
1645 initGLES();
1646 GLenum glError = GL_NO_ERROR;
1647 GLuint program = initProgram(vertexSource, fragmentSource);
1648 GLint activeUniformCount;
1649 glGetProgramiv(program, GL_ACTIVE_UNIFORM_MAX_LENGTH, &activeUniformCount);
1650 GLchar uniformName[SUB_DATA_SIZE];
1651 GLsizei length;
1652 GLint size;
1653 GLenum type;
1654 if (activeUniformCount > 0) {
1655 glGetActiveUniform(program, ARRAY_INDEX_ZERO, SUB_DATA_SIZE, &length, &size, &type, uniformName);
1656 glError = glGetError();
1657 }
1658 deleteProgram();
1659 glDeleteProgram(program);
1660 destroyGLES();
1661 return getError(env, glError);
1662 }
1663
GLGetActiveUniformBlockiv(napi_env env,napi_callback_info info)1664 static napi_value GLGetActiveUniformBlockiv(napi_env env, napi_callback_info info)
1665 {
1666 initGLES();
1667 GLuint program = initProgram(vertexShaderSource, fragmentShaderSource);
1668 GLuint blockIndex = glGetUniformBlockIndex(program, "MatrixBlock");
1669 GLint param;
1670 glGetActiveUniformBlockiv(program, blockIndex, GL_UNIFORM_BLOCK_NAME_LENGTH, ¶m);
1671 GLenum glError = glGetError();
1672 deleteProgram();
1673 glDeleteProgram(program);
1674 destroyGLES();
1675 return getError(env, glError);
1676 }
1677
GLGetActiveUniformBlockName(napi_env env,napi_callback_info info)1678 static napi_value GLGetActiveUniformBlockName(napi_env env, napi_callback_info info)
1679 {
1680 initGLES();
1681 GLuint program = initProgram(vertexShaderSource, fragmentShaderSource);
1682 GLuint blockIndex = glGetUniformBlockIndex(program, "MatrixBlock");
1683 GLint nameLen;
1684 glGetActiveUniformBlockiv(program, blockIndex, GL_UNIFORM_BLOCK_NAME_LENGTH, &nameLen);
1685 GLsizei length;
1686 GLchar blockName[nameLen];
1687 glGetActiveUniformBlockName(program, blockIndex, nameLen, &length, blockName);
1688 GLenum glError = glGetError();
1689 deleteProgram();
1690 glDeleteProgram(program);
1691 destroyGLES();
1692 return getError(env, glError);
1693 }
1694
GLGetActiveUniformsiv(napi_env env,napi_callback_info info)1695 static napi_value GLGetActiveUniformsiv(napi_env env, napi_callback_info info)
1696 {
1697 initGLES();
1698 GLuint program = initProgram(vertexShaderSource, fragmentShaderSource);
1699 GLuint blockIndex = glGetUniformBlockIndex(program, "MatrixBlock");
1700 GLint params;
1701 glGetActiveUniformsiv(program, CREAT_NUM_ONE, &blockIndex, GL_UNIFORM_TYPE, ¶ms);
1702 GLenum glError = glGetError();
1703 deleteProgram();
1704 glDeleteProgram(program);
1705 destroyGLES();
1706 return getError(env, glError);
1707 }
1708
GLGetnUniformfv(napi_env env,napi_callback_info info)1709 static napi_value GLGetnUniformfv(napi_env env, napi_callback_info info)
1710 {
1711 initGLES();
1712 GLuint program = initProgram(vertexSource, fragmentSource);
1713 GLint location = glGetUniformLocation(program, "color");
1714 GLfloat param;
1715 glGetnUniformfv(program, location, sizeof(GLfloat), ¶m);
1716 GLenum glError = glGetError();
1717 deleteProgram();
1718 glDeleteProgram(program);
1719 destroyGLES();
1720 return getError(env, glError);
1721 }
GLGetnUniformiv(napi_env env,napi_callback_info info)1722 static napi_value GLGetnUniformiv(napi_env env, napi_callback_info info)
1723 {
1724 initGLES();
1725 GLuint program = initProgram(vertexSource, fragmentSource);
1726 GLint location = glGetUniformLocation(program, "color");
1727 GLint param;
1728 glGetnUniformiv(program, location, sizeof(GLint), ¶m);
1729 GLenum glError = glGetError();
1730 deleteProgram();
1731 glDeleteProgram(program);
1732 destroyGLES();
1733 return getError(env, glError);
1734 }
GLGetnUniformuiv(napi_env env,napi_callback_info info)1735 static napi_value GLGetnUniformuiv(napi_env env, napi_callback_info info)
1736 {
1737 initGLES();
1738 GLuint program = initProgram(vertexSource, fragmentSource);
1739 GLint location = glGetUniformLocation(program, "color");
1740 GLuint param;
1741 glGetnUniformuiv(program, location, sizeof(GLuint), ¶m);
1742 GLenum glError = glGetError();
1743 deleteProgram();
1744 glDeleteProgram(program);
1745 destroyGLES();
1746 return getError(env, glError);
1747 }
1748
GLActiveShaderProgramAbnormal(napi_env env,napi_callback_info info)1749 static napi_value GLActiveShaderProgramAbnormal(napi_env env, napi_callback_info info)
1750 {
1751 (void)info;
1752 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1753 initGLES(&eglWindow);
1754 glActiveShaderProgram(GL_ZERO, GL_ZERO);
1755 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glActiveShaderProgram error");
1756 destroyGLES(&eglWindow);
1757 napi_value result = nullptr;
1758 napi_create_int32(env, FAILED, &result);
1759 return result;
1760 }
1761
GLActiveTextureAbnormal(napi_env env,napi_callback_info info)1762 static napi_value GLActiveTextureAbnormal(napi_env env, napi_callback_info info)
1763 {
1764 (void)info;
1765 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1766 initGLES(&eglWindow);
1767 glActiveTexture(GL_ZERO);
1768 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glActiveTexture error");
1769 destroyGLES(&eglWindow);
1770 napi_value result = nullptr;
1771 napi_create_int32(env, FAILED, &result);
1772 return result;
1773 }
1774
GLAttachShaderAbnormal(napi_env env,napi_callback_info info)1775 static napi_value GLAttachShaderAbnormal(napi_env env, napi_callback_info info)
1776 {
1777 (void)info;
1778 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1779 initGLES(&eglWindow);
1780 glAttachShader(GL_ZERO, GL_ZERO);
1781 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glAttachShader error");
1782 destroyGLES(&eglWindow);
1783 napi_value result = nullptr;
1784 napi_create_int32(env, FAILED, &result);
1785 return result;
1786 }
1787
GLBeginQueryAbnormal(napi_env env,napi_callback_info info)1788 static napi_value GLBeginQueryAbnormal(napi_env env, napi_callback_info info)
1789 {
1790 (void)info;
1791 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1792 initGLES(&eglWindow);
1793 glBeginQuery(GL_ZERO, GL_ZERO);
1794 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBeginQuery error");
1795 destroyGLES(&eglWindow);
1796 napi_value result = nullptr;
1797 napi_create_int32(env, FAILED, &result);
1798 return result;
1799 }
1800
GLBeginTransformFeedbackAbnormal(napi_env env,napi_callback_info info)1801 static napi_value GLBeginTransformFeedbackAbnormal(napi_env env, napi_callback_info info)
1802 {
1803 (void)info;
1804 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1805 initGLES(&eglWindow);
1806 glBeginTransformFeedback(GL_ZERO);
1807 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBeginTransformFeedback error");
1808 destroyGLES(&eglWindow);
1809 napi_value result = nullptr;
1810 napi_create_int32(env, FAILED, &result);
1811 return result;
1812 }
1813
GLBindAttribLocationAbnormal(napi_env env,napi_callback_info info)1814 static napi_value GLBindAttribLocationAbnormal(napi_env env, napi_callback_info info)
1815 {
1816 (void)info;
1817 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1818 initGLES(&eglWindow);
1819 glBindAttribLocation(GL_ZERO, GL_ZERO, nullptr);
1820 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindAttribLocation error");
1821 destroyGLES(&eglWindow);
1822 napi_value result = nullptr;
1823 napi_create_int32(env, FAILED, &result);
1824 return result;
1825 }
1826
GLBindBufferAbnormal(napi_env env,napi_callback_info info)1827 static napi_value GLBindBufferAbnormal(napi_env env, napi_callback_info info)
1828 {
1829 (void)info;
1830 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1831 initGLES(&eglWindow);
1832 glBindBuffer(GL_ZERO, GL_ZERO);
1833 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindBuffer error");
1834 destroyGLES(&eglWindow);
1835 napi_value result = nullptr;
1836 napi_create_int32(env, FAILED, &result);
1837 return result;
1838 }
1839
GLBindBufferBaseAbnormal(napi_env env,napi_callback_info info)1840 static napi_value GLBindBufferBaseAbnormal(napi_env env, napi_callback_info info)
1841 {
1842 (void)info;
1843 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1844 initGLES(&eglWindow);
1845 glBindBufferBase(GL_ZERO, GL_ZERO, GL_ZERO);
1846 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindBufferBase error");
1847 destroyGLES(&eglWindow);
1848 napi_value result = nullptr;
1849 napi_create_int32(env, FAILED, &result);
1850 return result;
1851 }
1852
GLBindBufferRangeAbnormal(napi_env env,napi_callback_info info)1853 static napi_value GLBindBufferRangeAbnormal(napi_env env, napi_callback_info info)
1854 {
1855 (void)info;
1856 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1857 initGLES(&eglWindow);
1858 glBindBufferRange(GL_ZERO, GL_ZERO, GL_ZERO, GL_ONE, GL_ZERO);
1859 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindBufferRange error");
1860 destroyGLES(&eglWindow);
1861 napi_value result = nullptr;
1862 napi_create_int32(env, FAILED, &result);
1863 return result;
1864 }
1865
GLBindFramebufferAbnormal(napi_env env,napi_callback_info info)1866 static napi_value GLBindFramebufferAbnormal(napi_env env, napi_callback_info info)
1867 {
1868 (void)info;
1869 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1870 initGLES(&eglWindow);
1871 glBindFramebuffer(GL_ZERO, GL_ZERO);
1872 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindFramebuffer error");
1873 destroyGLES(&eglWindow);
1874 napi_value result = nullptr;
1875 napi_create_int32(env, FAILED, &result);
1876 return result;
1877 }
1878
GLBindImageTextureAbnormal(napi_env env,napi_callback_info info)1879 static napi_value GLBindImageTextureAbnormal(napi_env env, napi_callback_info info)
1880 {
1881 (void)info;
1882 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1883 initGLES(&eglWindow);
1884 glBindImageTexture(GL_ZERO, GL_ZERO, FAILED, GL_FALSE, GL_ZERO, GL_READ_ONLY, GL_RGBA8);
1885 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindImageTexture error");
1886 destroyGLES(&eglWindow);
1887 napi_value result = nullptr;
1888 napi_create_int32(env, FAILED, &result);
1889 return result;
1890 }
1891
GLBindProgramPipelineAbnormal(napi_env env,napi_callback_info info)1892 static napi_value GLBindProgramPipelineAbnormal(napi_env env, napi_callback_info info)
1893 {
1894 (void)info;
1895 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1896 initGLES(&eglWindow);
1897 glBindProgramPipeline(GL_MAX_TEST_NUM);
1898 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindProgramPipeline error");
1899 destroyGLES(&eglWindow);
1900 napi_value result = nullptr;
1901 napi_create_int32(env, FAILED, &result);
1902 return result;
1903 }
1904
GLBindRenderbufferAbnormal(napi_env env,napi_callback_info info)1905 static napi_value GLBindRenderbufferAbnormal(napi_env env, napi_callback_info info)
1906 {
1907 (void)info;
1908 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1909 initGLES(&eglWindow);
1910 glBindRenderbuffer(GL_ZERO, GL_ZERO);
1911 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindRenderbuffer error");
1912 destroyGLES(&eglWindow);
1913 napi_value result = nullptr;
1914 napi_create_int32(env, FAILED, &result);
1915 return result;
1916 }
1917
GLBindSamplerAbnormal(napi_env env,napi_callback_info info)1918 static napi_value GLBindSamplerAbnormal(napi_env env, napi_callback_info info)
1919 {
1920 (void)info;
1921 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1922 initGLES(&eglWindow);
1923 glBindSampler(GL_MAX_TEST_NUM, GL_ZERO);
1924 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindSampler error");
1925 destroyGLES(&eglWindow);
1926 napi_value result = nullptr;
1927 napi_create_int32(env, FAILED, &result);
1928 return result;
1929 }
1930
GLBindTextureAbnormal(napi_env env,napi_callback_info info)1931 static napi_value GLBindTextureAbnormal(napi_env env, napi_callback_info info)
1932 {
1933 (void)info;
1934 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1935 initGLES(&eglWindow);
1936 glBindTexture(GL_ZERO, GL_ZERO);
1937 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindTexture error");
1938 destroyGLES(&eglWindow);
1939 napi_value result = nullptr;
1940 napi_create_int32(env, FAILED, &result);
1941 return result;
1942 }
1943
GLBindTransformFeedbackAbnormal(napi_env env,napi_callback_info info)1944 static napi_value GLBindTransformFeedbackAbnormal(napi_env env, napi_callback_info info)
1945 {
1946 (void)info;
1947 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1948 initGLES(&eglWindow);
1949 glBindTransformFeedback(GL_ZERO, GL_ZERO);
1950 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindTransformFeedback error");
1951 destroyGLES(&eglWindow);
1952 napi_value result = nullptr;
1953 napi_create_int32(env, FAILED, &result);
1954 return result;
1955 }
1956
GLBindVertexArrayAbnormal(napi_env env,napi_callback_info info)1957 static napi_value GLBindVertexArrayAbnormal(napi_env env, napi_callback_info info)
1958 {
1959 (void)info;
1960 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1961 initGLES(&eglWindow);
1962 glBindVertexArray(GL_MAX_TEST_NUM);
1963 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindVertexArray error");
1964 destroyGLES(&eglWindow);
1965 napi_value result = nullptr;
1966 napi_create_int32(env, FAILED, &result);
1967 return result;
1968 }
1969
GLBindVertexBufferAbnormal(napi_env env,napi_callback_info info)1970 static napi_value GLBindVertexBufferAbnormal(napi_env env, napi_callback_info info)
1971 {
1972 (void)info;
1973 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1974 initGLES(&eglWindow);
1975 glBindVertexBuffer(GL_MAX_VERTEX_ATTRIB_BINDINGS, GL_ZERO, FAILED, FAILED);
1976 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBindVertexBuffer error");
1977 destroyGLES(&eglWindow);
1978 napi_value result = nullptr;
1979 napi_create_int32(env, FAILED, &result);
1980 return result;
1981 }
1982
GLBlendEquationAbnormal(napi_env env,napi_callback_info info)1983 static napi_value GLBlendEquationAbnormal(napi_env env, napi_callback_info info)
1984 {
1985 (void)info;
1986 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
1987 initGLES(&eglWindow);
1988 glBlendEquation(GL_ZERO);
1989 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBlendEquation error");
1990 destroyGLES(&eglWindow);
1991 napi_value result = nullptr;
1992 napi_create_int32(env, FAILED, &result);
1993 return result;
1994 }
1995
GLBlendEquationiAbnormal(napi_env env,napi_callback_info info)1996 static napi_value GLBlendEquationiAbnormal(napi_env env, napi_callback_info info)
1997 {
1998 (void)info;
1999 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2000 initGLES(&eglWindow);
2001 glBlendEquationi(GL_ZERO, GL_ZERO);
2002 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBlendEquationi error");
2003 destroyGLES(&eglWindow);
2004 napi_value result = nullptr;
2005 napi_create_int32(env, FAILED, &result);
2006 return result;
2007 }
2008
GLBlendEquationSeparateAbnormal(napi_env env,napi_callback_info info)2009 static napi_value GLBlendEquationSeparateAbnormal(napi_env env, napi_callback_info info)
2010 {
2011 (void)info;
2012 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2013 initGLES(&eglWindow);
2014 glBlendEquationSeparate(GL_ZERO, GL_ZERO);
2015 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBlendEquationSeparate error");
2016 destroyGLES(&eglWindow);
2017 napi_value result = nullptr;
2018 napi_create_int32(env, FAILED, &result);
2019 return result;
2020 }
2021
GLBlendEquationSeparateiAbnormal(napi_env env,napi_callback_info info)2022 static napi_value GLBlendEquationSeparateiAbnormal(napi_env env, napi_callback_info info)
2023 {
2024 (void)info;
2025 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2026 initGLES(&eglWindow);
2027 glBlendEquationSeparatei(GL_ZERO, GL_ZERO, GL_ZERO);
2028 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBlendEquationSeparatei error");
2029 destroyGLES(&eglWindow);
2030 napi_value result = nullptr;
2031 napi_create_int32(env, FAILED, &result);
2032 return result;
2033 }
2034
GLBlendFuncAbnormal(napi_env env,napi_callback_info info)2035 static napi_value GLBlendFuncAbnormal(napi_env env, napi_callback_info info)
2036 {
2037 (void)info;
2038 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2039 initGLES(&eglWindow);
2040 glBlendFunc(GL_MAX_TEST_NUM, GL_MAX_TEST_NUM);
2041 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBlendFunc error");
2042 destroyGLES(&eglWindow);
2043 napi_value result = nullptr;
2044 napi_create_int32(env, FAILED, &result);
2045 return result;
2046 }
2047
GLBlendFunciAbnormal(napi_env env,napi_callback_info info)2048 static napi_value GLBlendFunciAbnormal(napi_env env, napi_callback_info info)
2049 {
2050 (void)info;
2051 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2052 initGLES(&eglWindow);
2053 glBlendFunci(GL_MAX_DRAW_BUFFERS, GL_MAX_TEST_NUM, GL_MAX_TEST_NUM);
2054 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBlendFunci error");
2055 destroyGLES(&eglWindow);
2056 napi_value result = nullptr;
2057 napi_create_int32(env, FAILED, &result);
2058 return result;
2059 }
2060
GLBlendFuncSeparateAbnormal(napi_env env,napi_callback_info info)2061 static napi_value GLBlendFuncSeparateAbnormal(napi_env env, napi_callback_info info)
2062 {
2063 (void)info;
2064 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2065 initGLES(&eglWindow);
2066 glBlendFuncSeparate(GL_CULL_FACE, GL_CULL_FACE, GL_CULL_FACE, GL_CULL_FACE);
2067 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBlendFuncSeparate error");
2068 destroyGLES(&eglWindow);
2069 napi_value result = nullptr;
2070 napi_create_int32(env, FAILED, &result);
2071 return result;
2072 }
2073
GLBlendFuncSeparateiAbnormal(napi_env env,napi_callback_info info)2074 static napi_value GLBlendFuncSeparateiAbnormal(napi_env env, napi_callback_info info)
2075 {
2076 (void)info;
2077 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2078 initGLES(&eglWindow);
2079 glBlendFuncSeparatei(GL_MAX_DRAW_BUFFERS, GL_CULL_FACE, GL_CULL_FACE, GL_CULL_FACE, GL_CULL_FACE);
2080 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBlendFuncSeparatei error");
2081 destroyGLES(&eglWindow);
2082 napi_value result = nullptr;
2083 napi_create_int32(env, FAILED, &result);
2084 return result;
2085 }
2086
GLBlitFramebufferAbnormal(napi_env env,napi_callback_info info)2087 static napi_value GLBlitFramebufferAbnormal(napi_env env, napi_callback_info info)
2088 {
2089 (void)info;
2090 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2091 initGLES(&eglWindow);
2092 glBlitFramebuffer(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO);
2093 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBlitFramebuffer error");
2094 destroyGLES(&eglWindow);
2095 napi_value result = nullptr;
2096 napi_create_int32(env, FAILED, &result);
2097 return result;
2098 }
2099
GLBufferDataAbnormal(napi_env env,napi_callback_info info)2100 static napi_value GLBufferDataAbnormal(napi_env env, napi_callback_info info)
2101 {
2102 (void)info;
2103 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2104 initGLES(&eglWindow);
2105 glBufferData(GL_ARRAY_BUFFER, FAILED, nullptr, GL_STREAM_DRAW);
2106 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBufferData error");
2107 destroyGLES(&eglWindow);
2108 napi_value result = nullptr;
2109 napi_create_int32(env, FAILED, &result);
2110 return result;
2111 }
2112
GLBufferSubDataAbnormal(napi_env env,napi_callback_info info)2113 static napi_value GLBufferSubDataAbnormal(napi_env env, napi_callback_info info)
2114 {
2115 (void)info;
2116 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2117 initGLES(&eglWindow);
2118 glBufferSubData(GL_ZERO, FAILED, FAILED, nullptr);
2119 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glBufferSubData error");
2120 destroyGLES(&eglWindow);
2121 napi_value result = nullptr;
2122 napi_create_int32(env, FAILED, &result);
2123 return result;
2124 }
2125
GLCheckFramebufferStatusAbnormal(napi_env env,napi_callback_info info)2126 static napi_value GLCheckFramebufferStatusAbnormal(napi_env env, napi_callback_info info)
2127 {
2128 (void)info;
2129 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2130 initGLES(&eglWindow);
2131 glCheckFramebufferStatus(GL_ZERO);
2132 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCheckFramebufferStatus error");
2133 destroyGLES(&eglWindow);
2134 napi_value result = nullptr;
2135 napi_create_int32(env, FAILED, &result);
2136 return result;
2137 }
2138
GLClearAbnormal(napi_env env,napi_callback_info info)2139 static napi_value GLClearAbnormal(napi_env env, napi_callback_info info)
2140 {
2141 (void)info;
2142 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2143 initGLES(&eglWindow);
2144 glClear(GL_COLOR_BUFFER_BIT | GL_ONE);
2145 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glClear error");
2146 destroyGLES(&eglWindow);
2147 napi_value result = nullptr;
2148 napi_create_int32(env, FAILED, &result);
2149 return result;
2150 }
2151
GLClearBufferfiAbnormal(napi_env env,napi_callback_info info)2152 static napi_value GLClearBufferfiAbnormal(napi_env env, napi_callback_info info)
2153 {
2154 (void)info;
2155 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2156 initGLES(&eglWindow);
2157 glClearBufferfi(GL_ZERO, GL_ZERO, CLEAR_00, GL_ZERO);
2158 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glClearBufferfi error");
2159 destroyGLES(&eglWindow);
2160 napi_value result = nullptr;
2161 napi_create_int32(env, FAILED, &result);
2162 return result;
2163 }
2164
GLClearBufferfvAbnormal(napi_env env,napi_callback_info info)2165 static napi_value GLClearBufferfvAbnormal(napi_env env, napi_callback_info info)
2166 {
2167 (void)info;
2168 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2169 initGLES(&eglWindow);
2170 glClearBufferfv(GL_ZERO, GL_ZERO, nullptr);
2171 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "GlClearBufferfvAbnormal error");
2172 destroyGLES(&eglWindow);
2173 napi_value result = nullptr;
2174 napi_create_int32(env, FAILED, &result);
2175 return result;
2176 }
2177
GLClearBufferivAbnormal(napi_env env,napi_callback_info info)2178 static napi_value GLClearBufferivAbnormal(napi_env env, napi_callback_info info)
2179 {
2180 (void)info;
2181 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2182 initGLES(&eglWindow);
2183 glClearBufferiv(GL_ZERO, GL_ZERO, nullptr);
2184 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glClearBufferiv error");
2185 destroyGLES(&eglWindow);
2186 napi_value result = nullptr;
2187 napi_create_int32(env, FAILED, &result);
2188 return result;
2189 }
2190
GLClearBufferuivAbnormal(napi_env env,napi_callback_info info)2191 static napi_value GLClearBufferuivAbnormal(napi_env env, napi_callback_info info)
2192 {
2193 (void)info;
2194 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2195 initGLES(&eglWindow);
2196 glClearBufferuiv(GL_ZERO, GL_ZERO, nullptr);
2197 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glClearBufferuiv error");
2198 destroyGLES(&eglWindow);
2199 napi_value result = nullptr;
2200 napi_create_int32(env, FAILED, &result);
2201 return result;
2202 }
2203
GLClientWaitSyncAbnormal(napi_env env,napi_callback_info info)2204 static napi_value GLClientWaitSyncAbnormal(napi_env env, napi_callback_info info)
2205 {
2206 (void)info;
2207 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2208 initGLES(&eglWindow);
2209 glClientWaitSync(reinterpret_cast<GLsync>(GL_MAX_TEST_NUM), GL_SYNC_FLUSH_COMMANDS_BIT, GL_ZERO);
2210 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glClientWaitSync error");
2211 destroyGLES(&eglWindow);
2212 napi_value result = nullptr;
2213 napi_create_int32(env, FAILED, &result);
2214 return result;
2215 }
2216
GLColorMaskiAbnormal(napi_env env,napi_callback_info info)2217 static napi_value GLColorMaskiAbnormal(napi_env env, napi_callback_info info)
2218 {
2219 (void)info;
2220 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2221 initGLES(&eglWindow);
2222 glColorMaski(GL_MAX_DRAW_BUFFERS, GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
2223 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glColorMaski error");
2224 destroyGLES(&eglWindow);
2225 napi_value result = nullptr;
2226 napi_create_int32(env, FAILED, &result);
2227 return result;
2228 }
2229
GLCopyBufferSubDataAbnormal(napi_env env,napi_callback_info info)2230 static napi_value GLCopyBufferSubDataAbnormal(napi_env env, napi_callback_info info)
2231 {
2232 (void)info;
2233 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2234 initGLES(&eglWindow);
2235 glCopyBufferSubData(GL_ZERO, GL_ZERO, FAILED, FAILED, FAILED);
2236 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCopyBufferSubData error");
2237 destroyGLES(&eglWindow);
2238 napi_value result = nullptr;
2239 napi_create_int32(env, FAILED, &result);
2240 return result;
2241 }
2242
GLCopyImageSubDataAbnormal(napi_env env,napi_callback_info info)2243 static napi_value GLCopyImageSubDataAbnormal(napi_env env, napi_callback_info info)
2244 {
2245 (void)info;
2246 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2247 initGLES(&eglWindow);
2248 glCopyImageSubData(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO,
2249 GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO);
2250 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCopyImageSubData error");
2251 destroyGLES(&eglWindow);
2252 napi_value result = nullptr;
2253 napi_create_int32(env, FAILED, &result);
2254 return result;
2255 }
2256
GLCopyTexImage2DAbnormal(napi_env env,napi_callback_info info)2257 static napi_value GLCopyTexImage2DAbnormal(napi_env env, napi_callback_info info)
2258 {
2259 (void)info;
2260 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2261 initGLES(&eglWindow);
2262 glCopyTexImage2D(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO);
2263 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCopyTexImage2D error");
2264 destroyGLES(&eglWindow);
2265 napi_value result = nullptr;
2266 napi_create_int32(env, FAILED, &result);
2267 return result;
2268 }
2269
GLCopyTexSubImage2DAbnormal(napi_env env,napi_callback_info info)2270 static napi_value GLCopyTexSubImage2DAbnormal(napi_env env, napi_callback_info info)
2271 {
2272 (void)info;
2273 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2274 initGLES(&eglWindow);
2275 glCopyTexSubImage2D(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO);
2276 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCopyTexSubImage2D error");
2277 destroyGLES(&eglWindow);
2278 napi_value result = nullptr;
2279 napi_create_int32(env, FAILED, &result);
2280 return result;
2281 }
2282
GLCreateShaderAbnormal(napi_env env,napi_callback_info info)2283 static napi_value GLCreateShaderAbnormal(napi_env env, napi_callback_info info)
2284 {
2285 (void)info;
2286 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2287 initGLES(&eglWindow);
2288 glCreateShader(GL_ZERO);
2289 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCreateShader error");
2290 destroyGLES(&eglWindow);
2291 napi_value result = nullptr;
2292 napi_create_int32(env, FAILED, &result);
2293 return result;
2294 }
2295
GLCreateShaderProgramvAbnormal(napi_env env,napi_callback_info info)2296 static napi_value GLCreateShaderProgramvAbnormal(napi_env env, napi_callback_info info)
2297 {
2298 (void)info;
2299 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2300 initGLES(&eglWindow);
2301 glCreateShaderProgramv(GL_ZERO, FAILED, nullptr);
2302 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCreateShaderProgramv error");
2303 destroyGLES(&eglWindow);
2304 napi_value result = nullptr;
2305 napi_create_int32(env, FAILED, &result);
2306 return result;
2307 }
2308
GLCullFaceAbnormal(napi_env env,napi_callback_info info)2309 static napi_value GLCullFaceAbnormal(napi_env env, napi_callback_info info)
2310 {
2311 (void)info;
2312 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2313 initGLES(&eglWindow);
2314 glCullFace(GL_ZERO);
2315 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCullFace error");
2316 destroyGLES(&eglWindow);
2317 napi_value result = nullptr;
2318 napi_create_int32(env, FAILED, &result);
2319 return result;
2320 }
2321
GLDebugMessageControlAbnormal(napi_env env,napi_callback_info info)2322 static napi_value GLDebugMessageControlAbnormal(napi_env env, napi_callback_info info)
2323 {
2324 (void)info;
2325 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2326 initGLES(&eglWindow);
2327 glDebugMessageControl(GL_ZERO, GL_ZERO, GL_ZERO, FAILED, nullptr, GL_TRUE);
2328 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDebugMessageControl error");
2329 destroyGLES(&eglWindow);
2330 napi_value result = nullptr;
2331 napi_create_int32(env, FAILED, &result);
2332 return result;
2333 }
2334
GLDeleteBuffersAbnormal(napi_env env,napi_callback_info info)2335 static napi_value GLDeleteBuffersAbnormal(napi_env env, napi_callback_info info)
2336 {
2337 (void)info;
2338 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2339 initGLES(&eglWindow);
2340 glDeleteBuffers(FAILED, nullptr);
2341 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteBuffers error");
2342 destroyGLES(&eglWindow);
2343 napi_value result = nullptr;
2344 napi_create_int32(env, FAILED, &result);
2345 return result;
2346 }
2347
GLDeleteFramebuffersAbnormal(napi_env env,napi_callback_info info)2348 static napi_value GLDeleteFramebuffersAbnormal(napi_env env, napi_callback_info info)
2349 {
2350 (void)info;
2351 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2352 initGLES(&eglWindow);
2353 glDeleteFramebuffers(FAILED, nullptr);
2354 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteFramebuffers error");
2355 destroyGLES(&eglWindow);
2356 napi_value result = nullptr;
2357 napi_create_int32(env, FAILED, &result);
2358 return result;
2359 }
2360
GLDeleteProgramAbnormal(napi_env env,napi_callback_info info)2361 static napi_value GLDeleteProgramAbnormal(napi_env env, napi_callback_info info)
2362 {
2363 (void)info;
2364 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2365 initGLES(&eglWindow);
2366 glDeleteProgram(GL_MAX_TEST_NUM);
2367 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteProgram error");
2368 destroyGLES(&eglWindow);
2369 napi_value result = nullptr;
2370 napi_create_int32(env, FAILED, &result);
2371 return result;
2372 }
2373
GLDeleteProgramPipelinesAbnormal(napi_env env,napi_callback_info info)2374 static napi_value GLDeleteProgramPipelinesAbnormal(napi_env env, napi_callback_info info)
2375 {
2376 (void)info;
2377 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2378 initGLES(&eglWindow);
2379 glDeleteProgramPipelines(FAILED, nullptr);
2380 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteProgramPipelines error");
2381 destroyGLES(&eglWindow);
2382 napi_value result = nullptr;
2383 napi_create_int32(env, FAILED, &result);
2384 return result;
2385 }
2386
GLDeleteQueriesAbnormal(napi_env env,napi_callback_info info)2387 static napi_value GLDeleteQueriesAbnormal(napi_env env, napi_callback_info info)
2388 {
2389 (void)info;
2390 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2391 initGLES(&eglWindow);
2392 glDeleteQueries(FAILED, nullptr);
2393 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteQueries error");
2394 destroyGLES(&eglWindow);
2395 napi_value result = nullptr;
2396 napi_create_int32(env, FAILED, &result);
2397 return result;
2398 }
2399
GLDeleteRenderbuffersAbnormal(napi_env env,napi_callback_info info)2400 static napi_value GLDeleteRenderbuffersAbnormal(napi_env env, napi_callback_info info)
2401 {
2402 (void)info;
2403 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2404 initGLES(&eglWindow);
2405 glDeleteRenderbuffers(FAILED, nullptr);
2406 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteRenderbuffers error");
2407 destroyGLES(&eglWindow);
2408 napi_value result = nullptr;
2409 napi_create_int32(env, FAILED, &result);
2410 return result;
2411 }
2412
GLDeleteSamplersAbnormal(napi_env env,napi_callback_info info)2413 static napi_value GLDeleteSamplersAbnormal(napi_env env, napi_callback_info info)
2414 {
2415 (void)info;
2416 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2417 initGLES(&eglWindow);
2418 glDeleteSamplers(FAILED, nullptr);
2419 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteSamplers error");
2420 destroyGLES(&eglWindow);
2421 napi_value result = nullptr;
2422 napi_create_int32(env, FAILED, &result);
2423 return result;
2424 }
2425
GLDeleteShaderAbnormal(napi_env env,napi_callback_info info)2426 static napi_value GLDeleteShaderAbnormal(napi_env env, napi_callback_info info)
2427 {
2428 (void)info;
2429 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2430 initGLES(&eglWindow);
2431 glDeleteShader(GL_MAX_TEST_NUM);
2432 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteShader error");
2433 destroyGLES(&eglWindow);
2434 napi_value result = nullptr;
2435 napi_create_int32(env, FAILED, &result);
2436 return result;
2437 }
2438
GLDeleteSyncAbnormal(napi_env env,napi_callback_info info)2439 static napi_value GLDeleteSyncAbnormal(napi_env env, napi_callback_info info)
2440 {
2441 (void)info;
2442 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2443 initGLES(&eglWindow);
2444 glDeleteSync(reinterpret_cast<GLsync>(GL_MAX_TEST_NUM));
2445 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteSync error");
2446 destroyGLES(&eglWindow);
2447 napi_value result = nullptr;
2448 napi_create_int32(env, FAILED, &result);
2449 return result;
2450 }
2451
GLDeleteTexturesAbnormal(napi_env env,napi_callback_info info)2452 static napi_value GLDeleteTexturesAbnormal(napi_env env, napi_callback_info info)
2453 {
2454 (void)info;
2455 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2456 initGLES(&eglWindow);
2457 glDeleteTextures(FAILED, nullptr);
2458 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteTextures error");
2459 destroyGLES(&eglWindow);
2460 napi_value result = nullptr;
2461 napi_create_int32(env, FAILED, &result);
2462 return result;
2463 }
2464
GLDeleteTransformFeedbacksAbnormal(napi_env env,napi_callback_info info)2465 static napi_value GLDeleteTransformFeedbacksAbnormal(napi_env env, napi_callback_info info)
2466 {
2467 (void)info;
2468 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2469 initGLES(&eglWindow);
2470 glDeleteTransformFeedbacks(FAILED, nullptr);
2471 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteTransformFeedbacks error");
2472 destroyGLES(&eglWindow);
2473 napi_value result = nullptr;
2474 napi_create_int32(env, FAILED, &result);
2475 return result;
2476 }
2477
GLDeleteVertexArraysAbnormal(napi_env env,napi_callback_info info)2478 static napi_value GLDeleteVertexArraysAbnormal(napi_env env, napi_callback_info info)
2479 {
2480 (void)info;
2481 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2482 initGLES(&eglWindow);
2483 glDeleteVertexArrays(FAILED, nullptr);
2484 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDeleteVertexArrays error");
2485 destroyGLES(&eglWindow);
2486 napi_value result = nullptr;
2487 napi_create_int32(env, FAILED, &result);
2488 return result;
2489 }
2490
GLDepthFuncAbnormal(napi_env env,napi_callback_info info)2491 static napi_value GLDepthFuncAbnormal(napi_env env, napi_callback_info info)
2492 {
2493 (void)info;
2494 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2495 initGLES(&eglWindow);
2496 glDepthFunc(GL_ZERO);
2497 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDepthFunc error");
2498 destroyGLES(&eglWindow);
2499 napi_value result = nullptr;
2500 napi_create_int32(env, FAILED, &result);
2501 return result;
2502 }
2503
GLDetachShaderAbnormal(napi_env env,napi_callback_info info)2504 static napi_value GLDetachShaderAbnormal(napi_env env, napi_callback_info info)
2505 {
2506 (void)info;
2507 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2508 initGLES(&eglWindow);
2509 glDetachShader(GL_MAX_TEST_NUM, GL_MAX_TEST_NUM);
2510 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDetachShader error");
2511 destroyGLES(&eglWindow);
2512 napi_value result = nullptr;
2513 napi_create_int32(env, FAILED, &result);
2514 return result;
2515 }
2516
GLDisableAbnormal(napi_env env,napi_callback_info info)2517 static napi_value GLDisableAbnormal(napi_env env, napi_callback_info info)
2518 {
2519 (void)info;
2520 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2521 initGLES(&eglWindow);
2522 glDisable(GL_ZERO);
2523 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDisable error");
2524 destroyGLES(&eglWindow);
2525 napi_value result = nullptr;
2526 napi_create_int32(env, FAILED, &result);
2527 return result;
2528 }
2529
GLDisableiAbnormal(napi_env env,napi_callback_info info)2530 static napi_value GLDisableiAbnormal(napi_env env, napi_callback_info info)
2531 {
2532 (void)info;
2533 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2534 initGLES(&eglWindow);
2535 glDisablei(GL_ZERO, GL_ZERO);
2536 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDisablei error");
2537 destroyGLES(&eglWindow);
2538 napi_value result = nullptr;
2539 napi_create_int32(env, FAILED, &result);
2540 return result;
2541 }
2542
GLDisableVertexAttribArrayAbnormal(napi_env env,napi_callback_info info)2543 static napi_value GLDisableVertexAttribArrayAbnormal(napi_env env, napi_callback_info info)
2544 {
2545 (void)info;
2546 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2547 initGLES(&eglWindow);
2548 glDisableVertexAttribArray(GL_MAX_VERTEX_ATTRIBS);
2549 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDisableVertexAttribArray error");
2550 destroyGLES(&eglWindow);
2551 napi_value result = nullptr;
2552 napi_create_int32(env, FAILED, &result);
2553 return result;
2554 }
2555
GLDispatchComputeAbnormal(napi_env env,napi_callback_info info)2556 static napi_value GLDispatchComputeAbnormal(napi_env env, napi_callback_info info)
2557 {
2558 (void)info;
2559 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2560 initGLES(&eglWindow);
2561 glDispatchCompute(GL_MAX_TEST_NUM, GL_MAX_TEST_NUM, GL_MAX_TEST_NUM);
2562 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDispatchCompute error");
2563 destroyGLES(&eglWindow);
2564 napi_value result = nullptr;
2565 napi_create_int32(env, FAILED, &result);
2566 return result;
2567 }
2568
GLDispatchComputeIndirectAbnormal(napi_env env,napi_callback_info info)2569 static napi_value GLDispatchComputeIndirectAbnormal(napi_env env, napi_callback_info info)
2570 {
2571 (void)info;
2572 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2573 initGLES(&eglWindow);
2574 glDispatchComputeIndirect(FAILED);
2575 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDispatchComputeIndirect error");
2576 destroyGLES(&eglWindow);
2577 napi_value result = nullptr;
2578 napi_create_int32(env, FAILED, &result);
2579 return result;
2580 }
2581
GLDrawArraysAbnormal(napi_env env,napi_callback_info info)2582 static napi_value GLDrawArraysAbnormal(napi_env env, napi_callback_info info)
2583 {
2584 (void)info;
2585 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2586 initGLES(&eglWindow);
2587 glDrawArrays(GL_POINTS, GL_ZERO, FAILED);
2588 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDrawArrays error");
2589 destroyGLES(&eglWindow);
2590 napi_value result = nullptr;
2591 napi_create_int32(env, FAILED, &result);
2592 return result;
2593 }
2594
GLDrawArraysIndirectAbnormal(napi_env env,napi_callback_info info)2595 static napi_value GLDrawArraysIndirectAbnormal(napi_env env, napi_callback_info info)
2596 {
2597 (void)info;
2598 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2599 initGLES(&eglWindow);
2600 glDrawArraysIndirect(GL_ZERO, nullptr);
2601 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDrawArraysIndirect error");
2602 destroyGLES(&eglWindow);
2603 napi_value result = nullptr;
2604 napi_create_int32(env, FAILED, &result);
2605 return result;
2606 }
2607
GLDrawArraysInstancedAbnormal(napi_env env,napi_callback_info info)2608 static napi_value GLDrawArraysInstancedAbnormal(napi_env env, napi_callback_info info)
2609 {
2610 (void)info;
2611 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2612 initGLES(&eglWindow);
2613 glDrawArraysInstanced(GL_POINTS, GL_ZERO, FAILED, FAILED);
2614 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDrawArraysInstanced error");
2615 destroyGLES(&eglWindow);
2616 napi_value result = nullptr;
2617 napi_create_int32(env, FAILED, &result);
2618 return result;
2619 }
2620
GLDrawBuffersAbnormal(napi_env env,napi_callback_info info)2621 static napi_value GLDrawBuffersAbnormal(napi_env env, napi_callback_info info)
2622 {
2623 (void)info;
2624 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2625 initGLES(&eglWindow);
2626 glDrawBuffers(FAILED, nullptr);
2627 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDrawBuffers error");
2628 destroyGLES(&eglWindow);
2629 napi_value result = nullptr;
2630 napi_create_int32(env, FAILED, &result);
2631 return result;
2632 }
2633
GLFlushMappedBufferRangeAbnormal(napi_env env,napi_callback_info info)2634 static napi_value GLFlushMappedBufferRangeAbnormal(napi_env env, napi_callback_info info)
2635 {
2636 (void)info;
2637 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2638 initGLES(&eglWindow);
2639 glFlushMappedBufferRange(GL_ARRAY_BUFFER, FAILED, FAILED);
2640 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glFlushMappedBufferRange error");
2641 destroyGLES(&eglWindow);
2642 napi_value result = nullptr;
2643 napi_create_int32(env, FAILED, &result);
2644 return result;
2645 }
2646
GLFramebufferParameteriAbnormal(napi_env env,napi_callback_info info)2647 static napi_value GLFramebufferParameteriAbnormal(napi_env env, napi_callback_info info)
2648 {
2649 (void)info;
2650 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2651 initGLES(&eglWindow);
2652 glFramebufferParameteri(GL_ZERO, GL_FRAMEBUFFER_DEFAULT_WIDTH, GL_ZERO);
2653 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glFramebufferParameteri error");
2654 destroyGLES(&eglWindow);
2655 napi_value result = nullptr;
2656 napi_create_int32(env, FAILED, &result);
2657 return result;
2658 }
2659
GLFramebufferRenderbufferAbnormal(napi_env env,napi_callback_info info)2660 static napi_value GLFramebufferRenderbufferAbnormal(napi_env env, napi_callback_info info)
2661 {
2662 (void)info;
2663 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2664 initGLES(&eglWindow);
2665 glFramebufferRenderbuffer(GL_ZERO, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, GL_ZERO);
2666 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glFramebufferRenderbuffer error");
2667 destroyGLES(&eglWindow);
2668 napi_value result = nullptr;
2669 napi_create_int32(env, FAILED, &result);
2670 return result;
2671 }
2672
GLFramebufferTextureAbnormal(napi_env env,napi_callback_info info)2673 static napi_value GLFramebufferTextureAbnormal(napi_env env, napi_callback_info info)
2674 {
2675 (void)info;
2676 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2677 initGLES(&eglWindow);
2678 glFramebufferTexture(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO);
2679 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glFramebufferTexture error");
2680 destroyGLES(&eglWindow);
2681 napi_value result = nullptr;
2682 napi_create_int32(env, FAILED, &result);
2683 return result;
2684 }
2685
GLFramebufferTexture2DAbnormal(napi_env env,napi_callback_info info)2686 static napi_value GLFramebufferTexture2DAbnormal(napi_env env, napi_callback_info info)
2687 {
2688 (void)info;
2689 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2690 initGLES(&eglWindow);
2691 glFramebufferTexture2D(GL_ZERO, GL_ZERO, GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_ZERO, GL_ZERO);
2692 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glFramebufferTexture2D error");
2693 destroyGLES(&eglWindow);
2694 napi_value result = nullptr;
2695 napi_create_int32(env, FAILED, &result);
2696 return result;
2697 }
2698
GLFramebufferTextureLayerAbnormal(napi_env env,napi_callback_info info)2699 static napi_value GLFramebufferTextureLayerAbnormal(napi_env env, napi_callback_info info)
2700 {
2701 (void)info;
2702 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2703 initGLES(&eglWindow);
2704 glFramebufferTextureLayer(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO);
2705 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glFramebufferTextureLayer error");
2706 destroyGLES(&eglWindow);
2707 napi_value result = nullptr;
2708 napi_create_int32(env, FAILED, &result);
2709 return result;
2710 }
2711
GLFrontFaceAbnormal(napi_env env,napi_callback_info info)2712 static napi_value GLFrontFaceAbnormal(napi_env env, napi_callback_info info)
2713 {
2714 (void)info;
2715 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2716 initGLES(&eglWindow);
2717 glFrontFace(GL_ZERO);
2718 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glFrontFace error");
2719 destroyGLES(&eglWindow);
2720 napi_value result = nullptr;
2721 napi_create_int32(env, FAILED, &result);
2722 return result;
2723 }
2724
GLGenBuffersAbnormal(napi_env env,napi_callback_info info)2725 static napi_value GLGenBuffersAbnormal(napi_env env, napi_callback_info info)
2726 {
2727 (void)info;
2728 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2729 initGLES(&eglWindow);
2730 glGenBuffers(FAILED, nullptr);
2731 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGenBuffers error");
2732 destroyGLES(&eglWindow);
2733 napi_value result = nullptr;
2734 napi_create_int32(env, FAILED, &result);
2735 return result;
2736 }
2737
GLGenerateMipmapAbnormal(napi_env env,napi_callback_info info)2738 static napi_value GLGenerateMipmapAbnormal(napi_env env, napi_callback_info info)
2739 {
2740 (void)info;
2741 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2742 initGLES(&eglWindow);
2743 glGenerateMipmap(GL_ZERO);
2744 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGenerateMipmap error");
2745 destroyGLES(&eglWindow);
2746 napi_value result = nullptr;
2747 napi_create_int32(env, FAILED, &result);
2748 return result;
2749 }
2750
GLGenFramebuffersAbnormal(napi_env env,napi_callback_info info)2751 static napi_value GLGenFramebuffersAbnormal(napi_env env, napi_callback_info info)
2752 {
2753 (void)info;
2754 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2755 initGLES(&eglWindow);
2756 glGenFramebuffers(FAILED, nullptr);
2757 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGenFramebuffers error");
2758 destroyGLES(&eglWindow);
2759 napi_value result = nullptr;
2760 napi_create_int32(env, FAILED, &result);
2761 return result;
2762 }
2763
GLGenProgramPipelinesAbnormal(napi_env env,napi_callback_info info)2764 static napi_value GLGenProgramPipelinesAbnormal(napi_env env, napi_callback_info info)
2765 {
2766 (void)info;
2767 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2768 initGLES(&eglWindow);
2769 glGenProgramPipelines(FAILED, nullptr);
2770 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGenProgramPipelines error");
2771 destroyGLES(&eglWindow);
2772 napi_value result = nullptr;
2773 napi_create_int32(env, FAILED, &result);
2774 return result;
2775 }
2776
GLGenQueriesAbnormal(napi_env env,napi_callback_info info)2777 static napi_value GLGenQueriesAbnormal(napi_env env, napi_callback_info info)
2778 {
2779 (void)info;
2780 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2781 initGLES(&eglWindow);
2782 glGenQueries(FAILED, nullptr);
2783 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGenQueries error");
2784 destroyGLES(&eglWindow);
2785 napi_value result = nullptr;
2786 napi_create_int32(env, FAILED, &result);
2787 return result;
2788 }
2789
GLGenRenderbuffersAbnormal(napi_env env,napi_callback_info info)2790 static napi_value GLGenRenderbuffersAbnormal(napi_env env, napi_callback_info info)
2791 {
2792 (void)info;
2793 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2794 initGLES(&eglWindow);
2795 glGenRenderbuffers(FAILED, nullptr);
2796 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGenRenderbuffers error");
2797 destroyGLES(&eglWindow);
2798 napi_value result = nullptr;
2799 napi_create_int32(env, FAILED, &result);
2800 return result;
2801 }
2802
GLGenSamplersAbnormal(napi_env env,napi_callback_info info)2803 static napi_value GLGenSamplersAbnormal(napi_env env, napi_callback_info info)
2804 {
2805 (void)info;
2806 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2807 initGLES(&eglWindow);
2808 glGenSamplers(FAILED, nullptr);
2809 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGenSamplers error");
2810 destroyGLES(&eglWindow);
2811 napi_value result = nullptr;
2812 napi_create_int32(env, FAILED, &result);
2813 return result;
2814 }
2815
GLGenTexturesAbnormal(napi_env env,napi_callback_info info)2816 static napi_value GLGenTexturesAbnormal(napi_env env, napi_callback_info info)
2817 {
2818 (void)info;
2819 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2820 initGLES(&eglWindow);
2821 glGenTextures(FAILED, nullptr);
2822 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGenTextures error");
2823 destroyGLES(&eglWindow);
2824 napi_value result = nullptr;
2825 napi_create_int32(env, FAILED, &result);
2826 return result;
2827 }
2828
GLGenTransformFeedbacksAbnormal(napi_env env,napi_callback_info info)2829 static napi_value GLGenTransformFeedbacksAbnormal(napi_env env, napi_callback_info info)
2830 {
2831 (void)info;
2832 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2833 initGLES(&eglWindow);
2834 glGenTransformFeedbacks(FAILED, nullptr);
2835 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGenTransformFeedbacks error");
2836 destroyGLES(&eglWindow);
2837 napi_value result = nullptr;
2838 napi_create_int32(env, FAILED, &result);
2839 return result;
2840 }
2841
GLGenVertexArraysAbnormal(napi_env env,napi_callback_info info)2842 static napi_value GLGenVertexArraysAbnormal(napi_env env, napi_callback_info info)
2843 {
2844 (void)info;
2845 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2846 initGLES(&eglWindow);
2847 glGenVertexArrays(FAILED, nullptr);
2848 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGenVertexArrays error");
2849 destroyGLES(&eglWindow);
2850 napi_value result = nullptr;
2851 napi_create_int32(env, FAILED, &result);
2852 return result;
2853 }
2854
GLGetActiveAttribAbnormal(napi_env env,napi_callback_info info)2855 static napi_value GLGetActiveAttribAbnormal(napi_env env, napi_callback_info info)
2856 {
2857 (void)info;
2858 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2859 initGLES(&eglWindow);
2860 glGetActiveAttrib(GL_ZERO, GL_ZERO, FAILED, nullptr, nullptr, nullptr, nullptr);
2861 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetActiveAttrib error");
2862 destroyGLES(&eglWindow);
2863 napi_value result = nullptr;
2864 napi_create_int32(env, FAILED, &result);
2865 return result;
2866 }
2867
GLGetAttachedShadersAbnormal(napi_env env,napi_callback_info info)2868 static napi_value GLGetAttachedShadersAbnormal(napi_env env, napi_callback_info info)
2869 {
2870 (void)info;
2871 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2872 initGLES(&eglWindow);
2873 glGetAttachedShaders(GL_ZERO, FAILED, nullptr, nullptr);
2874 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetAttachedShaders error");
2875 destroyGLES(&eglWindow);
2876 napi_value result = nullptr;
2877 napi_create_int32(env, FAILED, &result);
2878 return result;
2879 }
2880
GLGetAttribLocationAbnormal(napi_env env,napi_callback_info info)2881 static napi_value GLGetAttribLocationAbnormal(napi_env env, napi_callback_info info)
2882 {
2883 (void)info;
2884 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2885 initGLES(&eglWindow);
2886
2887 GLint ret = glGetAttribLocation(GL_ZERO, nullptr);
2888 NAPI_ASSERT(env, ret == FAILED, "glGetAttribLocation error");
2889 destroyGLES(&eglWindow);
2890 napi_value result = nullptr;
2891 napi_create_int32(env, FAILED, &result);
2892 return result;
2893 }
2894
GLGetBooleani_vAbnormal(napi_env env,napi_callback_info info)2895 static napi_value GLGetBooleani_vAbnormal(napi_env env, napi_callback_info info)
2896 {
2897 (void)info;
2898 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2899 initGLES(&eglWindow);
2900 glGetBooleani_v(GL_ZERO, GL_ZERO, nullptr);
2901 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetBooleani_v error");
2902 destroyGLES(&eglWindow);
2903 napi_value result = nullptr;
2904 napi_create_int32(env, FAILED, &result);
2905 return result;
2906 }
2907
GLGetBooleanvAbnormal(napi_env env,napi_callback_info info)2908 static napi_value GLGetBooleanvAbnormal(napi_env env, napi_callback_info info)
2909 {
2910 (void)info;
2911 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2912 initGLES(&eglWindow);
2913 glGetBooleanv(GL_ZERO, nullptr);
2914 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetBooleanv error");
2915 destroyGLES(&eglWindow);
2916 napi_value result = nullptr;
2917 napi_create_int32(env, FAILED, &result);
2918 return result;
2919 }
2920
GLGetBufferParameteri64vAbnormal(napi_env env,napi_callback_info info)2921 static napi_value GLGetBufferParameteri64vAbnormal(napi_env env, napi_callback_info info)
2922 {
2923 (void)info;
2924 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2925 initGLES(&eglWindow);
2926 glGetBufferParameteri64v(GL_ZERO, GL_ZERO, nullptr);
2927 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetBufferParameteri64v error");
2928 destroyGLES(&eglWindow);
2929 napi_value result = nullptr;
2930 napi_create_int32(env, FAILED, &result);
2931 return result;
2932 }
2933
GLGetBufferParameterivAbnormal(napi_env env,napi_callback_info info)2934 static napi_value GLGetBufferParameterivAbnormal(napi_env env, napi_callback_info info)
2935 {
2936 (void)info;
2937 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2938 initGLES(&eglWindow);
2939 glGetBufferParameteriv(GL_ZERO, GL_ZERO, nullptr);
2940 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetBufferParameteriv error");
2941 destroyGLES(&eglWindow);
2942 napi_value result = nullptr;
2943 napi_create_int32(env, FAILED, &result);
2944 return result;
2945 }
2946
GLGetBufferPointervAbnormal(napi_env env,napi_callback_info info)2947 static napi_value GLGetBufferPointervAbnormal(napi_env env, napi_callback_info info)
2948 {
2949 (void)info;
2950 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2951 initGLES(&eglWindow);
2952 glGetBufferPointerv(GL_ZERO, GL_ZERO, nullptr);
2953 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetBufferPointerv error");
2954 destroyGLES(&eglWindow);
2955 napi_value result = nullptr;
2956 napi_create_int32(env, FAILED, &result);
2957 return result;
2958 }
2959
GLGetFloatvAbnormal(napi_env env,napi_callback_info info)2960 static napi_value GLGetFloatvAbnormal(napi_env env, napi_callback_info info)
2961 {
2962 (void)info;
2963 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2964 initGLES(&eglWindow);
2965 glGetFloatv(GL_ZERO, nullptr);
2966 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetFloatv error");
2967 destroyGLES(&eglWindow);
2968 napi_value result = nullptr;
2969 napi_create_int32(env, FAILED, &result);
2970 return result;
2971 }
2972
GLGetFragDataLocationAbnormal(napi_env env,napi_callback_info info)2973 static napi_value GLGetFragDataLocationAbnormal(napi_env env, napi_callback_info info)
2974 {
2975 (void)info;
2976 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2977 initGLES(&eglWindow);
2978 glGetFragDataLocation(GL_MAX_TEST_NUM, nullptr);
2979 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetFragDataLocation error");
2980 destroyGLES(&eglWindow);
2981 napi_value result = nullptr;
2982 napi_create_int32(env, FAILED, &result);
2983 return result;
2984 }
2985
GLGetFramebufferAttachmentParameterivAbnormal(napi_env env,napi_callback_info info)2986 static napi_value GLGetFramebufferAttachmentParameterivAbnormal(napi_env env, napi_callback_info info)
2987 {
2988 (void)info;
2989 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
2990 initGLES(&eglWindow);
2991 glGetFramebufferAttachmentParameteriv(GL_ZERO, GL_ZERO, GL_ZERO, nullptr);
2992 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetFramebufferAttachmentParameteriv error");
2993 destroyGLES(&eglWindow);
2994 napi_value result = nullptr;
2995 napi_create_int32(env, FAILED, &result);
2996 return result;
2997 }
2998
GLGetFramebufferParameterivAbnormal(napi_env env,napi_callback_info info)2999 static napi_value GLGetFramebufferParameterivAbnormal(napi_env env, napi_callback_info info)
3000 {
3001 (void)info;
3002 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3003 initGLES(&eglWindow);
3004 glGetFramebufferParameteriv(GL_ZERO, GL_ZERO, nullptr);
3005 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetFramebufferParameteriv error");
3006 destroyGLES(&eglWindow);
3007 napi_value result = nullptr;
3008 napi_create_int32(env, FAILED, &result);
3009 return result;
3010 }
3011
GLGetInteger64i_vAbnormal(napi_env env,napi_callback_info info)3012 static napi_value GLGetInteger64i_vAbnormal(napi_env env, napi_callback_info info)
3013 {
3014 (void)info;
3015 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3016 initGLES(&eglWindow);
3017 glGetInteger64i_v(GL_ZERO, GL_ZERO, nullptr);
3018 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetInteger64i_v error");
3019 destroyGLES(&eglWindow);
3020 napi_value result = nullptr;
3021 napi_create_int32(env, FAILED, &result);
3022 return result;
3023 }
3024
GLGetInteger64vAbnormal(napi_env env,napi_callback_info info)3025 static napi_value GLGetInteger64vAbnormal(napi_env env, napi_callback_info info)
3026 {
3027 (void)info;
3028 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3029 initGLES(&eglWindow);
3030 glGetInteger64v(GL_ZERO, nullptr);
3031 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetInteger64v error");
3032 destroyGLES(&eglWindow);
3033 napi_value result = nullptr;
3034 napi_create_int32(env, FAILED, &result);
3035 return result;
3036 }
3037
GLGetIntegeri_vAbnormal(napi_env env,napi_callback_info info)3038 static napi_value GLGetIntegeri_vAbnormal(napi_env env, napi_callback_info info)
3039 {
3040 (void)info;
3041 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3042 initGLES(&eglWindow);
3043 glGetIntegeri_v(GL_ZERO, GL_ZERO, nullptr);
3044 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetIntegeri_v error");
3045 destroyGLES(&eglWindow);
3046 napi_value result = nullptr;
3047 napi_create_int32(env, FAILED, &result);
3048 return result;
3049 }
3050
GLGetIntegervAbnormal(napi_env env,napi_callback_info info)3051 static napi_value GLGetIntegervAbnormal(napi_env env, napi_callback_info info)
3052 {
3053 (void)info;
3054 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3055 initGLES(&eglWindow);
3056 glGetIntegerv(GL_ZERO, nullptr);
3057 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetIntegerv error");
3058 destroyGLES(&eglWindow);
3059 napi_value result = nullptr;
3060 napi_create_int32(env, FAILED, &result);
3061 return result;
3062 }
3063
GLGetInternalformativAbnormal(napi_env env,napi_callback_info info)3064 static napi_value GLGetInternalformativAbnormal(napi_env env, napi_callback_info info)
3065 {
3066 (void)info;
3067 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3068 initGLES(&eglWindow);
3069 glGetInternalformativ(GL_ZERO, GL_ZERO, GL_ZERO, FAILED, nullptr);
3070 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetInternalformativ error");
3071 destroyGLES(&eglWindow);
3072 napi_value result = nullptr;
3073 napi_create_int32(env, FAILED, &result);
3074 return result;
3075 }
3076
GLGetObjectLabelAbnormal(napi_env env,napi_callback_info info)3077 static napi_value GLGetObjectLabelAbnormal(napi_env env, napi_callback_info info)
3078 {
3079 (void)info;
3080 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3081 initGLES(&eglWindow);
3082 glGetObjectLabel(GL_ZERO, GL_ZERO, GL_ZERO, nullptr, nullptr);
3083 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetObjectLabel error");
3084 destroyGLES(&eglWindow);
3085 napi_value result = nullptr;
3086 napi_create_int32(env, FAILED, &result);
3087 return result;
3088 }
3089
GLGetObjectPtrLabelAbnormal(napi_env env,napi_callback_info info)3090 static napi_value GLGetObjectPtrLabelAbnormal(napi_env env, napi_callback_info info)
3091 {
3092 (void)info;
3093 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3094 initGLES(&eglWindow);
3095 glGetObjectPtrLabel(nullptr, GL_ZERO, nullptr, nullptr);
3096 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetObjectPtrLabel error");
3097 destroyGLES(&eglWindow);
3098 napi_value result = nullptr;
3099 napi_create_int32(env, FAILED, &result);
3100 return result;
3101 }
3102
GLGetPointervAbnormal(napi_env env,napi_callback_info info)3103 static napi_value GLGetPointervAbnormal(napi_env env, napi_callback_info info)
3104 {
3105 (void)info;
3106 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3107 initGLES(&eglWindow);
3108 glGetPointerv(GL_ZERO, nullptr);
3109 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetPointerv error");
3110 destroyGLES(&eglWindow);
3111 napi_value result = nullptr;
3112 napi_create_int32(env, FAILED, &result);
3113 return result;
3114 }
3115
GLGetProgramBinaryAbnormal(napi_env env,napi_callback_info info)3116 static napi_value GLGetProgramBinaryAbnormal(napi_env env, napi_callback_info info)
3117 {
3118 (void)info;
3119 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3120 initGLES(&eglWindow);
3121 glGetProgramBinary(GL_ZERO, GL_ZERO, nullptr, nullptr, nullptr);
3122 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetProgramBinary error");
3123 destroyGLES(&eglWindow);
3124 napi_value result = nullptr;
3125 napi_create_int32(env, FAILED, &result);
3126 return result;
3127 }
3128
GLGetProgramInterfaceivAbnormal(napi_env env,napi_callback_info info)3129 static napi_value GLGetProgramInterfaceivAbnormal(napi_env env, napi_callback_info info)
3130 {
3131 (void)info;
3132 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3133 initGLES(&eglWindow);
3134 glGetProgramInterfaceiv(GL_ZERO, GL_ZERO, GL_ZERO, nullptr);
3135 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetProgramInterfaceiv error");
3136 destroyGLES(&eglWindow);
3137 napi_value result = nullptr;
3138 napi_create_int32(env, FAILED, &result);
3139 return result;
3140 }
3141
GLGetProgramivAbnormal(napi_env env,napi_callback_info info)3142 static napi_value GLGetProgramivAbnormal(napi_env env, napi_callback_info info)
3143 {
3144 (void)info;
3145 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3146 initGLES(&eglWindow);
3147 glGetProgramiv(GL_ZERO, GL_ZERO, nullptr);
3148 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetProgramiv error");
3149 destroyGLES(&eglWindow);
3150 napi_value result = nullptr;
3151 napi_create_int32(env, FAILED, &result);
3152 return result;
3153 }
3154
GLGetProgramPipelineivAbnormal(napi_env env,napi_callback_info info)3155 static napi_value GLGetProgramPipelineivAbnormal(napi_env env, napi_callback_info info)
3156 {
3157 (void)info;
3158 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3159 initGLES(&eglWindow);
3160 glGetProgramPipelineiv(GL_ZERO, GL_ZERO, nullptr);
3161 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetProgramPipelineiv error");
3162 destroyGLES(&eglWindow);
3163 napi_value result = nullptr;
3164 napi_create_int32(env, FAILED, &result);
3165 return result;
3166 }
3167
GLGetProgramResourceIndexAbnormal(napi_env env,napi_callback_info info)3168 static napi_value GLGetProgramResourceIndexAbnormal(napi_env env, napi_callback_info info)
3169 {
3170 (void)info;
3171 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3172 initGLES(&eglWindow);
3173 glGetProgramResourceIndex(GL_ZERO, GL_ZERO, nullptr);
3174 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetProgramResourceIndex error");
3175 destroyGLES(&eglWindow);
3176 napi_value result = nullptr;
3177 napi_create_int32(env, FAILED, &result);
3178 return result;
3179 }
3180
GLGetProgramResourceivAbnormal(napi_env env,napi_callback_info info)3181 static napi_value GLGetProgramResourceivAbnormal(napi_env env, napi_callback_info info)
3182 {
3183 (void)info;
3184 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3185 initGLES(&eglWindow);
3186 glGetProgramResourceiv(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, nullptr, GL_ZERO, nullptr, nullptr);
3187 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetProgramResourceiv error");
3188 destroyGLES(&eglWindow);
3189 napi_value result = nullptr;
3190 napi_create_int32(env, FAILED, &result);
3191 return result;
3192 }
3193
GLGetProgramResourceLocationAbnormal(napi_env env,napi_callback_info info)3194 static napi_value GLGetProgramResourceLocationAbnormal(napi_env env, napi_callback_info info)
3195 {
3196 (void)info;
3197 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3198 initGLES(&eglWindow);
3199 glGetProgramResourceLocation(GL_ZERO, GL_ZERO, nullptr);
3200 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetProgramResourceLocation error");
3201 destroyGLES(&eglWindow);
3202 napi_value result = nullptr;
3203 napi_create_int32(env, FAILED, &result);
3204 return result;
3205 }
3206
GLGetProgramResourceNameAbnormal(napi_env env,napi_callback_info info)3207 static napi_value GLGetProgramResourceNameAbnormal(napi_env env, napi_callback_info info)
3208 {
3209 (void)info;
3210 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3211 initGLES(&eglWindow);
3212 glGetProgramResourceName(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, nullptr, nullptr);
3213 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetProgramResourceName error");
3214 destroyGLES(&eglWindow);
3215 napi_value result = nullptr;
3216 napi_create_int32(env, FAILED, &result);
3217 return result;
3218 }
3219
GLGetQueryivAbnormal(napi_env env,napi_callback_info info)3220 static napi_value GLGetQueryivAbnormal(napi_env env, napi_callback_info info)
3221 {
3222 (void)info;
3223 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3224 initGLES(&eglWindow);
3225 glGetQueryiv(GL_ZERO, GL_ZERO, nullptr);
3226 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetQueryiv error");
3227 destroyGLES(&eglWindow);
3228 napi_value result = nullptr;
3229 napi_create_int32(env, FAILED, &result);
3230 return result;
3231 }
3232
GLGetQueryObjectuivAbnormal(napi_env env,napi_callback_info info)3233 static napi_value GLGetQueryObjectuivAbnormal(napi_env env, napi_callback_info info)
3234 {
3235 (void)info;
3236 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3237 initGLES(&eglWindow);
3238 glGetQueryObjectuiv(GL_ZERO, GL_ZERO, nullptr);
3239 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetQueryObjectuiv error");
3240 destroyGLES(&eglWindow);
3241 napi_value result = nullptr;
3242 napi_create_int32(env, FAILED, &result);
3243 return result;
3244 }
3245
GLGetRenderbufferParameterivAbnormal(napi_env env,napi_callback_info info)3246 static napi_value GLGetRenderbufferParameterivAbnormal(napi_env env, napi_callback_info info)
3247 {
3248 (void)info;
3249 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3250 initGLES(&eglWindow);
3251 glGetRenderbufferParameteriv(GL_ZERO, GL_ZERO, nullptr);
3252 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetRenderbufferParameteriv error");
3253 destroyGLES(&eglWindow);
3254 napi_value result = nullptr;
3255 napi_create_int32(env, FAILED, &result);
3256 return result;
3257 }
3258
GLGetSamplerParameterfvAbnormal(napi_env env,napi_callback_info info)3259 static napi_value GLGetSamplerParameterfvAbnormal(napi_env env, napi_callback_info info)
3260 {
3261 (void)info;
3262 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3263 initGLES(&eglWindow);
3264 glGetSamplerParameterfv(GL_ZERO, GL_ZERO, nullptr);
3265 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetSamplerParameterfv error");
3266 destroyGLES(&eglWindow);
3267 napi_value result = nullptr;
3268 napi_create_int32(env, FAILED, &result);
3269 return result;
3270 }
3271
GLGetSamplerParameterIivAbnormal(napi_env env,napi_callback_info info)3272 static napi_value GLGetSamplerParameterIivAbnormal(napi_env env, napi_callback_info info)
3273 {
3274 (void)info;
3275 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3276 initGLES(&eglWindow);
3277 glGetSamplerParameterIiv(GL_ZERO, GL_ZERO, nullptr);
3278 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetSamplerParameterIiv error");
3279 destroyGLES(&eglWindow);
3280 napi_value result = nullptr;
3281 napi_create_int32(env, FAILED, &result);
3282 return result;
3283 }
3284
GLGetSamplerParameterIuivAbnormal(napi_env env,napi_callback_info info)3285 static napi_value GLGetSamplerParameterIuivAbnormal(napi_env env, napi_callback_info info)
3286 {
3287 (void)info;
3288 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3289 initGLES(&eglWindow);
3290 glGetSamplerParameterIuiv(GL_ZERO, GL_ZERO, nullptr);
3291 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetSamplerParameterIuiv error");
3292 destroyGLES(&eglWindow);
3293 napi_value result = nullptr;
3294 napi_create_int32(env, FAILED, &result);
3295 return result;
3296 }
3297
GLGetSamplerParameterivAbnormal(napi_env env,napi_callback_info info)3298 static napi_value GLGetSamplerParameterivAbnormal(napi_env env, napi_callback_info info)
3299 {
3300 (void)info;
3301 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3302 initGLES(&eglWindow);
3303 glGetSamplerParameteriv(GL_ZERO, GL_ZERO, nullptr);
3304 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glGetSamplerParameteriv error");
3305 destroyGLES(&eglWindow);
3306 napi_value result = nullptr;
3307 napi_create_int32(env, FAILED, &result);
3308 return result;
3309 }
3310
GLUniform1fAbnormal(napi_env env,napi_callback_info info)3311 static napi_value GLUniform1fAbnormal(napi_env env, napi_callback_info info)
3312 {
3313 (void)info;
3314 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3315 initGLES(&eglWindow);
3316 glUniform1f(GL_ZERO, CLEAR_00);
3317 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform1f error");
3318 destroyGLES(&eglWindow);
3319 napi_value result = nullptr;
3320 napi_create_int32(env, FAILED, &result);
3321 return result;
3322 }
3323
GLUniform1fvAbnormal(napi_env env,napi_callback_info info)3324 static napi_value GLUniform1fvAbnormal(napi_env env, napi_callback_info info)
3325 {
3326 (void)info;
3327 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3328 initGLES(&eglWindow);
3329 glUniform1fv(GL_ZERO, FAILED, nullptr);
3330 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform1fv error");
3331 destroyGLES(&eglWindow);
3332 napi_value result = nullptr;
3333 napi_create_int32(env, FAILED, &result);
3334 return result;
3335 }
3336
GLUniform1iAbnormal(napi_env env,napi_callback_info info)3337 static napi_value GLUniform1iAbnormal(napi_env env, napi_callback_info info)
3338 {
3339 (void)info;
3340 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3341 initGLES(&eglWindow);
3342 glUniform1i(GL_ZERO, GL_ZERO);
3343 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform1i error");
3344 destroyGLES(&eglWindow);
3345 napi_value result = nullptr;
3346 napi_create_int32(env, FAILED, &result);
3347 return result;
3348 }
3349
GLUniform1ivAbnormal(napi_env env,napi_callback_info info)3350 static napi_value GLUniform1ivAbnormal(napi_env env, napi_callback_info info)
3351 {
3352 (void)info;
3353 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3354 initGLES(&eglWindow);
3355 glUniform1iv(GL_ZERO, FAILED, nullptr);
3356 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform1iv error");
3357 destroyGLES(&eglWindow);
3358 napi_value result = nullptr;
3359 napi_create_int32(env, FAILED, &result);
3360 return result;
3361 }
3362
GLUniform1uiAbnormal(napi_env env,napi_callback_info info)3363 static napi_value GLUniform1uiAbnormal(napi_env env, napi_callback_info info)
3364 {
3365 (void)info;
3366 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3367 initGLES(&eglWindow);
3368 glUniform1ui(GL_ZERO, GL_ZERO);
3369 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform1ui error");
3370 destroyGLES(&eglWindow);
3371 napi_value result = nullptr;
3372 napi_create_int32(env, FAILED, &result);
3373 return result;
3374 }
3375
GLUniform1uivAbnormal(napi_env env,napi_callback_info info)3376 static napi_value GLUniform1uivAbnormal(napi_env env, napi_callback_info info)
3377 {
3378 (void)info;
3379 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3380 initGLES(&eglWindow);
3381 glUniform1uiv(GL_ZERO, FAILED, nullptr);
3382 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform1uiv error");
3383 destroyGLES(&eglWindow);
3384 napi_value result = nullptr;
3385 napi_create_int32(env, FAILED, &result);
3386 return result;
3387 }
3388
GLUniform2fAbnormal(napi_env env,napi_callback_info info)3389 static napi_value GLUniform2fAbnormal(napi_env env, napi_callback_info info)
3390 {
3391 (void)info;
3392 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3393 initGLES(&eglWindow);
3394 glUniform2f(GL_ZERO, CLEAR_00, CLEAR_00);
3395 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform2f error");
3396 destroyGLES(&eglWindow);
3397 napi_value result = nullptr;
3398 napi_create_int32(env, FAILED, &result);
3399 return result;
3400 }
3401
GLUniform2fvAbnormal(napi_env env,napi_callback_info info)3402 static napi_value GLUniform2fvAbnormal(napi_env env, napi_callback_info info)
3403 {
3404 (void)info;
3405 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3406 initGLES(&eglWindow);
3407 glUniform2fv(GL_ZERO, FAILED, nullptr);
3408 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform2fv error");
3409 destroyGLES(&eglWindow);
3410 napi_value result = nullptr;
3411 napi_create_int32(env, FAILED, &result);
3412 return result;
3413 }
3414
GLUniform2iAbnormal(napi_env env,napi_callback_info info)3415 static napi_value GLUniform2iAbnormal(napi_env env, napi_callback_info info)
3416 {
3417 (void)info;
3418 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3419 initGLES(&eglWindow);
3420 glUniform2i(GL_ZERO, GL_ZERO, GL_ZERO);
3421 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform2i error");
3422 destroyGLES(&eglWindow);
3423 napi_value result = nullptr;
3424 napi_create_int32(env, FAILED, &result);
3425 return result;
3426 }
3427
GLUniform2ivAbnormal(napi_env env,napi_callback_info info)3428 static napi_value GLUniform2ivAbnormal(napi_env env, napi_callback_info info)
3429 {
3430 (void)info;
3431 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3432 initGLES(&eglWindow);
3433 glUniform2iv(GL_ZERO, FAILED, nullptr);
3434 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform2iv error");
3435 destroyGLES(&eglWindow);
3436 napi_value result = nullptr;
3437 napi_create_int32(env, FAILED, &result);
3438 return result;
3439 }
3440
GLUniform2uiAbnormal(napi_env env,napi_callback_info info)3441 static napi_value GLUniform2uiAbnormal(napi_env env, napi_callback_info info)
3442 {
3443 (void)info;
3444 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3445 initGLES(&eglWindow);
3446 glUniform2ui(GL_ZERO, GL_ZERO, GL_ZERO);
3447 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform2ui error");
3448 destroyGLES(&eglWindow);
3449 napi_value result = nullptr;
3450 napi_create_int32(env, FAILED, &result);
3451 return result;
3452 }
3453
GLUniform2uivAbnormal(napi_env env,napi_callback_info info)3454 static napi_value GLUniform2uivAbnormal(napi_env env, napi_callback_info info)
3455 {
3456 (void)info;
3457 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3458 initGLES(&eglWindow);
3459 glUniform2uiv(GL_ZERO, FAILED, nullptr);
3460 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform2uiv error");
3461 destroyGLES(&eglWindow);
3462 napi_value result = nullptr;
3463 napi_create_int32(env, FAILED, &result);
3464 return result;
3465 }
3466
GLUniform3fAbnormal(napi_env env,napi_callback_info info)3467 static napi_value GLUniform3fAbnormal(napi_env env, napi_callback_info info)
3468 {
3469 (void)info;
3470 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3471 initGLES(&eglWindow);
3472 glUniform3f(GL_ZERO, CLEAR_00, CLEAR_00, CLEAR_00);
3473 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform3f error");
3474 destroyGLES(&eglWindow);
3475 napi_value result = nullptr;
3476 napi_create_int32(env, FAILED, &result);
3477 return result;
3478 }
3479
GLUniform3fvAbnormal(napi_env env,napi_callback_info info)3480 static napi_value GLUniform3fvAbnormal(napi_env env, napi_callback_info info)
3481 {
3482 (void)info;
3483 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3484 initGLES(&eglWindow);
3485 glUniform3fv(GL_ZERO, FAILED, nullptr);
3486 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform3fv error");
3487 destroyGLES(&eglWindow);
3488 napi_value result = nullptr;
3489 napi_create_int32(env, FAILED, &result);
3490 return result;
3491 }
3492
GLUniform3iAbnormal(napi_env env,napi_callback_info info)3493 static napi_value GLUniform3iAbnormal(napi_env env, napi_callback_info info)
3494 {
3495 (void)info;
3496 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3497 initGLES(&eglWindow);
3498 glUniform3i(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO);
3499 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform3i error");
3500 destroyGLES(&eglWindow);
3501 napi_value result = nullptr;
3502 napi_create_int32(env, FAILED, &result);
3503 return result;
3504 }
3505
GLUniform3ivAbnormal(napi_env env,napi_callback_info info)3506 static napi_value GLUniform3ivAbnormal(napi_env env, napi_callback_info info)
3507 {
3508 (void)info;
3509 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3510 initGLES(&eglWindow);
3511 glUniform3iv(GL_ZERO, FAILED, nullptr);
3512 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform3iv error");
3513 destroyGLES(&eglWindow);
3514 napi_value result = nullptr;
3515 napi_create_int32(env, FAILED, &result);
3516 return result;
3517 }
3518
GLUniform3uiAbnormal(napi_env env,napi_callback_info info)3519 static napi_value GLUniform3uiAbnormal(napi_env env, napi_callback_info info)
3520 {
3521 (void)info;
3522 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3523 initGLES(&eglWindow);
3524 glUniform3ui(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO);
3525 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform3ui error");
3526 destroyGLES(&eglWindow);
3527 napi_value result = nullptr;
3528 napi_create_int32(env, FAILED, &result);
3529 return result;
3530 }
3531
GLUniform3uivAbnormal(napi_env env,napi_callback_info info)3532 static napi_value GLUniform3uivAbnormal(napi_env env, napi_callback_info info)
3533 {
3534 (void)info;
3535 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3536 initGLES(&eglWindow);
3537 glUniform3uiv(GL_ZERO, FAILED, nullptr);
3538 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform3uiv error");
3539 destroyGLES(&eglWindow);
3540 napi_value result = nullptr;
3541 napi_create_int32(env, FAILED, &result);
3542 return result;
3543 }
3544
GLUniform4fAbnormal(napi_env env,napi_callback_info info)3545 static napi_value GLUniform4fAbnormal(napi_env env, napi_callback_info info)
3546 {
3547 (void)info;
3548 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3549 initGLES(&eglWindow);
3550 glUniform4f(GL_ZERO, CLEAR_00, CLEAR_00, CLEAR_00, CLEAR_00);
3551 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform4f error");
3552 destroyGLES(&eglWindow);
3553 napi_value result = nullptr;
3554 napi_create_int32(env, FAILED, &result);
3555 return result;
3556 }
3557
GLUniform4fvAbnormal(napi_env env,napi_callback_info info)3558 static napi_value GLUniform4fvAbnormal(napi_env env, napi_callback_info info)
3559 {
3560 (void)info;
3561 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3562 initGLES(&eglWindow);
3563 glUniform4fv(GL_ZERO, FAILED, nullptr);
3564 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform4fv error");
3565 destroyGLES(&eglWindow);
3566 napi_value result = nullptr;
3567 napi_create_int32(env, FAILED, &result);
3568 return result;
3569 }
3570
GLUniform4iAbnormal(napi_env env,napi_callback_info info)3571 static napi_value GLUniform4iAbnormal(napi_env env, napi_callback_info info)
3572 {
3573 (void)info;
3574 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3575 initGLES(&eglWindow);
3576 glUniform4i(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO);
3577 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform4i error");
3578 destroyGLES(&eglWindow);
3579 napi_value result = nullptr;
3580 napi_create_int32(env, FAILED, &result);
3581 return result;
3582 }
3583
GLUniform4ivAbnormal(napi_env env,napi_callback_info info)3584 static napi_value GLUniform4ivAbnormal(napi_env env, napi_callback_info info)
3585 {
3586 (void)info;
3587 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3588 initGLES(&eglWindow);
3589 glUniform4iv(GL_ZERO, FAILED, nullptr);
3590 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform4iv error");
3591 destroyGLES(&eglWindow);
3592 napi_value result = nullptr;
3593 napi_create_int32(env, FAILED, &result);
3594 return result;
3595 }
3596
GLUniform4uiAbnormal(napi_env env,napi_callback_info info)3597 static napi_value GLUniform4uiAbnormal(napi_env env, napi_callback_info info)
3598 {
3599 (void)info;
3600 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3601 initGLES(&eglWindow);
3602 glUniform4ui(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO);
3603 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform4ui error");
3604 destroyGLES(&eglWindow);
3605 napi_value result = nullptr;
3606 napi_create_int32(env, FAILED, &result);
3607 return result;
3608 }
3609
GLUniform4uivAbnormal(napi_env env,napi_callback_info info)3610 static napi_value GLUniform4uivAbnormal(napi_env env, napi_callback_info info)
3611 {
3612 (void)info;
3613 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3614 initGLES(&eglWindow);
3615 glUniform4uiv(GL_ZERO, FAILED, nullptr);
3616 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniform4uiv error");
3617 destroyGLES(&eglWindow);
3618 napi_value result = nullptr;
3619 napi_create_int32(env, FAILED, &result);
3620 return result;
3621 }
3622
GLUniformBlockBindingAbnormal(napi_env env,napi_callback_info info)3623 static napi_value GLUniformBlockBindingAbnormal(napi_env env, napi_callback_info info)
3624 {
3625 (void)info;
3626 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3627 initGLES(&eglWindow);
3628 glUniformBlockBinding(GL_ZERO, GL_MAX_TEST_NUM, GL_ZERO);
3629 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniformBlockBinding error");
3630 destroyGLES(&eglWindow);
3631 napi_value result = nullptr;
3632 napi_create_int32(env, FAILED, &result);
3633 return result;
3634 }
3635
GLUniformMatrix2fvAbnormal(napi_env env,napi_callback_info info)3636 static napi_value GLUniformMatrix2fvAbnormal(napi_env env, napi_callback_info info)
3637 {
3638 (void)info;
3639 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3640 initGLES(&eglWindow);
3641 glUniformMatrix2fv(GL_ZERO, FAILED, GL_TRUE, nullptr);
3642 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniformMatrix2fv error");
3643 destroyGLES(&eglWindow);
3644 napi_value result = nullptr;
3645 napi_create_int32(env, FAILED, &result);
3646 return result;
3647 }
3648
GLUniformMatrix2x3fvAbnormal(napi_env env,napi_callback_info info)3649 static napi_value GLUniformMatrix2x3fvAbnormal(napi_env env, napi_callback_info info)
3650 {
3651 (void)info;
3652 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3653 initGLES(&eglWindow);
3654 glUniformMatrix2x3fv(GL_ZERO, FAILED, GL_TRUE, nullptr);
3655 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniformMatrix2x3fv error");
3656 destroyGLES(&eglWindow);
3657 napi_value result = nullptr;
3658 napi_create_int32(env, FAILED, &result);
3659 return result;
3660 }
3661
GLUniformMatrix2x4fvAbnormal(napi_env env,napi_callback_info info)3662 static napi_value GLUniformMatrix2x4fvAbnormal(napi_env env, napi_callback_info info)
3663 {
3664 (void)info;
3665 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3666 initGLES(&eglWindow);
3667 glUniformMatrix2x4fv(GL_ZERO, FAILED, GL_TRUE, nullptr);
3668 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniformMatrix2x4fv error");
3669 destroyGLES(&eglWindow);
3670 napi_value result = nullptr;
3671 napi_create_int32(env, FAILED, &result);
3672 return result;
3673 }
3674
GLUniformMatrix3fvAbnormal(napi_env env,napi_callback_info info)3675 static napi_value GLUniformMatrix3fvAbnormal(napi_env env, napi_callback_info info)
3676 {
3677 (void)info;
3678 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3679 initGLES(&eglWindow);
3680 glUniformMatrix3fv(GL_ZERO, FAILED, GL_TRUE, nullptr);
3681 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniformMatrix3fv error");
3682 destroyGLES(&eglWindow);
3683 napi_value result = nullptr;
3684 napi_create_int32(env, FAILED, &result);
3685 return result;
3686 }
3687
GLUniformMatrix3x2fvAbnormal(napi_env env,napi_callback_info info)3688 static napi_value GLUniformMatrix3x2fvAbnormal(napi_env env, napi_callback_info info)
3689 {
3690 (void)info;
3691 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3692 initGLES(&eglWindow);
3693 glUniformMatrix3x2fv(GL_ZERO, FAILED, GL_TRUE, nullptr);
3694 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniformMatrix3x2fv error");
3695 destroyGLES(&eglWindow);
3696 napi_value result = nullptr;
3697 napi_create_int32(env, FAILED, &result);
3698 return result;
3699 }
3700
GLUniformMatrix3x4fvAbnormal(napi_env env,napi_callback_info info)3701 static napi_value GLUniformMatrix3x4fvAbnormal(napi_env env, napi_callback_info info)
3702 {
3703 (void)info;
3704 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3705 initGLES(&eglWindow);
3706 glUniformMatrix3x4fv(GL_ZERO, FAILED, GL_TRUE, nullptr);
3707 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniformMatrix3x4fv error");
3708 destroyGLES(&eglWindow);
3709 napi_value result = nullptr;
3710 napi_create_int32(env, FAILED, &result);
3711 return result;
3712 }
3713
GLUniformMatrix4fvAbnormal(napi_env env,napi_callback_info info)3714 static napi_value GLUniformMatrix4fvAbnormal(napi_env env, napi_callback_info info)
3715 {
3716 (void)info;
3717 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3718 initGLES(&eglWindow);
3719 glUniformMatrix4fv(GL_ZERO, FAILED, GL_TRUE, nullptr);
3720 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniformMatrix4fv error");
3721 destroyGLES(&eglWindow);
3722 napi_value result = nullptr;
3723 napi_create_int32(env, FAILED, &result);
3724 return result;
3725 }
3726
GLUniformMatrix4x2fvAbnormal(napi_env env,napi_callback_info info)3727 static napi_value GLUniformMatrix4x2fvAbnormal(napi_env env, napi_callback_info info)
3728 {
3729 (void)info;
3730 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3731 initGLES(&eglWindow);
3732 glUniformMatrix4x2fv(GL_ZERO, GL_ZERO, GL_TRUE, nullptr);
3733 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniformMatrix4x2fv error");
3734 destroyGLES(&eglWindow);
3735 napi_value result = nullptr;
3736 napi_create_int32(env, FAILED, &result);
3737 return result;
3738 }
3739
GLUniformMatrix4x3fvAbnormal(napi_env env,napi_callback_info info)3740 static napi_value GLUniformMatrix4x3fvAbnormal(napi_env env, napi_callback_info info)
3741 {
3742 (void)info;
3743 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3744 initGLES(&eglWindow);
3745 glUniformMatrix4x3fv(GL_ZERO, FAILED, GL_TRUE, nullptr);
3746 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glUniformMatrix4x3fv error");
3747 destroyGLES(&eglWindow);
3748 napi_value result = nullptr;
3749 napi_create_int32(env, FAILED, &result);
3750 return result;
3751 }
3752
GLCompileShaderAbnormal(napi_env env,napi_callback_info info)3753 static napi_value GLCompileShaderAbnormal(napi_env env, napi_callback_info info)
3754 {
3755 (void)info;
3756 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3757 initGLES(&eglWindow);
3758 glCompileShader(GL_MAX_TEST_NUM);
3759 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCompileShader error");
3760 destroyGLES(&eglWindow);
3761 napi_value result = nullptr;
3762 napi_create_int32(env, FAILED, &result);
3763 return result;
3764 }
3765
GLCompressedTexImage2DAbnormal(napi_env env,napi_callback_info info)3766 static napi_value GLCompressedTexImage2DAbnormal(napi_env env, napi_callback_info info)
3767 {
3768 (void)info;
3769 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3770 initGLES(&eglWindow);
3771 glCompressedTexImage2D(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ONE, GL_ZERO, nullptr);
3772 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCompressedTexImage2D error");
3773 destroyGLES(&eglWindow);
3774 napi_value result = nullptr;
3775 napi_create_int32(env, FAILED, &result);
3776 return result;
3777 }
3778
GLCompressedTexImage3DAbnormal(napi_env env,napi_callback_info info)3779 static napi_value GLCompressedTexImage3DAbnormal(napi_env env, napi_callback_info info)
3780 {
3781 (void)info;
3782 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3783 initGLES(&eglWindow);
3784 glCompressedTexImage3D(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ONE, GL_ZERO, nullptr);
3785 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCompressedTexImage3D error");
3786 destroyGLES(&eglWindow);
3787 napi_value result = nullptr;
3788 napi_create_int32(env, FAILED, &result);
3789 return result;
3790 }
3791
GLCompressedTexSubImage2DAbnormal(napi_env env,napi_callback_info info)3792 static napi_value GLCompressedTexSubImage2DAbnormal(napi_env env, napi_callback_info info)
3793 {
3794 (void)info;
3795 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3796 initGLES(&eglWindow);
3797 glCompressedTexSubImage2D(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, nullptr);
3798 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCompressedTexSubImage2D error");
3799 destroyGLES(&eglWindow);
3800 napi_value result = nullptr;
3801 napi_create_int32(env, FAILED, &result);
3802 return result;
3803 }
3804
GLCompressedTexSubImage3DAbnormal(napi_env env,napi_callback_info info)3805 static napi_value GLCompressedTexSubImage3DAbnormal(napi_env env, napi_callback_info info)
3806 {
3807 (void)info;
3808 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3809 initGLES(&eglWindow);
3810 glCompressedTexSubImage3D(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO,
3811 nullptr);
3812 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCompressedTexSubImage3D error");
3813 destroyGLES(&eglWindow);
3814 napi_value result = nullptr;
3815 napi_create_int32(env, FAILED, &result);
3816 return result;
3817 }
3818
GLCopyTexSubImage3DAbnormal(napi_env env,napi_callback_info info)3819 static napi_value GLCopyTexSubImage3DAbnormal(napi_env env, napi_callback_info info)
3820 {
3821 (void)info;
3822 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3823 initGLES(&eglWindow);
3824 glCopyTexSubImage3D(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO);
3825 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glCopyTexSubImage3D error");
3826 destroyGLES(&eglWindow);
3827 napi_value result = nullptr;
3828 napi_create_int32(env, FAILED, &result);
3829 return result;
3830 }
3831
GLDrawElementsAbnormal(napi_env env,napi_callback_info info)3832 static napi_value GLDrawElementsAbnormal(napi_env env, napi_callback_info info)
3833 {
3834 (void)info;
3835 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3836 initGLES(&eglWindow);
3837 glDrawElements(GL_ZERO, FAILED, GL_ZERO, nullptr);
3838 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDrawElements error");
3839 destroyGLES(&eglWindow);
3840 napi_value result = nullptr;
3841 napi_create_int32(env, FAILED, &result);
3842 return result;
3843 }
3844
GLDrawElementsBaseVertexAbnormal(napi_env env,napi_callback_info info)3845 static napi_value GLDrawElementsBaseVertexAbnormal(napi_env env, napi_callback_info info)
3846 {
3847 (void)info;
3848 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3849 initGLES(&eglWindow);
3850 glDrawElementsBaseVertex(GL_ZERO, GL_ZERO, GL_ZERO, nullptr, GL_ZERO);
3851 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDrawElementsBaseVertex error");
3852 destroyGLES(&eglWindow);
3853 napi_value result = nullptr;
3854 napi_create_int32(env, FAILED, &result);
3855 return result;
3856 }
3857
GLDrawElementsIndirectAbnormal(napi_env env,napi_callback_info info)3858 static napi_value GLDrawElementsIndirectAbnormal(napi_env env, napi_callback_info info)
3859 {
3860 (void)info;
3861 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3862 initGLES(&eglWindow);
3863 glDrawElementsIndirect(GL_ZERO, GL_ZERO, nullptr);
3864 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDrawElementsIndirect error");
3865 destroyGLES(&eglWindow);
3866 napi_value result = nullptr;
3867 napi_create_int32(env, FAILED, &result);
3868 return result;
3869 }
3870
GLDrawElementsInstancedAbnormal(napi_env env,napi_callback_info info)3871 static napi_value GLDrawElementsInstancedAbnormal(napi_env env, napi_callback_info info)
3872 {
3873 (void)info;
3874 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3875 initGLES(&eglWindow);
3876 glDrawElementsInstanced(GL_ZERO, FAILED, GL_ZERO, nullptr, FAILED);
3877 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDrawElementsInstanced error");
3878 destroyGLES(&eglWindow);
3879 napi_value result = nullptr;
3880 napi_create_int32(env, FAILED, &result);
3881 return result;
3882 }
3883
GLDrawElementsInstancedBaseVertexAbnormal(napi_env env,napi_callback_info info)3884 static napi_value GLDrawElementsInstancedBaseVertexAbnormal(napi_env env, napi_callback_info info)
3885 {
3886 (void)info;
3887 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3888 initGLES(&eglWindow);
3889 glDrawElementsInstancedBaseVertex(FAILED, GL_ONE, GL_UNSIGNED_BYTE, nullptr, GL_ONE, GL_ONE);
3890 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDrawElementsInstancedBaseVertex error");
3891 destroyGLES(&eglWindow);
3892 napi_value result = nullptr;
3893 napi_create_int32(env, FAILED, &result);
3894 return result;
3895 }
3896
GLDrawRangeElementsAbnormal(napi_env env,napi_callback_info info)3897 static napi_value GLDrawRangeElementsAbnormal(napi_env env, napi_callback_info info)
3898 {
3899 (void)info;
3900 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3901 initGLES(&eglWindow);
3902 glDrawRangeElements(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, nullptr);
3903 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDrawRangeElements error");
3904 destroyGLES(&eglWindow);
3905 napi_value result = nullptr;
3906 napi_create_int32(env, FAILED, &result);
3907 return result;
3908 }
3909
GLDrawRangeElementsBaseVertexAbnormal(napi_env env,napi_callback_info info)3910 static napi_value GLDrawRangeElementsBaseVertexAbnormal(napi_env env, napi_callback_info info)
3911 {
3912 (void)info;
3913 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3914 initGLES(&eglWindow);
3915 glDrawRangeElementsBaseVertex(GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, GL_ZERO, nullptr, GL_ZERO);
3916 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glDrawRangeElementsBaseVertex error");
3917 destroyGLES(&eglWindow);
3918 napi_value result = nullptr;
3919 napi_create_int32(env, FAILED, &result);
3920 return result;
3921 }
3922
GLEnableAbnormal(napi_env env,napi_callback_info info)3923 static napi_value GLEnableAbnormal(napi_env env, napi_callback_info info)
3924 {
3925 (void)info;
3926 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3927 initGLES(&eglWindow);
3928 glEnable(GL_ZERO);
3929 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glEnable error");
3930 destroyGLES(&eglWindow);
3931 napi_value result = nullptr;
3932 napi_create_int32(env, FAILED, &result);
3933 return result;
3934 }
3935
GLEnableiAbnormal(napi_env env,napi_callback_info info)3936 static napi_value GLEnableiAbnormal(napi_env env, napi_callback_info info)
3937 {
3938 (void)info;
3939 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3940 initGLES(&eglWindow);
3941 glEnablei(GL_ZERO, GL_ZERO);
3942 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glEnablei error");
3943 destroyGLES(&eglWindow);
3944 napi_value result = nullptr;
3945 napi_create_int32(env, FAILED, &result);
3946 return result;
3947 }
3948
GLEnableVertexAttribArrayAbnormal(napi_env env,napi_callback_info info)3949 static napi_value GLEnableVertexAttribArrayAbnormal(napi_env env, napi_callback_info info)
3950 {
3951 (void)info;
3952 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3953 initGLES(&eglWindow);
3954 glEnableVertexAttribArray(GL_MAX_VERTEX_ATTRIBS);
3955 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glEnableVertexAttribArray error");
3956 destroyGLES(&eglWindow);
3957 napi_value result = nullptr;
3958 napi_create_int32(env, FAILED, &result);
3959 return result;
3960 }
3961
GLEndQueryAbnormal(napi_env env,napi_callback_info info)3962 static napi_value GLEndQueryAbnormal(napi_env env, napi_callback_info info)
3963 {
3964 (void)info;
3965 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3966 initGLES(&eglWindow);
3967 glEndQuery(GL_ZERO);
3968 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glEndQuery error");
3969 destroyGLES(&eglWindow);
3970 napi_value result = nullptr;
3971 napi_create_int32(env, FAILED, &result);
3972 return result;
3973 }
3974
GLEndTransformFeedbackAbnormal(napi_env env,napi_callback_info info)3975 static napi_value GLEndTransformFeedbackAbnormal(napi_env env, napi_callback_info info)
3976 {
3977 (void)info;
3978 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3979 initGLES(&eglWindow);
3980 glEndTransformFeedback();
3981 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glEndTransformFeedback error");
3982 destroyGLES(&eglWindow);
3983 napi_value result = nullptr;
3984 napi_create_int32(env, FAILED, &result);
3985 return result;
3986 }
3987
GLFenceSyncAbnormal(napi_env env,napi_callback_info info)3988 static napi_value GLFenceSyncAbnormal(napi_env env, napi_callback_info info)
3989 {
3990 (void)info;
3991 EGLWindow eglWindow = {EGL_NO_DISPLAY, EGL_NO_SURFACE, EGL_NO_CONTEXT};
3992 initGLES(&eglWindow);
3993 glFenceSync(GL_ZERO, GL_ONE);
3994 NAPI_ASSERT(env, glGetError() != GL_NO_ERROR, "glFenceSync error");
3995 destroyGLES(&eglWindow);
3996 napi_value result = nullptr;
3997 napi_create_int32(env, FAILED, &result);
3998 return result;
3999 }
4000
4001 EXTERN_C_START
Init(napi_env env,napi_value exports)4002 static napi_value Init(napi_env env, napi_value exports)
4003 {
4004 napi_property_descriptor desc[] = {
4005 {"gLSamplerParameterfv", nullptr, GLSamplerParameterfv, nullptr, nullptr, nullptr, napi_default, nullptr},
4006 {"gLSamplerParameteri", nullptr, GLSamplerParameteri, nullptr, nullptr, nullptr, napi_default, nullptr},
4007 {"gLSamplerParameterIiv", nullptr, GLSamplerParameterIiv, nullptr, nullptr, nullptr, napi_default, nullptr},
4008 {"gLSamplerParameterIuiv", nullptr, GLSamplerParameterIuiv, nullptr, nullptr, nullptr, napi_default, nullptr},
4009 {"gLSamplerParameteriv", nullptr, GLSamplerParameteriv, nullptr, nullptr, nullptr, napi_default, nullptr},
4010 {"gLScissor", nullptr, GLScissor, nullptr, nullptr, nullptr, napi_default, nullptr},
4011 {"gLShaderBinary", nullptr, GLShaderBinary, nullptr, nullptr, nullptr, napi_default, nullptr},
4012 {"gLShaderSource", nullptr, GLShaderSource, nullptr, nullptr, nullptr, napi_default, nullptr},
4013 {"gLStencilFunc", nullptr, GLStencilFunc, nullptr, nullptr, nullptr, napi_default, nullptr},
4014 {"gLStencilFuncSeparate", nullptr, GLStencilFuncSeparate, nullptr, nullptr, nullptr, napi_default, nullptr},
4015 {"gLStencilMask", nullptr, GLStencilMask, nullptr, nullptr, nullptr, napi_default, nullptr},
4016 {"gLStencilMaskSeparate", nullptr, GLStencilMaskSeparate, nullptr, nullptr, nullptr, napi_default, nullptr},
4017 {"gLStencilOp", nullptr, GLStencilOp, nullptr, nullptr, nullptr, napi_default, nullptr},
4018 {"gLStencilOpSeparate", nullptr, GLStencilOpSeparate, nullptr, nullptr, nullptr, napi_default, nullptr},
4019 {"gLTexBuffer", nullptr, GLTexBuffer, nullptr, nullptr, nullptr, napi_default, nullptr},
4020 {"gLTexBufferRange", nullptr, GLTexBufferRange, nullptr, nullptr, nullptr, napi_default, nullptr},
4021 {"gLTexImage2D", nullptr, GLTexImage2D, nullptr, nullptr, nullptr, napi_default, nullptr},
4022 {"gLTexImage3D", nullptr, GLTexImage3D, nullptr, nullptr, nullptr, napi_default, nullptr},
4023 {"gLTexParameterf", nullptr, GLTexParameterf, nullptr, nullptr, nullptr, napi_default, nullptr},
4024 {"gLTexParameterfv", nullptr, GLTexParameterfv, nullptr, nullptr, nullptr, napi_default, nullptr},
4025 {"gLTexParameteri", nullptr, GLTexParameteri, nullptr, nullptr, nullptr, napi_default, nullptr},
4026 {"gLTexParameterIiv", nullptr, GLTexParameterIiv, nullptr, nullptr, nullptr, napi_default, nullptr},
4027 {"gLTexParameterIuiv", nullptr, GLTexParameterIuiv, nullptr, nullptr, nullptr, napi_default, nullptr},
4028 {"gLTexParameteriv", nullptr, GLTexParameteriv, nullptr, nullptr, nullptr, napi_default, nullptr},
4029 {"gLTexStorage2D", nullptr, GLTexStorage2D, nullptr, nullptr, nullptr, napi_default, nullptr},
4030 {"gLTexStorage2DMultisample", nullptr, GLTexStorage2DMultisample, nullptr, nullptr, nullptr, napi_default,
4031 nullptr},
4032 {"gLTexStorage3D", nullptr, GLTexStorage3D, nullptr, nullptr, nullptr, napi_default, nullptr},
4033 {"gLTexStorage3DMultisample", nullptr, GLTexStorage3DMultisample, nullptr, nullptr, nullptr, napi_default,
4034 nullptr},
4035 {"gLTexSubImage2D", nullptr, GLTexSubImage2D, nullptr, nullptr, nullptr, napi_default, nullptr},
4036 {"gLTexSubImage3D", nullptr, GLTexSubImage3D, nullptr, nullptr, nullptr, napi_default, nullptr},
4037 {"gLTransformFeedbackVaryings", nullptr, GLTransformFeedbackVaryings, nullptr, nullptr, nullptr, napi_default,
4038 nullptr},
4039 {"gLUniform1f", nullptr, GLUniform1f, nullptr, nullptr, nullptr, napi_default, nullptr},
4040 {"gLUniform1fv", nullptr, GLUniform1fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4041 {"gLUniform1i", nullptr, GLUniform1i, nullptr, nullptr, nullptr, napi_default, nullptr},
4042 {"gLUniform1iv", nullptr, GLUniform1iv, nullptr, nullptr, nullptr, napi_default, nullptr},
4043 {"gLUniform1ui", nullptr, GLUniform1ui, nullptr, nullptr, nullptr, napi_default, nullptr},
4044 {"gLUniform1uiv", nullptr, GLUniform1uiv, nullptr, nullptr, nullptr, napi_default, nullptr},
4045 {"gLUniform2f", nullptr, GLUniform2f, nullptr, nullptr, nullptr, napi_default, nullptr},
4046 {"gLUniform2fv", nullptr, GLUniform2fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4047 {"gLUniform2i", nullptr, GLUniform2i, nullptr, nullptr, nullptr, napi_default, nullptr},
4048 {"gLUniform2iv", nullptr, GLUniform2iv, nullptr, nullptr, nullptr, napi_default, nullptr},
4049 {"gLUniform2ui", nullptr, GLUniform2ui, nullptr, nullptr, nullptr, napi_default, nullptr},
4050 {"gLUniform2uiv", nullptr, GLUniform2uiv, nullptr, nullptr, nullptr, napi_default, nullptr},
4051 {"gLUniform3f", nullptr, GLUniform3f, nullptr, nullptr, nullptr, napi_default, nullptr},
4052 {"gLUniform3fv", nullptr, GLUniform3fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4053 {"gLUniform3i", nullptr, GLUniform3i, nullptr, nullptr, nullptr, napi_default, nullptr},
4054 {"gLUniform3iv", nullptr, GLUniform3iv, nullptr, nullptr, nullptr, napi_default, nullptr},
4055 {"gLUniform3ui", nullptr, GLUniform3ui, nullptr, nullptr, nullptr, napi_default, nullptr},
4056 {"gLUniform3uiv", nullptr, GLUniform3uiv, nullptr, nullptr, nullptr, napi_default, nullptr},
4057 {"gLUniform4f", nullptr, GLUniform4f, nullptr, nullptr, nullptr, napi_default, nullptr},
4058 {"gLUniform4fv", nullptr, GLUniform4fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4059 {"gLUniform4i", nullptr, GLUniform4i, nullptr, nullptr, nullptr, napi_default, nullptr},
4060 {"gLUniform4iv", nullptr, GLUniform4iv, nullptr, nullptr, nullptr, napi_default, nullptr},
4061 {"gLUniform4ui", nullptr, GLUniform4ui, nullptr, nullptr, nullptr, napi_default, nullptr},
4062 {"gLUniform4uiv", nullptr, GLUniform4uiv, nullptr, nullptr, nullptr, napi_default, nullptr},
4063 {"gLUniformBlockBinding", nullptr, GLUniformBlockBinding, nullptr, nullptr, nullptr, napi_default, nullptr},
4064 {"gLUniformMatrix2fv", nullptr, GLUniformMatrix2fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4065 {"gLUniformMatrix2x3fv", nullptr, GLUniformMatrix2x3fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4066 {"gLUniformMatrix2x4fv", nullptr, GLUniformMatrix2x4fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4067 {"gLUniformMatrix3fv", nullptr, GLUniformMatrix3fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4068 {"gLUniformMatrix3x2fv", nullptr, GLUniformMatrix3x2fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4069 {"gLUniformMatrix3x4fv", nullptr, GLUniformMatrix3x4fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4070 {"gLUniformMatrix4fv", nullptr, GLUniformMatrix4fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4071 {"gLUniformMatrix4x2fv", nullptr, GLUniformMatrix4x2fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4072 {"gLUniformMatrix4x3fv", nullptr, GLUniformMatrix4x3fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4073 {"gLUnmapBuffer", nullptr, GLUnmapBuffer, nullptr, nullptr, nullptr, napi_default, nullptr},
4074 {"gLUseProgram", nullptr, GLUseProgram, nullptr, nullptr, nullptr, napi_default, nullptr},
4075 {"gLUseProgramStages", nullptr, GLUseProgramStages, nullptr, nullptr, nullptr, napi_default, nullptr},
4076 {"gLValidateProgram", nullptr, GLValidateProgram, nullptr, nullptr, nullptr, napi_default, nullptr},
4077 {"gLValidateProgramPipeline", nullptr, GLValidateProgramPipeline, nullptr, nullptr, nullptr, napi_default,
4078 nullptr},
4079 {"gLVertexAttrib1f", nullptr, GLVertexAttrib1f, nullptr, nullptr, nullptr, napi_default, nullptr},
4080 {"gLVertexAttrib1fv", nullptr, GLVertexAttrib1fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4081 {"gLVertexAttrib2f", nullptr, GLVertexAttrib2f, nullptr, nullptr, nullptr, napi_default, nullptr},
4082 {"gLVertexAttrib2fv", nullptr, GLVertexAttrib2fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4083 {"gLVertexAttrib3f", nullptr, GLVertexAttrib3f, nullptr, nullptr, nullptr, napi_default, nullptr},
4084 {"gLVertexAttrib3fv", nullptr, GLVertexAttrib3fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4085 {"gLVertexAttrib4f", nullptr, GLVertexAttrib4f, nullptr, nullptr, nullptr, napi_default, nullptr},
4086 {"gLVertexAttrib4fv", nullptr, GLVertexAttrib4fv, nullptr, nullptr, nullptr, napi_default, nullptr},
4087 {"gLVertexAttribBinding", nullptr, GLVertexAttribBinding, nullptr, nullptr, nullptr, napi_default, nullptr},
4088 {"gLVertexAttribDivisor", nullptr, GLVertexAttribDivisor, nullptr, nullptr, nullptr, napi_default, nullptr},
4089 {"gLVertexAttribFormat", nullptr, GLVertexAttribFormat, nullptr, nullptr, nullptr, napi_default, nullptr},
4090 {"gLVertexAttribI4i", nullptr, GLVertexAttribI4i, nullptr, nullptr, nullptr, napi_default, nullptr},
4091 {"gLVertexAttribI4iv", nullptr, GLVertexAttribI4iv, nullptr, nullptr, nullptr, napi_default, nullptr},
4092 {"gLVertexAttribI4ui", nullptr, GLVertexAttribI4ui, nullptr, nullptr, nullptr, napi_default, nullptr},
4093 {"gLVertexAttribI4uiv", nullptr, GLVertexAttribI4uiv, nullptr, nullptr, nullptr, napi_default, nullptr},
4094 {"gLVertexAttribIFormat", nullptr, GLVertexAttribIFormat, nullptr, nullptr, nullptr, napi_default, nullptr},
4095 {"gLVertexAttribIPointer", nullptr, GLVertexAttribIPointer, nullptr, nullptr, nullptr, napi_default, nullptr},
4096 {"gLVertexAttribPointer", nullptr, GLVertexAttribPointer, nullptr, nullptr, nullptr, napi_default, nullptr},
4097 {"gLVertexBindingDivisor", nullptr, GLVertexBindingDivisor, nullptr, nullptr, nullptr, napi_default, nullptr},
4098 {"gLViewport", nullptr, GLViewport, nullptr, nullptr, nullptr, napi_default, nullptr},
4099 {"gLWaitSync", nullptr, GLWaitSync, nullptr, nullptr, nullptr, napi_default, nullptr},
4100 {"glActiveShaderProgramAbnormal", nullptr, GLActiveShaderProgramAbnormal, nullptr, nullptr, nullptr,
4101 napi_default, nullptr},
4102 {"glActiveTextureAbnormal", nullptr, GLActiveTextureAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4103 {"glAttachShaderAbnormal", nullptr, GLAttachShaderAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4104 {"glBeginQueryAbnormal", nullptr, GLBeginQueryAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4105 {"glBeginTransformFeedbackAbnormal", nullptr, GLBeginTransformFeedbackAbnormal, nullptr, nullptr, nullptr,
4106 napi_default, nullptr},
4107 {"glBindAttribLocationAbnormal", nullptr, GLBindAttribLocationAbnormal, nullptr, nullptr, nullptr, napi_default,
4108 nullptr},
4109 {"glBindBufferAbnormal", nullptr, GLBindBufferAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4110 {"glBindBufferBaseAbnormal", nullptr, GLBindBufferBaseAbnormal, nullptr, nullptr, nullptr, napi_default,
4111 nullptr},
4112 {"glBindBufferRangeAbnormal", nullptr, GLBindBufferRangeAbnormal, nullptr, nullptr, nullptr, napi_default,
4113 nullptr},
4114 {"glBindFramebufferAbnormal", nullptr, GLBindFramebufferAbnormal, nullptr, nullptr, nullptr, napi_default,
4115 nullptr},
4116 {"glBindImageTextureAbnormal", nullptr, GLBindImageTextureAbnormal, nullptr, nullptr, nullptr, napi_default,
4117 nullptr},
4118 {"glBindProgramPipelineAbnormal", nullptr, GLBindProgramPipelineAbnormal, nullptr, nullptr, nullptr,
4119 napi_default, nullptr},
4120 {"glBindRenderbufferAbnormal", nullptr, GLBindRenderbufferAbnormal, nullptr, nullptr, nullptr, napi_default,
4121 nullptr},
4122 {"glBindSamplerAbnormal", nullptr, GLBindSamplerAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4123 {"glBindTextureAbnormal", nullptr, GLBindTextureAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4124 {"glBindTransformFeedbackAbnormal", nullptr, GLBindTransformFeedbackAbnormal, nullptr, nullptr, nullptr,
4125 napi_default, nullptr},
4126 {"glBindVertexArrayAbnormal", nullptr, GLBindVertexArrayAbnormal, nullptr, nullptr, nullptr, napi_default,
4127 nullptr},
4128 {"glBindVertexBufferAbnormal", nullptr, GLBindVertexBufferAbnormal, nullptr, nullptr, nullptr, napi_default,
4129 nullptr},
4130 {"glBlendEquationAbnormal", nullptr, GLBlendEquationAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4131 {"glBlendEquationiAbnormal", nullptr, GLBlendEquationiAbnormal, nullptr, nullptr, nullptr, napi_default,
4132 nullptr},
4133 {"glBlendEquationSeparateAbnormal", nullptr, GLBlendEquationSeparateAbnormal, nullptr, nullptr, nullptr,
4134 napi_default, nullptr},
4135 {"glBlendEquationSeparateiAbnormal", nullptr, GLBlendEquationSeparateiAbnormal, nullptr, nullptr, nullptr,
4136 napi_default, nullptr},
4137 {"glBlendFuncAbnormal", nullptr, GLBlendFuncAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4138 {"glBlendFunciAbnormal", nullptr, GLBlendFunciAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4139 {"glBlendFuncSeparateAbnormal", nullptr, GLBlendFuncSeparateAbnormal, nullptr, nullptr, nullptr, napi_default,
4140 nullptr},
4141 {"glBlendFuncSeparateiAbnormal", nullptr, GLBlendFuncSeparateiAbnormal, nullptr, nullptr, nullptr, napi_default,
4142 nullptr},
4143 {"glBlitFramebufferAbnormal", nullptr, GLBlitFramebufferAbnormal, nullptr, nullptr, nullptr, napi_default,
4144 nullptr},
4145 {"glBufferDataAbnormal", nullptr, GLBufferDataAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4146 {"glBufferSubDataAbnormal", nullptr, GLBufferSubDataAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4147 {"glCheckFramebufferStatusAbnormal", nullptr, GLCheckFramebufferStatusAbnormal, nullptr, nullptr, nullptr,
4148 napi_default, nullptr},
4149 {"glClearAbnormal", nullptr, GLClearAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4150 {"glClearBufferfiAbnormal", nullptr, GLClearBufferfiAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4151 {"glClearBufferfvAbnormal", nullptr, GLClearBufferfvAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4152 {"glClearBufferivAbnormal", nullptr, GLClearBufferivAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4153 {"glClearBufferuivAbnormal", nullptr, GLClearBufferuivAbnormal, nullptr, nullptr, nullptr, napi_default,
4154 nullptr},
4155 {"glClientWaitSyncAbnormal", nullptr, GLClientWaitSyncAbnormal, nullptr, nullptr, nullptr, napi_default,
4156 nullptr},
4157 {"glColorMaskiAbnormal", nullptr, GLColorMaskiAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4158 {"glCopyBufferSubDataAbnormal", nullptr, GLCopyBufferSubDataAbnormal, nullptr, nullptr, nullptr, napi_default,
4159 nullptr},
4160 {"glCopyImageSubDataAbnormal", nullptr, GLCopyImageSubDataAbnormal, nullptr, nullptr, nullptr, napi_default,
4161 nullptr},
4162 {"glCopyTexImage2DAbnormal", nullptr, GLCopyTexImage2DAbnormal, nullptr, nullptr, nullptr, napi_default,
4163 nullptr},
4164 {"glCopyTexSubImage2DAbnormal", nullptr, GLCopyTexSubImage2DAbnormal, nullptr, nullptr, nullptr, napi_default,
4165 nullptr},
4166 {"glCreateShaderAbnormal", nullptr, GLCreateShaderAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4167 {"glCreateShaderProgramvAbnormal", nullptr, GLCreateShaderProgramvAbnormal, nullptr, nullptr, nullptr,
4168 napi_default, nullptr},
4169 {"glCullFaceAbnormal", nullptr, GLCullFaceAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4170 {"glDebugMessageControlAbnormal", nullptr, GLDebugMessageControlAbnormal, nullptr, nullptr, nullptr,
4171 napi_default, nullptr},
4172 {"glDeleteBuffersAbnormal", nullptr, GLDeleteBuffersAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4173 {"glDeleteFramebuffersAbnormal", nullptr, GLDeleteFramebuffersAbnormal, nullptr, nullptr, nullptr, napi_default,
4174 nullptr},
4175 {"glDeleteProgramAbnormal", nullptr, GLDeleteProgramAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4176 {"glDeleteProgramPipelinesAbnormal", nullptr, GLDeleteProgramPipelinesAbnormal, nullptr, nullptr, nullptr,
4177 napi_default, nullptr},
4178 {"glDeleteQueriesAbnormal", nullptr, GLDeleteQueriesAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4179 {"glDeleteRenderbuffersAbnormal", nullptr, GLDeleteRenderbuffersAbnormal, nullptr, nullptr, nullptr,
4180 napi_default, nullptr},
4181 {"glDeleteSamplersAbnormal", nullptr, GLDeleteSamplersAbnormal, nullptr, nullptr, nullptr, napi_default,
4182 nullptr},
4183 {"glDeleteShaderAbnormal", nullptr, GLDeleteShaderAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4184 {"glDeleteSyncAbnormal", nullptr, GLDeleteSyncAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4185 {"glDeleteTexturesAbnormal", nullptr, GLDeleteTexturesAbnormal, nullptr, nullptr, nullptr, napi_default,
4186 nullptr},
4187 {"glDeleteTransformFeedbacksAbnormal", nullptr, GLDeleteTransformFeedbacksAbnormal, nullptr, nullptr, nullptr,
4188 napi_default, nullptr},
4189 {"glDeleteVertexArraysAbnormal", nullptr, GLDeleteVertexArraysAbnormal, nullptr, nullptr, nullptr, napi_default,
4190 nullptr},
4191 {"glDepthFuncAbnormal", nullptr, GLDepthFuncAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4192 {"glDetachShaderAbnormal", nullptr, GLDetachShaderAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4193 {"glDisableAbnormal", nullptr, GLDisableAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4194 {"glDisableiAbnormal", nullptr, GLDisableiAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4195 {"glDisableVertexAttribArrayAbnormal", nullptr, GLDisableVertexAttribArrayAbnormal, nullptr, nullptr, nullptr,
4196 napi_default, nullptr},
4197 {"glDispatchComputeAbnormal", nullptr, GLDispatchComputeAbnormal, nullptr, nullptr, nullptr, napi_default,
4198 nullptr},
4199 {"glDispatchComputeIndirectAbnormal", nullptr, GLDispatchComputeIndirectAbnormal, nullptr, nullptr, nullptr,
4200 napi_default, nullptr},
4201 {"glDrawArraysAbnormal", nullptr, GLDrawArraysAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4202 {"glDrawArraysIndirectAbnormal", nullptr, GLDrawArraysIndirectAbnormal, nullptr, nullptr, nullptr, napi_default,
4203 nullptr},
4204 {"glDrawArraysInstancedAbnormal", nullptr, GLDrawArraysInstancedAbnormal, nullptr, nullptr, nullptr,
4205 napi_default, nullptr},
4206 {"glDrawBuffersAbnormal", nullptr, GLDrawBuffersAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4207 {"glFlushMappedBufferRangeAbnormal", nullptr, GLFlushMappedBufferRangeAbnormal, nullptr, nullptr, nullptr,
4208 napi_default, nullptr},
4209 {"glFramebufferParameteriAbnormal", nullptr, GLFramebufferParameteriAbnormal, nullptr, nullptr, nullptr,
4210 napi_default, nullptr},
4211 {"glFramebufferRenderbufferAbnormal", nullptr, GLFramebufferRenderbufferAbnormal, nullptr, nullptr, nullptr,
4212 napi_default, nullptr},
4213 {"glFramebufferTextureAbnormal", nullptr, GLFramebufferTextureAbnormal, nullptr, nullptr, nullptr, napi_default,
4214 nullptr},
4215 {"glFramebufferTexture2DAbnormal", nullptr, GLFramebufferTexture2DAbnormal, nullptr, nullptr, nullptr,
4216 napi_default, nullptr},
4217 {"glFramebufferTextureLayerAbnormal", nullptr, GLFramebufferTextureLayerAbnormal, nullptr, nullptr, nullptr,
4218 napi_default, nullptr},
4219 {"glFrontFaceAbnormal", nullptr, GLFrontFaceAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4220 {"glGenBuffersAbnormal", nullptr, GLGenBuffersAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4221 {"glGenerateMipmapAbnormal", nullptr, GLGenerateMipmapAbnormal, nullptr, nullptr, nullptr, napi_default,
4222 nullptr},
4223 {"glGenFramebuffersAbnormal", nullptr, GLGenFramebuffersAbnormal, nullptr, nullptr, nullptr, napi_default,
4224 nullptr},
4225 {"glGenProgramPipelinesAbnormal", nullptr, GLGenProgramPipelinesAbnormal, nullptr, nullptr, nullptr,
4226 napi_default, nullptr},
4227 {"glGenQueriesAbnormal", nullptr, GLGenQueriesAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4228 {"glGenRenderbuffersAbnormal", nullptr, GLGenRenderbuffersAbnormal, nullptr, nullptr, nullptr, napi_default,
4229 nullptr},
4230 {"glGenSamplersAbnormal", nullptr, GLGenSamplersAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4231 {"glGenTexturesAbnormal", nullptr, GLGenTexturesAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4232 {"glGenTransformFeedbacksAbnormal", nullptr, GLGenTransformFeedbacksAbnormal, nullptr, nullptr, nullptr,
4233 napi_default, nullptr},
4234 {"glGenVertexArraysAbnormal", nullptr, GLGenVertexArraysAbnormal, nullptr, nullptr, nullptr, napi_default,
4235 nullptr},
4236 {"glGetActiveAttribAbnormal", nullptr, GLGetActiveAttribAbnormal, nullptr, nullptr, nullptr, napi_default,
4237 nullptr},
4238 {"glGetAttachedShadersAbnormal", nullptr, GLGetAttachedShadersAbnormal, nullptr, nullptr, nullptr, napi_default,
4239 nullptr},
4240 {"glGetAttribLocationAbnormal", nullptr, GLGetAttribLocationAbnormal, nullptr, nullptr, nullptr, napi_default,
4241 nullptr},
4242 {"glGetBooleani_vAbnormal", nullptr, GLGetBooleani_vAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4243 {"glGetBooleanvAbnormal", nullptr, GLGetBooleanvAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4244 {"glGetBufferParameteri64vAbnormal", nullptr, GLGetBufferParameteri64vAbnormal, nullptr, nullptr, nullptr,
4245 napi_default, nullptr},
4246 {"glGetBufferParameterivAbnormal", nullptr, GLGetBufferParameterivAbnormal, nullptr, nullptr, nullptr,
4247 napi_default, nullptr},
4248 {"glGetBufferPointervAbnormal", nullptr, GLGetBufferPointervAbnormal, nullptr, nullptr, nullptr, napi_default,
4249 nullptr},
4250 {"glGetFloatvAbnormal", nullptr, GLGetFloatvAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4251 {"glGetFragDataLocationAbnormal", nullptr, GLGetFragDataLocationAbnormal, nullptr, nullptr, nullptr,
4252 napi_default, nullptr},
4253 {"glGetFramebufferAttachmentParameterivAbnormal", nullptr, GLGetFramebufferAttachmentParameterivAbnormal,
4254 nullptr, nullptr, nullptr, napi_default, nullptr},
4255 {"glGetFramebufferParameterivAbnormal", nullptr, GLGetFramebufferParameterivAbnormal, nullptr, nullptr, nullptr,
4256 napi_default, nullptr},
4257 {"glGetInteger64i_vAbnormal", nullptr, GLGetInteger64i_vAbnormal, nullptr, nullptr, nullptr, napi_default,
4258 nullptr},
4259 {"glGetInteger64vAbnormal", nullptr, GLGetInteger64vAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4260 {"glGetIntegeri_vAbnormal", nullptr, GLGetIntegeri_vAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4261 {"glGetIntegervAbnormal", nullptr, GLGetIntegervAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4262 {"glGetInternalformativAbnormal", nullptr, GLGetInternalformativAbnormal, nullptr, nullptr, nullptr,
4263 napi_default, nullptr},
4264 {"glGetObjectLabelAbnormal", nullptr, GLGetObjectLabelAbnormal, nullptr, nullptr, nullptr, napi_default,
4265 nullptr},
4266 {"glGetObjectPtrLabelAbnormal", nullptr, GLGetObjectPtrLabelAbnormal, nullptr, nullptr, nullptr, napi_default,
4267 nullptr},
4268 {"glGetPointervAbnormal", nullptr, GLGetPointervAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4269 {"glGetProgramBinaryAbnormal", nullptr, GLGetProgramBinaryAbnormal, nullptr, nullptr, nullptr, napi_default,
4270 nullptr},
4271 {"glGetProgramInterfaceivAbnormal", nullptr, GLGetProgramInterfaceivAbnormal, nullptr, nullptr, nullptr,
4272 napi_default, nullptr},
4273 {"glGetProgramivAbnormal", nullptr, GLGetProgramivAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4274 {"glGetProgramPipelineivAbnormal", nullptr, GLGetProgramPipelineivAbnormal, nullptr, nullptr, nullptr,
4275 napi_default, nullptr},
4276 {"glGetProgramResourceIndexAbnormal", nullptr, GLGetProgramResourceIndexAbnormal, nullptr, nullptr, nullptr,
4277 napi_default, nullptr},
4278 {"glGetProgramResourceivAbnormal", nullptr, GLGetProgramResourceivAbnormal, nullptr, nullptr, nullptr,
4279 napi_default, nullptr},
4280 {"glGetProgramResourceLocationAbnormal", nullptr, GLGetProgramResourceLocationAbnormal, nullptr, nullptr,
4281 nullptr, napi_default, nullptr},
4282 {"glGetProgramResourceNameAbnormal", nullptr, GLGetProgramResourceNameAbnormal, nullptr, nullptr, nullptr,
4283 napi_default, nullptr},
4284 {"glGetQueryivAbnormal", nullptr, GLGetQueryivAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4285 {"glGetQueryObjectuivAbnormal", nullptr, GLGetQueryObjectuivAbnormal, nullptr, nullptr, nullptr, napi_default,
4286 nullptr},
4287 {"glGetRenderbufferParameterivAbnormal", nullptr, GLGetRenderbufferParameterivAbnormal, nullptr, nullptr,
4288 nullptr, napi_default, nullptr},
4289 {"glGetSamplerParameterfvAbnormal", nullptr, GLGetSamplerParameterfvAbnormal, nullptr, nullptr, nullptr,
4290 napi_default, nullptr},
4291 {"glGetSamplerParameterIivAbnormal", nullptr, GLGetSamplerParameterIivAbnormal, nullptr, nullptr, nullptr,
4292 napi_default, nullptr},
4293 {"glGetSamplerParameterIuivAbnormal", nullptr, GLGetSamplerParameterIuivAbnormal, nullptr, nullptr, nullptr,
4294 napi_default, nullptr},
4295 {"glGetSamplerParameterivAbnormal", nullptr, GLGetSamplerParameterivAbnormal, nullptr, nullptr, nullptr,
4296 napi_default, nullptr},
4297 {"glUniform1fAbnormal", nullptr, GLUniform1fAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4298 {"glUniform1fvAbnormal", nullptr, GLUniform1fvAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4299 {"glUniform1iAbnormal", nullptr, GLUniform1iAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4300 {"glUniform1ivAbnormal", nullptr, GLUniform1ivAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4301 {"glUniform1uiAbnormal", nullptr, GLUniform1uiAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4302 {"glUniform1uivAbnormal", nullptr, GLUniform1uivAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4303 {"glUniform2fAbnormal", nullptr, GLUniform2fAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4304 {"glUniform2fvAbnormal", nullptr, GLUniform2fvAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4305 {"glUniform2iAbnormal", nullptr, GLUniform2iAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4306 {"glUniform2ivAbnormal", nullptr, GLUniform2ivAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4307 {"glUniform2uiAbnormal", nullptr, GLUniform2uiAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4308 {"glUniform2uivAbnormal", nullptr, GLUniform2uivAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4309 {"glUniform3fAbnormal", nullptr, GLUniform3fAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4310 {"glUniform3fvAbnormal", nullptr, GLUniform3fvAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4311 {"glUniform3iAbnormal", nullptr, GLUniform3iAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4312 {"glUniform3ivAbnormal", nullptr, GLUniform3ivAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4313 {"glUniform3uiAbnormal", nullptr, GLUniform3uiAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4314 {"glUniform3uivAbnormal", nullptr, GLUniform3uivAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4315 {"glUniform4fAbnormal", nullptr, GLUniform4fAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4316 {"glUniform4fvAbnormal", nullptr, GLUniform4fvAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4317 {"glUniform4iAbnormal", nullptr, GLUniform4iAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4318 {"glUniform4ivAbnormal", nullptr, GLUniform4ivAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4319 {"glUniform4uiAbnormal", nullptr, GLUniform4uiAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4320 {"glUniform4uivAbnormal", nullptr, GLUniform4uivAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4321 {"glUniformBlockBindingAbnormal", nullptr, GLUniformBlockBindingAbnormal, nullptr, nullptr, nullptr,
4322 napi_default, nullptr},
4323 {"glUniformMatrix2fvAbnormal", nullptr, GLUniformMatrix2fvAbnormal, nullptr, nullptr, nullptr, napi_default,
4324 nullptr},
4325 {"glUniformMatrix2x3fvAbnormal", nullptr, GLUniformMatrix2x3fvAbnormal, nullptr, nullptr, nullptr, napi_default,
4326 nullptr},
4327 {"glUniformMatrix2x4fvAbnormal", nullptr, GLUniformMatrix2x4fvAbnormal, nullptr, nullptr, nullptr, napi_default,
4328 nullptr},
4329 {"glUniformMatrix3fvAbnormal", nullptr, GLUniformMatrix3fvAbnormal, nullptr, nullptr, nullptr, napi_default,
4330 nullptr},
4331 {"glUniformMatrix3x2fvAbnormal", nullptr, GLUniformMatrix3x2fvAbnormal, nullptr, nullptr, nullptr, napi_default,
4332 nullptr},
4333 {"glUniformMatrix3x4fvAbnormal", nullptr, GLUniformMatrix3x4fvAbnormal, nullptr, nullptr, nullptr, napi_default,
4334 nullptr},
4335 {"glUniformMatrix4fvAbnormal", nullptr, GLUniformMatrix4fvAbnormal, nullptr, nullptr, nullptr, napi_default,
4336 nullptr},
4337 {"glUniformMatrix4x2fvAbnormal", nullptr, GLUniformMatrix4x2fvAbnormal, nullptr, nullptr, nullptr, napi_default,
4338 nullptr},
4339 {"glUniformMatrix4x3fvAbnormal", nullptr, GLUniformMatrix4x3fvAbnormal, nullptr, nullptr, nullptr, napi_default,
4340 nullptr},
4341 {"glCompileShaderAbnormal", nullptr, GLCompileShaderAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4342 {"glCompressedTexImage2DAbnormal", nullptr, GLCompressedTexImage2DAbnormal, nullptr, nullptr, nullptr,
4343 napi_default, nullptr},
4344 {"glCompressedTexImage3DAbnormal", nullptr, GLCompressedTexImage3DAbnormal, nullptr, nullptr, nullptr,
4345 napi_default, nullptr},
4346 {"glCompressedTexSubImage2DAbnormal", nullptr, GLCompressedTexSubImage2DAbnormal, nullptr, nullptr, nullptr,
4347 napi_default, nullptr},
4348 {"glCompressedTexSubImage3DAbnormal", nullptr, GLCompressedTexSubImage3DAbnormal, nullptr, nullptr, nullptr,
4349 napi_default, nullptr},
4350 {"glCopyTexSubImage3DAbnormal", nullptr, GLCopyTexSubImage3DAbnormal, nullptr, nullptr, nullptr, napi_default,
4351 nullptr},
4352 {"glDrawElementsAbnormal", nullptr, GLDrawElementsAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4353 {"glDrawElementsBaseVertexAbnormal", nullptr, GLDrawElementsBaseVertexAbnormal, nullptr, nullptr, nullptr,
4354 napi_default, nullptr},
4355 {"glDrawElementsIndirectAbnormal", nullptr, GLDrawElementsIndirectAbnormal, nullptr, nullptr, nullptr,
4356 napi_default, nullptr},
4357 {"glDrawElementsInstancedAbnormal", nullptr, GLDrawElementsInstancedAbnormal, nullptr, nullptr, nullptr,
4358 napi_default, nullptr},
4359 {"glDrawElementsInstancedBaseVertexAbnormal", nullptr, GLDrawElementsInstancedBaseVertexAbnormal, nullptr,
4360 nullptr, nullptr, napi_default, nullptr},
4361 {"glDrawRangeElementsAbnormal", nullptr, GLDrawRangeElementsAbnormal, nullptr, nullptr, nullptr, napi_default,
4362 nullptr},
4363 {"glDrawRangeElementsBaseVertexAbnormal", nullptr, GLDrawRangeElementsBaseVertexAbnormal, nullptr, nullptr,
4364 nullptr, napi_default, nullptr},
4365 {"glEnableAbnormal", nullptr, GLEnableAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4366 {"glEnableiAbnormal", nullptr, GLEnableiAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4367 {"glEnableVertexAttribArrayAbnormal", nullptr, GLEnableVertexAttribArrayAbnormal, nullptr, nullptr, nullptr,
4368 napi_default, nullptr},
4369 {"glEndQueryAbnormal", nullptr, GLEndQueryAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4370 {"glEndTransformFeedbackAbnormal", nullptr, GLEndTransformFeedbackAbnormal, nullptr, nullptr, nullptr,
4371 napi_default, nullptr},
4372 {"glFenceSyncAbnormal", nullptr, GLFenceSyncAbnormal, nullptr, nullptr, nullptr, napi_default, nullptr},
4373
4374 };
4375 napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc);
4376 return exports;
4377 }
4378 EXTERN_C_END
4379
4380 static napi_module demoModule = {
4381 .nm_version = 1,
4382 .nm_flags = 0,
4383 .nm_filename = nullptr,
4384 .nm_register_func = Init,
4385 .nm_modname = "media",
4386 .nm_priv = ((void *)0),
4387 .reserved = {0},
4388 };
4389
RegisterEntryModule(void)4390 extern "C" __attribute__((constructor)) void RegisterEntryModule(void) { napi_module_register(&demoModule); }
4391