OVERRIDE(glBindSampler);
- OVERRIDE(glDeleteSync);
+ OVERRIDE_CUSTOM(glFenceSync);
+ OVERRIDE_CUSTOM(glClientWaitSync);
+ OVERRIDE_CUSTOM(glWaitSync);
+ OVERRIDE_CUSTOM(glDeleteSync);
+ OVERRIDE_CUSTOM(glIsSync);
+ OVERRIDE_CUSTOM(glGetSynciv);
OVERRIDE(glGetIntegeri_v);
OVERRIDE(glGetInteger64i_v);
ctx->m_glBindSampler_enc(ctx, unit, sampler);
}
+GLsync GL2Encoder::s_glFenceSync(void* self, GLenum condition, GLbitfield flags) {
+ GL2Encoder *ctx = (GL2Encoder *)self;
+ uint64_t syncHandle = ctx->glFenceSyncAEMU(ctx, condition, flags);
+ return (GLsync)(uintptr_t)syncHandle;
+}
+
+GLenum GL2Encoder::s_glClientWaitSync(void* self, GLsync wait_on, GLbitfield flags, GLuint64 timeout) {
+ GL2Encoder *ctx = (GL2Encoder *)self;
+ return ctx->glClientWaitSyncAEMU(ctx, (uint64_t)(uintptr_t)wait_on, flags, timeout);
+}
+
+void GL2Encoder::s_glWaitSync(void* self, GLsync wait_on, GLbitfield flags, GLuint64 timeout) {
+ GL2Encoder *ctx = (GL2Encoder *)self;
+ ctx->glWaitSyncAEMU(ctx, (uint64_t)(uintptr_t)wait_on, flags, timeout);
+}
+
void GL2Encoder::s_glDeleteSync(void* self, GLsync sync) {
GL2Encoder *ctx = (GL2Encoder *)self;
if (!sync) return;
- ctx->m_glDeleteSync_enc(ctx, sync);
+ ctx->glDeleteSyncAEMU(ctx, (uint64_t)(uintptr_t)sync);
+}
+
+GLboolean GL2Encoder::s_glIsSync(void* self, GLsync sync) {
+ GL2Encoder *ctx = (GL2Encoder *)self;
+ return ctx->glIsSyncAEMU(ctx, (uint64_t)(uintptr_t)sync);
+}
+
+void GL2Encoder::s_glGetSynciv(void* self, GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) {
+ GL2Encoder *ctx = (GL2Encoder *)self;
+ return ctx->glGetSyncivAEMU(ctx, (uint64_t)(uintptr_t)sync, pname, bufSize, length, values);
}
#define LIMIT_CASE(target, lim) \
glBindSampler_client_proc_t m_glBindSampler_enc;
static void s_glBindSampler(void* self, GLuint unit, GLuint sampler);
- glDeleteSync_client_proc_t m_glDeleteSync_enc;
- static void s_glDeleteSync(void* self, GLsync sync);
+ static GLsync s_glFenceSync(void* self, GLenum condition, GLbitfield flags);
+ static GLenum s_glClientWaitSync(void* self, GLsync wait_on, GLbitfield flags, GLuint64 timeout);
+ static void s_glWaitSync(void* self, GLsync wait_on, GLbitfield flags, GLuint64 timeout);
+ static void s_glDeleteSync(void* self, GLsync to_delete);
+ static GLboolean s_glIsSync(void* self, GLsync sync);
+ static void s_glGetSynciv(void* self, GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
glGetIntegeri_v_client_proc_t m_glGetIntegeri_v_enc;
static void s_glGetIntegeri_v(void* self, GLenum target, GLuint index, GLint* params);
glDeleteSync = (glDeleteSync_client_proc_t) getProc("glDeleteSync", userData);
glIsSync = (glIsSync_client_proc_t) getProc("glIsSync", userData);
glGetSynciv = (glGetSynciv_client_proc_t) getProc("glGetSynciv", userData);
+ glFenceSyncAEMU = (glFenceSyncAEMU_client_proc_t) getProc("glFenceSyncAEMU", userData);
+ glClientWaitSyncAEMU = (glClientWaitSyncAEMU_client_proc_t) getProc("glClientWaitSyncAEMU", userData);
+ glWaitSyncAEMU = (glWaitSyncAEMU_client_proc_t) getProc("glWaitSyncAEMU", userData);
+ glDeleteSyncAEMU = (glDeleteSyncAEMU_client_proc_t) getProc("glDeleteSyncAEMU", userData);
+ glIsSyncAEMU = (glIsSyncAEMU_client_proc_t) getProc("glIsSyncAEMU", userData);
+ glGetSyncivAEMU = (glGetSyncivAEMU_client_proc_t) getProc("glGetSyncivAEMU", userData);
glDrawBuffers = (glDrawBuffers_client_proc_t) getProc("glDrawBuffers", userData);
glReadBuffer = (glReadBuffer_client_proc_t) getProc("glReadBuffer", userData);
glBlitFramebuffer = (glBlitFramebuffer_client_proc_t) getProc("glBlitFramebuffer", userData);
glDeleteSync_client_proc_t glDeleteSync;
glIsSync_client_proc_t glIsSync;
glGetSynciv_client_proc_t glGetSynciv;
+ glFenceSyncAEMU_client_proc_t glFenceSyncAEMU;
+ glClientWaitSyncAEMU_client_proc_t glClientWaitSyncAEMU;
+ glWaitSyncAEMU_client_proc_t glWaitSyncAEMU;
+ glDeleteSyncAEMU_client_proc_t glDeleteSyncAEMU;
+ glIsSyncAEMU_client_proc_t glIsSyncAEMU;
+ glGetSyncivAEMU_client_proc_t glGetSyncivAEMU;
glDrawBuffers_client_proc_t glDrawBuffers;
glReadBuffer_client_proc_t glReadBuffer;
glBlitFramebuffer_client_proc_t glBlitFramebuffer;
typedef void (gl2_APIENTRY *glDeleteSync_client_proc_t) (void * ctx, GLsync);
typedef GLboolean (gl2_APIENTRY *glIsSync_client_proc_t) (void * ctx, GLsync);
typedef void (gl2_APIENTRY *glGetSynciv_client_proc_t) (void * ctx, GLsync, GLenum, GLsizei, GLsizei*, GLint*);
+typedef uint64_t (gl2_APIENTRY *glFenceSyncAEMU_client_proc_t) (void * ctx, GLenum, GLbitfield);
+typedef GLenum (gl2_APIENTRY *glClientWaitSyncAEMU_client_proc_t) (void * ctx, uint64_t, GLbitfield, GLuint64);
+typedef void (gl2_APIENTRY *glWaitSyncAEMU_client_proc_t) (void * ctx, uint64_t, GLbitfield, GLuint64);
+typedef void (gl2_APIENTRY *glDeleteSyncAEMU_client_proc_t) (void * ctx, uint64_t);
+typedef GLboolean (gl2_APIENTRY *glIsSyncAEMU_client_proc_t) (void * ctx, uint64_t);
+typedef void (gl2_APIENTRY *glGetSyncivAEMU_client_proc_t) (void * ctx, uint64_t, GLenum, GLsizei, GLsizei*, GLint*);
typedef void (gl2_APIENTRY *glDrawBuffers_client_proc_t) (void * ctx, GLsizei, const GLenum*);
typedef void (gl2_APIENTRY *glReadBuffer_client_proc_t) (void * ctx, GLenum);
typedef void (gl2_APIENTRY *glBlitFramebuffer_client_proc_t) (void * ctx, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
}
-GLsync glFenceSync_enc(void *self , GLenum condition, GLbitfield flags)
+uint64_t glFenceSyncAEMU_enc(void *self , GLenum condition, GLbitfield flags)
{
gl2_encoder_context_t *ctx = (gl2_encoder_context_t *)self;
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
ptr = buf;
- int tmp = OP_glFenceSync;memcpy(ptr, &tmp, 4); ptr += 4;
+ int tmp = OP_glFenceSyncAEMU;memcpy(ptr, &tmp, 4); ptr += 4;
memcpy(ptr, &totalSize, 4); ptr += 4;
memcpy(ptr, &condition, 4); ptr += 4;
if (useChecksum) checksumCalculator->writeChecksum(ptr, checksumSize); ptr += checksumSize;
- GLsync retval;
+ uint64_t retval;
stream->readback(&retval, 8);
if (useChecksum) checksumCalculator->addBuffer(&retval, 8);
if (useChecksum) {
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
- ALOGE("glFenceSync: GL communication error, please report this issue to b.android.com.\n");
+ ALOGE("glFenceSyncAEMU: GL communication error, please report this issue to b.android.com.\n");
abort();
}
}
return retval;
}
-GLenum glClientWaitSync_enc(void *self , GLsync wait_on, GLbitfield flags, GLuint64 timeout)
+GLenum glClientWaitSyncAEMU_enc(void *self , uint64_t wait_on, GLbitfield flags, GLuint64 timeout)
{
gl2_encoder_context_t *ctx = (gl2_encoder_context_t *)self;
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
ptr = buf;
- int tmp = OP_glClientWaitSync;memcpy(ptr, &tmp, 4); ptr += 4;
+ int tmp = OP_glClientWaitSyncAEMU;memcpy(ptr, &tmp, 4); ptr += 4;
memcpy(ptr, &totalSize, 4); ptr += 4;
memcpy(ptr, &wait_on, 8); ptr += 8;
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
- ALOGE("glClientWaitSync: GL communication error, please report this issue to b.android.com.\n");
+ ALOGE("glClientWaitSyncAEMU: GL communication error, please report this issue to b.android.com.\n");
abort();
}
}
return retval;
}
-void glWaitSync_enc(void *self , GLsync wait_on, GLbitfield flags, GLuint64 timeout)
+void glWaitSyncAEMU_enc(void *self , uint64_t wait_on, GLbitfield flags, GLuint64 timeout)
{
gl2_encoder_context_t *ctx = (gl2_encoder_context_t *)self;
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
ptr = buf;
- int tmp = OP_glWaitSync;memcpy(ptr, &tmp, 4); ptr += 4;
+ int tmp = OP_glWaitSyncAEMU;memcpy(ptr, &tmp, 4); ptr += 4;
memcpy(ptr, &totalSize, 4); ptr += 4;
memcpy(ptr, &wait_on, 8); ptr += 8;
}
-void glDeleteSync_enc(void *self , GLsync to_delete)
+void glDeleteSyncAEMU_enc(void *self , uint64_t to_delete)
{
gl2_encoder_context_t *ctx = (gl2_encoder_context_t *)self;
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
ptr = buf;
- int tmp = OP_glDeleteSync;memcpy(ptr, &tmp, 4); ptr += 4;
+ int tmp = OP_glDeleteSyncAEMU;memcpy(ptr, &tmp, 4); ptr += 4;
memcpy(ptr, &totalSize, 4); ptr += 4;
memcpy(ptr, &to_delete, 8); ptr += 8;
}
-GLboolean glIsSync_enc(void *self , GLsync sync)
+GLboolean glIsSyncAEMU_enc(void *self , uint64_t sync)
{
gl2_encoder_context_t *ctx = (gl2_encoder_context_t *)self;
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
ptr = buf;
- int tmp = OP_glIsSync;memcpy(ptr, &tmp, 4); ptr += 4;
+ int tmp = OP_glIsSyncAEMU;memcpy(ptr, &tmp, 4); ptr += 4;
memcpy(ptr, &totalSize, 4); ptr += 4;
memcpy(ptr, &sync, 8); ptr += 8;
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
- ALOGE("glIsSync: GL communication error, please report this issue to b.android.com.\n");
+ ALOGE("glIsSyncAEMU: GL communication error, please report this issue to b.android.com.\n");
abort();
}
}
return retval;
}
-void glGetSynciv_enc(void *self , GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)
+void glGetSyncivAEMU_enc(void *self , uint64_t sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)
{
gl2_encoder_context_t *ctx = (gl2_encoder_context_t *)self;
const size_t totalSize = sizeWithoutChecksum + checksumSize;
buf = stream->alloc(totalSize);
ptr = buf;
- int tmp = OP_glGetSynciv;memcpy(ptr, &tmp, 4); ptr += 4;
+ int tmp = OP_glGetSyncivAEMU;memcpy(ptr, &tmp, 4); ptr += 4;
memcpy(ptr, &totalSize, 4); ptr += 4;
memcpy(ptr, &sync, 8); ptr += 8;
if (checksumSize > 0) checksumBufPtr = &checksumBuf[0];
stream->readback(checksumBufPtr, checksumSize);
if (!checksumCalculator->validate(checksumBufPtr, checksumSize)) {
- ALOGE("glGetSynciv: GL communication error, please report this issue to b.android.com.\n");
+ ALOGE("glGetSyncivAEMU: GL communication error, please report this issue to b.android.com.\n");
abort();
}
}
this->glDrawRangeElements = (glDrawRangeElements_client_proc_t) &enc_unsupported;
this->glDrawRangeElementsDataAEMU = &glDrawRangeElementsDataAEMU_enc;
this->glDrawRangeElementsOffsetAEMU = &glDrawRangeElementsOffsetAEMU_enc;
- this->glFenceSync = &glFenceSync_enc;
- this->glClientWaitSync = &glClientWaitSync_enc;
- this->glWaitSync = &glWaitSync_enc;
- this->glDeleteSync = &glDeleteSync_enc;
- this->glIsSync = &glIsSync_enc;
- this->glGetSynciv = &glGetSynciv_enc;
+ this->glFenceSync = (glFenceSync_client_proc_t) &enc_unsupported;
+ this->glClientWaitSync = (glClientWaitSync_client_proc_t) &enc_unsupported;
+ this->glWaitSync = (glWaitSync_client_proc_t) &enc_unsupported;
+ this->glDeleteSync = (glDeleteSync_client_proc_t) &enc_unsupported;
+ this->glIsSync = (glIsSync_client_proc_t) &enc_unsupported;
+ this->glGetSynciv = (glGetSynciv_client_proc_t) &enc_unsupported;
+ this->glFenceSyncAEMU = &glFenceSyncAEMU_enc;
+ this->glClientWaitSyncAEMU = &glClientWaitSyncAEMU_enc;
+ this->glWaitSyncAEMU = &glWaitSyncAEMU_enc;
+ this->glDeleteSyncAEMU = &glDeleteSyncAEMU_enc;
+ this->glIsSyncAEMU = &glIsSyncAEMU_enc;
+ this->glGetSyncivAEMU = &glGetSyncivAEMU_enc;
this->glDrawBuffers = &glDrawBuffers_enc;
this->glReadBuffer = &glReadBuffer_enc;
this->glBlitFramebuffer = &glBlitFramebuffer_enc;
void glDeleteSync(GLsync to_delete);
GLboolean glIsSync(GLsync sync);
void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values);
+ uint64_t glFenceSyncAEMU(GLenum condition, GLbitfield flags);
+ GLenum glClientWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout);
+ void glWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout);
+ void glDeleteSyncAEMU(uint64_t to_delete);
+ GLboolean glIsSyncAEMU(uint64_t sync);
+ void glGetSyncivAEMU(uint64_t sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values);
void glDrawBuffers(GLsizei n, const GLenum* bufs);
void glReadBuffer(GLenum src);
void glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
void glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)
{
GET_CONTEXT;
- if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
ctx->glGetSynciv(ctx, sync, pname, bufSize, length, values);
}
+uint64_t glFenceSyncAEMU(GLenum condition, GLbitfield flags)
+{
+ GET_CONTEXT;
+ return ctx->glFenceSyncAEMU(ctx, condition, flags);
+}
+
+GLenum glClientWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout)
+{
+ GET_CONTEXT;
+ return ctx->glClientWaitSyncAEMU(ctx, wait_on, flags, timeout);
+}
+
+void glWaitSyncAEMU(uint64_t wait_on, GLbitfield flags, GLuint64 timeout)
+{
+ GET_CONTEXT;
+ ctx->glWaitSyncAEMU(ctx, wait_on, flags, timeout);
+}
+
+void glDeleteSyncAEMU(uint64_t to_delete)
+{
+ GET_CONTEXT;
+ ctx->glDeleteSyncAEMU(ctx, to_delete);
+}
+
+GLboolean glIsSyncAEMU(uint64_t sync)
+{
+ GET_CONTEXT;
+ return ctx->glIsSyncAEMU(ctx, sync);
+}
+
+void glGetSyncivAEMU(uint64_t sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)
+{
+ GET_CONTEXT;
+ if(bufSize<0){ ctx->setError(GL_INVALID_VALUE); return; }
+ ctx->glGetSyncivAEMU(ctx, sync, pname, bufSize, length, values);
+}
+
void glDrawBuffers(GLsizei n, const GLenum* bufs)
{
GET_CONTEXT;
#define OP_glDeleteSync 2322
#define OP_glIsSync 2323
#define OP_glGetSynciv 2324
-#define OP_glDrawBuffers 2325
-#define OP_glReadBuffer 2326
-#define OP_glBlitFramebuffer 2327
-#define OP_glInvalidateFramebuffer 2328
-#define OP_glInvalidateSubFramebuffer 2329
-#define OP_glFramebufferTextureLayer 2330
-#define OP_glRenderbufferStorageMultisample 2331
-#define OP_glTexStorage2D 2332
-#define OP_glGetInternalformativ 2333
-#define OP_glBeginTransformFeedback 2334
-#define OP_glEndTransformFeedback 2335
-#define OP_glGenTransformFeedbacks 2336
-#define OP_glDeleteTransformFeedbacks 2337
-#define OP_glBindTransformFeedback 2338
-#define OP_glPauseTransformFeedback 2339
-#define OP_glResumeTransformFeedback 2340
-#define OP_glIsTransformFeedback 2341
-#define OP_glTransformFeedbackVaryings 2342
-#define OP_glTransformFeedbackVaryingsAEMU 2343
-#define OP_glGetTransformFeedbackVarying 2344
-#define OP_glGenSamplers 2345
-#define OP_glDeleteSamplers 2346
-#define OP_glBindSampler 2347
-#define OP_glSamplerParameterf 2348
-#define OP_glSamplerParameteri 2349
-#define OP_glSamplerParameterfv 2350
-#define OP_glSamplerParameteriv 2351
-#define OP_glGetSamplerParameterfv 2352
-#define OP_glGetSamplerParameteriv 2353
-#define OP_glIsSampler 2354
-#define OP_glGenQueries 2355
-#define OP_glDeleteQueries 2356
-#define OP_glBeginQuery 2357
-#define OP_glEndQuery 2358
-#define OP_glGetQueryiv 2359
-#define OP_glGetQueryObjectuiv 2360
-#define OP_glIsQuery 2361
-#define OP_glProgramParameteri 2362
-#define OP_glProgramBinary 2363
-#define OP_glGetProgramBinary 2364
-#define OP_glGetFragDataLocation 2365
-#define OP_glGetInteger64v 2366
-#define OP_glGetIntegeri_v 2367
-#define OP_glGetInteger64i_v 2368
-#define OP_glTexImage3D 2369
-#define OP_glTexImage3DOffsetAEMU 2370
-#define OP_glTexStorage3D 2371
-#define OP_glTexSubImage3D 2372
-#define OP_glTexSubImage3DOffsetAEMU 2373
-#define OP_glCompressedTexImage3D 2374
-#define OP_glCompressedTexImage3DOffsetAEMU 2375
-#define OP_glCompressedTexSubImage3D 2376
-#define OP_glCompressedTexSubImage3DOffsetAEMU 2377
-#define OP_glCopyTexSubImage3D 2378
-#define OP_glGetStringi 2379
-#define OP_glGetBooleani_v 2380
-#define OP_glMemoryBarrier 2381
-#define OP_glMemoryBarrierByRegion 2382
-#define OP_glGenProgramPipelines 2383
-#define OP_glDeleteProgramPipelines 2384
-#define OP_glBindProgramPipeline 2385
-#define OP_glGetProgramPipelineiv 2386
-#define OP_glGetProgramPipelineInfoLog 2387
-#define OP_glValidateProgramPipeline 2388
-#define OP_glIsProgramPipeline 2389
-#define OP_glUseProgramStages 2390
-#define OP_glCreateShaderProgramv 2391
-#define OP_glCreateShaderProgramvAEMU 2392
-#define OP_glProgramUniform1f 2393
-#define OP_glProgramUniform2f 2394
-#define OP_glProgramUniform3f 2395
-#define OP_glProgramUniform4f 2396
-#define OP_glProgramUniform1i 2397
-#define OP_glProgramUniform2i 2398
-#define OP_glProgramUniform3i 2399
-#define OP_glProgramUniform4i 2400
-#define OP_glProgramUniform1ui 2401
-#define OP_glProgramUniform2ui 2402
-#define OP_glProgramUniform3ui 2403
-#define OP_glProgramUniform4ui 2404
-#define OP_glProgramUniform1fv 2405
-#define OP_glProgramUniform2fv 2406
-#define OP_glProgramUniform3fv 2407
-#define OP_glProgramUniform4fv 2408
-#define OP_glProgramUniform1iv 2409
-#define OP_glProgramUniform2iv 2410
-#define OP_glProgramUniform3iv 2411
-#define OP_glProgramUniform4iv 2412
-#define OP_glProgramUniform1uiv 2413
-#define OP_glProgramUniform2uiv 2414
-#define OP_glProgramUniform3uiv 2415
-#define OP_glProgramUniform4uiv 2416
-#define OP_glProgramUniformMatrix2fv 2417
-#define OP_glProgramUniformMatrix3fv 2418
-#define OP_glProgramUniformMatrix4fv 2419
-#define OP_glProgramUniformMatrix2x3fv 2420
-#define OP_glProgramUniformMatrix3x2fv 2421
-#define OP_glProgramUniformMatrix2x4fv 2422
-#define OP_glProgramUniformMatrix4x2fv 2423
-#define OP_glProgramUniformMatrix3x4fv 2424
-#define OP_glProgramUniformMatrix4x3fv 2425
-#define OP_glGetProgramInterfaceiv 2426
-#define OP_glGetProgramResourceiv 2427
-#define OP_glGetProgramResourceIndex 2428
-#define OP_glGetProgramResourceLocation 2429
-#define OP_glGetProgramResourceName 2430
-#define OP_glBindImageTexture 2431
-#define OP_glDispatchCompute 2432
-#define OP_glDispatchComputeIndirect 2433
-#define OP_glBindVertexBuffer 2434
-#define OP_glVertexAttribBinding 2435
-#define OP_glVertexAttribFormat 2436
-#define OP_glVertexAttribIFormat 2437
-#define OP_glVertexBindingDivisor 2438
-#define OP_glDrawArraysIndirect 2439
-#define OP_glDrawArraysIndirectDataAEMU 2440
-#define OP_glDrawArraysIndirectOffsetAEMU 2441
-#define OP_glDrawElementsIndirect 2442
-#define OP_glDrawElementsIndirectDataAEMU 2443
-#define OP_glDrawElementsIndirectOffsetAEMU 2444
-#define OP_glTexStorage2DMultisample 2445
-#define OP_glSampleMaski 2446
-#define OP_glGetMultisamplefv 2447
-#define OP_glFramebufferParameteri 2448
-#define OP_glGetFramebufferParameteriv 2449
-#define OP_glGetTexLevelParameterfv 2450
-#define OP_glGetTexLevelParameteriv 2451
-#define OP_last 2452
+#define OP_glFenceSyncAEMU 2325
+#define OP_glClientWaitSyncAEMU 2326
+#define OP_glWaitSyncAEMU 2327
+#define OP_glDeleteSyncAEMU 2328
+#define OP_glIsSyncAEMU 2329
+#define OP_glGetSyncivAEMU 2330
+#define OP_glDrawBuffers 2331
+#define OP_glReadBuffer 2332
+#define OP_glBlitFramebuffer 2333
+#define OP_glInvalidateFramebuffer 2334
+#define OP_glInvalidateSubFramebuffer 2335
+#define OP_glFramebufferTextureLayer 2336
+#define OP_glRenderbufferStorageMultisample 2337
+#define OP_glTexStorage2D 2338
+#define OP_glGetInternalformativ 2339
+#define OP_glBeginTransformFeedback 2340
+#define OP_glEndTransformFeedback 2341
+#define OP_glGenTransformFeedbacks 2342
+#define OP_glDeleteTransformFeedbacks 2343
+#define OP_glBindTransformFeedback 2344
+#define OP_glPauseTransformFeedback 2345
+#define OP_glResumeTransformFeedback 2346
+#define OP_glIsTransformFeedback 2347
+#define OP_glTransformFeedbackVaryings 2348
+#define OP_glTransformFeedbackVaryingsAEMU 2349
+#define OP_glGetTransformFeedbackVarying 2350
+#define OP_glGenSamplers 2351
+#define OP_glDeleteSamplers 2352
+#define OP_glBindSampler 2353
+#define OP_glSamplerParameterf 2354
+#define OP_glSamplerParameteri 2355
+#define OP_glSamplerParameterfv 2356
+#define OP_glSamplerParameteriv 2357
+#define OP_glGetSamplerParameterfv 2358
+#define OP_glGetSamplerParameteriv 2359
+#define OP_glIsSampler 2360
+#define OP_glGenQueries 2361
+#define OP_glDeleteQueries 2362
+#define OP_glBeginQuery 2363
+#define OP_glEndQuery 2364
+#define OP_glGetQueryiv 2365
+#define OP_glGetQueryObjectuiv 2366
+#define OP_glIsQuery 2367
+#define OP_glProgramParameteri 2368
+#define OP_glProgramBinary 2369
+#define OP_glGetProgramBinary 2370
+#define OP_glGetFragDataLocation 2371
+#define OP_glGetInteger64v 2372
+#define OP_glGetIntegeri_v 2373
+#define OP_glGetInteger64i_v 2374
+#define OP_glTexImage3D 2375
+#define OP_glTexImage3DOffsetAEMU 2376
+#define OP_glTexStorage3D 2377
+#define OP_glTexSubImage3D 2378
+#define OP_glTexSubImage3DOffsetAEMU 2379
+#define OP_glCompressedTexImage3D 2380
+#define OP_glCompressedTexImage3DOffsetAEMU 2381
+#define OP_glCompressedTexSubImage3D 2382
+#define OP_glCompressedTexSubImage3DOffsetAEMU 2383
+#define OP_glCopyTexSubImage3D 2384
+#define OP_glGetStringi 2385
+#define OP_glGetBooleani_v 2386
+#define OP_glMemoryBarrier 2387
+#define OP_glMemoryBarrierByRegion 2388
+#define OP_glGenProgramPipelines 2389
+#define OP_glDeleteProgramPipelines 2390
+#define OP_glBindProgramPipeline 2391
+#define OP_glGetProgramPipelineiv 2392
+#define OP_glGetProgramPipelineInfoLog 2393
+#define OP_glValidateProgramPipeline 2394
+#define OP_glIsProgramPipeline 2395
+#define OP_glUseProgramStages 2396
+#define OP_glCreateShaderProgramv 2397
+#define OP_glCreateShaderProgramvAEMU 2398
+#define OP_glProgramUniform1f 2399
+#define OP_glProgramUniform2f 2400
+#define OP_glProgramUniform3f 2401
+#define OP_glProgramUniform4f 2402
+#define OP_glProgramUniform1i 2403
+#define OP_glProgramUniform2i 2404
+#define OP_glProgramUniform3i 2405
+#define OP_glProgramUniform4i 2406
+#define OP_glProgramUniform1ui 2407
+#define OP_glProgramUniform2ui 2408
+#define OP_glProgramUniform3ui 2409
+#define OP_glProgramUniform4ui 2410
+#define OP_glProgramUniform1fv 2411
+#define OP_glProgramUniform2fv 2412
+#define OP_glProgramUniform3fv 2413
+#define OP_glProgramUniform4fv 2414
+#define OP_glProgramUniform1iv 2415
+#define OP_glProgramUniform2iv 2416
+#define OP_glProgramUniform3iv 2417
+#define OP_glProgramUniform4iv 2418
+#define OP_glProgramUniform1uiv 2419
+#define OP_glProgramUniform2uiv 2420
+#define OP_glProgramUniform3uiv 2421
+#define OP_glProgramUniform4uiv 2422
+#define OP_glProgramUniformMatrix2fv 2423
+#define OP_glProgramUniformMatrix3fv 2424
+#define OP_glProgramUniformMatrix4fv 2425
+#define OP_glProgramUniformMatrix2x3fv 2426
+#define OP_glProgramUniformMatrix3x2fv 2427
+#define OP_glProgramUniformMatrix2x4fv 2428
+#define OP_glProgramUniformMatrix4x2fv 2429
+#define OP_glProgramUniformMatrix3x4fv 2430
+#define OP_glProgramUniformMatrix4x3fv 2431
+#define OP_glGetProgramInterfaceiv 2432
+#define OP_glGetProgramResourceiv 2433
+#define OP_glGetProgramResourceIndex 2434
+#define OP_glGetProgramResourceLocation 2435
+#define OP_glGetProgramResourceName 2436
+#define OP_glBindImageTexture 2437
+#define OP_glDispatchCompute 2438
+#define OP_glDispatchComputeIndirect 2439
+#define OP_glBindVertexBuffer 2440
+#define OP_glVertexAttribBinding 2441
+#define OP_glVertexAttribFormat 2442
+#define OP_glVertexAttribIFormat 2443
+#define OP_glVertexBindingDivisor 2444
+#define OP_glDrawArraysIndirect 2445
+#define OP_glDrawArraysIndirectDataAEMU 2446
+#define OP_glDrawArraysIndirectOffsetAEMU 2447
+#define OP_glDrawElementsIndirect 2448
+#define OP_glDrawElementsIndirectDataAEMU 2449
+#define OP_glDrawElementsIndirectOffsetAEMU 2450
+#define OP_glTexStorage2DMultisample 2451
+#define OP_glSampleMaski 2452
+#define OP_glGetMultisamplefv 2453
+#define OP_glFramebufferParameteri 2454
+#define OP_glGetFramebufferParameteriv 2455
+#define OP_glGetTexLevelParameterfv 2456
+#define OP_glGetTexLevelParameteriv 2457
+#define OP_last 2458
#endif