2.open macro to support GL_OES_EGL_image_external and GL_EXT_disjoint_timer_query
3.add support for the api which not needed by fastpath mode
4.egl extension call API through eglGetProcAddress
Change-Id: I0c8084f21c7d3d840ef98d95b71842408ab89a2a
GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param);
GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params);
GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m);
+GL_API void GL_APIENTRY glMultiTexCoord4bOES (GLenum target, GLbyte s, GLbyte t, GLbyte r, GLbyte q);
GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);
GL_API void GL_APIENTRY glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
+typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4BOESPROC) (GLenum target, GLbyte s, GLbyte t, GLbyte r, GLbyte q);
#endif
/* GL_OES_framebuffer_object */
typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, void **params);
+typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
+typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
#ifdef GL_GLEXT_PROTOTYPES
+GL_APICALL void GL_APIENTRY glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
+GL_APICALL void GL_APIENTRY glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label);
+GL_APICALL void GL_APIENTRY glPopDebugGroup (void);
+GL_APICALL void GL_APIENTRY glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message);
GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, void **params);
+GL_APICALL void GL_APIENTRY glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
+GL_APICALL void GL_APIENTRY glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
#endif
#endif /* GL_KHR_debug */
ovr_glProgramUniform1iv(program, location, count, value);
}
+
void
coregl_api_glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value)
{
ovr_glProgramUniform2iv(program, location, count, value);
}
+
void
coregl_api_glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value)
{
ovr_glProgramUniform3iv(program, location, count, value);
}
+
void
coregl_api_glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value)
{
ovr_glProgramUniform1fv(program, location, count, value);
}
+
void
coregl_api_glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
ovr_glProgramUniform2fv(program, location, count, value);
}
+
void
coregl_api_glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
ovr_glProgramUniform3fv(program, location, count, value);
}
+
void
coregl_api_glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
ovr_glProgramUniformMatrix2fv(program, location, count, transpose, value);
}
+
void
coregl_api_glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
ovr_glProgramUniformMatrix3fv(program, location, count, transpose, value);
}
+
void
coregl_api_glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
ovr_glProgramUniform1i(program, location, x);
}
+
void
coregl_api_glProgramUniform2i(GLuint program, GLint location, GLint x, GLint y)
{
ovr_glProgramUniform2i(program, location, x, y);
}
+
void
coregl_api_glProgramUniform3i(GLuint program, GLint location, GLint x, GLint y, GLint z)
{
ovr_glProgramUniform3i(program, location, x, y, z);
}
+
void
coregl_api_glProgramUniform4i(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w)
{
ovr_glProgramUniform4i(program, location, x, y, z, w);
}
+
void
coregl_api_glProgramUniform1f(GLuint program, GLint location, GLfloat x)
{
ovr_glProgramUniform1f(program, location, x);
}
+
void
coregl_api_glProgramUniform2f(GLuint program, GLint location, GLfloat x, GLfloat y)
{
ovr_glProgramUniform2f(program, location, x, y);
}
+
void
coregl_api_glProgramUniform3f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z)
{
ovr_glProgramUniform3f(program, location, x, y, z);
}
+
void
coregl_api_glProgramUniform4f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
ovr_glProgramUniform1uiv(program, location, count, value);
}
+
void
coregl_api_glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
ovr_glProgramUniform2uiv(program, location, count, value);
}
+
void
coregl_api_glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
ovr_glProgramUniform3uiv(program, location, count, value);
}
+
void
coregl_api_glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
coregl_api_glVertexBindingDivisor (GLuint bindingindex, GLuint divisor)
{
ovr_glVertexBindingDivisor (bindingindex, divisor);
-}
\ No newline at end of file
+}
+
+void
+coregl_api_glGetPointerv(GLenum pname, GLvoid **params)
+{
+ ovr_glGetPointerv(pname, params);
+}
+
+
+
typedef khronos_int32_t GLfixed;
typedef khronos_intptr_t GLintptr;
typedef khronos_ssize_t GLsizeiptr;
+typedef khronos_int32_t GLclampx;
+typedef void (GL_APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
/* OpenGL ES 3.0 */
typedef unsigned short GLhalf;
_COREGL_SYMBOL(void, glVertexAttrib4fv, (GLuint index, const GLfloat* values))
_COREGL_SYMBOL(void, glVertexAttribPointer, (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer))
_COREGL_SYMBOL(void, glViewport, (GLint x, GLint y, GLsizei width, GLsizei height))
-
+_COREGL_SYMBOL(void, glGetPointerv,(GLenum pname, GLvoid **params))
+
+_COREGL_EXT_SYMBOL(void, glBindFramebufferOES, (GLenum target, GLuint framebuffer))
+_COREGL_EXT_SYMBOL(void, glBindRenderbufferOES, (GLenum target, GLuint renderbuffer))
+_COREGL_EXT_SYMBOL(void, glDeleteFramebuffersOES, (GLsizei n, const GLuint* framebuffers))
+_COREGL_EXT_SYMBOL(void, glDeleteRenderbuffersOES, (GLsizei n, const GLuint* renderbuffers))
+_COREGL_EXT_SYMBOL(void, glDepthRangefOES, (GLclampf zNear, GLclampf zFar))
+_COREGL_EXT_SYMBOL(void, glDepthRangexOES, (GLclampx zNear, GLclampx zFar))
+_COREGL_EXT_SYMBOL(void, glFramebufferRenderbufferOES, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer))
+_COREGL_EXT_SYMBOL(void, glFramebufferTexture2DOES, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level))
+_COREGL_EXT_SYMBOL(void, glGenFramebuffersOES, (GLsizei n, GLuint* framebuffers))
+_COREGL_EXT_SYMBOL(void, glGenRenderbuffersOES, (GLsizei n, GLuint* renderbuffers))
+_COREGL_EXT_SYMBOL(void, glGetFramebufferAttachmentParameterivOES, (GLenum target, GLenum attachment, GLenum pname, GLint* params))
+_COREGL_EXT_SYMBOL(void, glFramebufferTexture3DOES, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset))
+_COREGL_EXT_SYMBOL(GLboolean, glIsFramebufferOES, (GLuint framebuffer))
+_COREGL_EXT_SYMBOL(GLboolean, glIsRenderbufferOES, (GLuint renderbuffer))
+_COREGL_EXT_SYMBOL(void, glAlphaFuncxOES,(GLenum func, GLclampx ref))
+_COREGL_EXT_SYMBOL(void, glBlendBarrierKHR, (void))
+_COREGL_EXT_SYMBOL(void, glBlendEquationOES, (GLenum mode))
+_COREGL_EXT_SYMBOL(void, glBlendEquationSeparateOES, (GLenum modeRGB, GLenum modeAlpha))
+_COREGL_EXT_SYMBOL(void, glBlendFuncSeparateOES, (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha))
+_COREGL_EXT_SYMBOL(GLenum, glCheckFramebufferStatusOES, (GLenum target))
+_COREGL_EXT_SYMBOL(void, glClearColorxOES,(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha))
+_COREGL_EXT_SYMBOL(void, glClearDepthfOES,(GLclampf depth))
+_COREGL_EXT_SYMBOL(void, glClearDepthxOES,(GLclampx depth))
+_COREGL_EXT_SYMBOL(void, glClipPlanefOES,(GLenum plane, GLfloat const *equation))
+_COREGL_EXT_SYMBOL(void, glClipPlanexOES,(GLenum plane, GLfixed const *equation))
+_COREGL_EXT_SYMBOL(void, glColor4xOES,(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha))
+_COREGL_EXT_SYMBOL(void, glFogxOES,(GLenum pname, GLfixed param))
+_COREGL_EXT_SYMBOL(void, glFogxvOES,(GLenum pname, GLfixed const *params))
+_COREGL_EXT_SYMBOL(void, glFrustumxOES,(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar))
+_COREGL_EXT_SYMBOL(void, glFrustumfOES,(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar))
+_COREGL_EXT_SYMBOL(void, glGenerateMipmapOES,(GLenum target))
+_COREGL_EXT_SYMBOL(void,glGetClipPlanefOES,(GLenum pname, GLfloat eqn[4]))
+_COREGL_EXT_SYMBOL(void,glGetClipPlanexOES,(GLenum pname, GLfixed eqn[4]))
+_COREGL_EXT_SYMBOL(GLuint,glGetDebugMessageLog,(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog))
+_COREGL_EXT_SYMBOL(void,glGetObjectLabel,(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label))
+_COREGL_EXT_SYMBOL(void,glGetObjectPtrLabel,(void const *ptr, GLsizei bufSize, GLsizei *length, GLchar *label))
+_COREGL_EXT_SYMBOL(void,glGetPointervKHR,(GLenum pname, GLvoid **params))
+_COREGL_EXT_SYMBOL(void, glDebugMessageCallback,(GLDEBUGPROCKHR callback, void const *userParam))
+_COREGL_EXT_SYMBOL(void, glDebugMessageControl,(GLenum source, GLenum type, GLenum severity, GLsizei count, GLuint const *ids, GLboolean enabled))
+_COREGL_EXT_SYMBOL(void, glDebugMessageInsert,(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, GLchar const *buf))
+_COREGL_EXT_SYMBOL(void, glDebugMessageCallbackKHR,(GLDEBUGPROCKHR callback, void const *userParam))
+_COREGL_EXT_SYMBOL(void, glDebugMessageControlKHR,(GLenum source, GLenum type, GLenum severity, GLsizei count, GLuint const *ids, GLboolean enabled))
+_COREGL_EXT_SYMBOL(void, glDebugMessageInsertKHR,(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, GLchar const *buf))
+_COREGL_EXT_SYMBOL(GLuint,glGetDebugMessageLogKHR,(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog))
+_COREGL_EXT_SYMBOL(void,glGetObjectLabelKHR,(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label))
+_COREGL_EXT_SYMBOL(void,glGetObjectPtrLabelKHR,(void const *ptr, GLsizei bufSize, GLsizei *length, GLchar *label))
+_COREGL_EXT_SYMBOL(void, glObjectLabelKHR, (GLenum identifier, GLuint name, GLsizei length, const GLchar *label))
+_COREGL_EXT_SYMBOL(void, glObjectPtrLabelKHR, (const void *ptr, GLsizei length, const GLchar *label))
+_COREGL_EXT_SYMBOL(void, glPopDebugGroupKHR, (void))
+_COREGL_EXT_SYMBOL(void, glPushDebugGroupKHR, (GLenum source, GLuint id, GLsizei length, const GLchar *message))
+_COREGL_EXT_SYMBOL(void,glGetFixedvOES,(GLenum pname, GLfixed *params))
+_COREGL_EXT_SYMBOL(void,glGetLightxvOES,(GLenum light, GLenum pname, GLfixed *params))
+_COREGL_EXT_SYMBOL(void,glGetMaterialxvOES,(GLenum face, GLenum pname, GLfixed *params))
+_COREGL_EXT_SYMBOL(void,glGetRenderbufferParameterivOES,(GLenum target, GLenum pname, GLint *params))
+_COREGL_EXT_SYMBOL(void,glGetTexEnvxvOES,(GLenum env, GLenum pname, GLfixed *params))
+_COREGL_EXT_SYMBOL(void,glGetTexParameterxvOES,(GLenum target, GLenum pname, GLfixed *params))
+_COREGL_EXT_SYMBOL(void, glLightModelxOES, (GLenum pname, GLfixed param))
+_COREGL_EXT_SYMBOL(void, glLightModelxvOES, (GLenum pname, const GLfixed *params))
+_COREGL_EXT_SYMBOL(void, glLightxOES, (GLenum light, GLenum pname, GLfixed param))
+_COREGL_EXT_SYMBOL(void, glLightxvOES, (GLenum light, GLenum pname, const GLfixed *params))
+_COREGL_EXT_SYMBOL(void, glLineWidthxOES, (GLfixed width))
+_COREGL_EXT_SYMBOL(void, glLoadMatrixxOES, (const GLfixed *m))
+_COREGL_EXT_SYMBOL(void, glMaterialxOES, (GLenum face, GLenum pname, GLfixed param))
+_COREGL_EXT_SYMBOL(void, glMaterialxvOES, (GLenum face, GLenum pname, const GLfixed *params))
+_COREGL_EXT_SYMBOL(void, glMultMatrixxOES, (const GLfixed *m))
+_COREGL_EXT_SYMBOL(void, glMultiTexCoord4bOES, (GLenum target, GLbyte s, GLbyte t, GLbyte r, GLbyte q))
+_COREGL_EXT_SYMBOL(void, glMultiTexCoord4xOES, (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q))
+_COREGL_EXT_SYMBOL(void, glNormal3xOES, (GLfixed nx, GLfixed ny, GLfixed nz))
+_COREGL_EXT_SYMBOL(void, glObjectLabel, (GLenum identifier, GLuint name, GLsizei length, const GLchar *label))
+_COREGL_EXT_SYMBOL(void, glObjectPtrLabel, (const void *ptr, GLsizei length, const GLchar *label))
+_COREGL_EXT_SYMBOL(void, glOrthofOES, (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar))
+_COREGL_EXT_SYMBOL(void, glOrthoxOES, (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar))
+_COREGL_EXT_SYMBOL(void, glPointParameterxOES, (GLenum pname, GLfixed param))
+_COREGL_EXT_SYMBOL(void, glPointParameterxvOES, (GLenum pname, const GLfixed *params))
+_COREGL_EXT_SYMBOL(void, glPointSizexOES, (GLfixed size))
+_COREGL_EXT_SYMBOL(void, glPolygonOffsetxOES, (GLfixed factor, GLfixed units))
+_COREGL_EXT_SYMBOL(void, glPopDebugGroup, (void))
+_COREGL_EXT_SYMBOL(void, glPushDebugGroup, (GLenum source, GLuint id, GLsizei length, const GLchar *message))
+_COREGL_EXT_SYMBOL(void, glQueryCounterEXT, (GLuint id, GLenum target))
+_COREGL_EXT_SYMBOL(void, glRenderbufferStorageOES, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height))
+_COREGL_EXT_SYMBOL(void, glRotatexOES, (GLfixed angle, GLfixed x, GLfixed y, GLfixed z))
+_COREGL_EXT_SYMBOL(void, glSampleCoveragexOES, (GLclampx value, GLboolean invert))
+_COREGL_EXT_SYMBOL(void, glScalexOES, (GLfixed x, GLfixed y, GLfixed z))
+_COREGL_EXT_SYMBOL(void, glTexEnvxOES, (GLenum target, GLenum pname, GLfixed param))
+_COREGL_EXT_SYMBOL(void, glTexEnvxvOES, (GLenum target, GLenum pname, const GLfixed *params))
+_COREGL_EXT_SYMBOL(void, glTexParameterxOES, (GLenum target, GLenum pname, GLfixed param))
+_COREGL_EXT_SYMBOL(void, glTexParameterxvOES, (GLenum target, GLenum pname, const GLfixed *params))
+_COREGL_EXT_SYMBOL(void, glTexStorage2DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height))
+_COREGL_EXT_SYMBOL(void, glTexStorage3DEXT, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth))
+_COREGL_EXT_SYMBOL(void, glTexStorage3DMultisampleOES, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations))
+_COREGL_EXT_SYMBOL(void, glTranslatexOES, (GLfixed x, GLfixed y, GLfixed z))
/* OpenGL ES 3.0 */
_COREGL_START_API(COREGL_GLAPI_3)
_COREGL_SYMBOL(void, glReadBuffer, (GLenum mode))
_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_EGL_image", 1.1, -1)
_COREGL_EXT_SYMBOL(void, glEGLImageTargetTexture2DOES, (GLenum target, GLeglImageOES image))
_COREGL_EXT_SYMBOL(void, glEGLImageTargetRenderbufferStorageOES, (GLenum target, GLeglImageOES image))
-//_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_EGL_image_external", 1.1, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_EGL_image_external", 1.1, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_surfaceless_context", 1.1, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_fixed_point", 1.1, -1)
_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_get_program_binary", 2.0, -1)
_COREGL_EXT_SYMBOL(void, glGetProgramBinaryOES, (GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary))
_COREGL_EXT_SYMBOL(void, glValidateProgramPipelineEXT, (GLuint pipeline))
_COREGL_EXT_SYMBOL(void, glGetProgramPipelineInfoLogEXT, (GLuint pipeline, GLsizei bufSize, GLsizei *length, char *infoLog))
+_COREGL_EXT_SYMBOL(void, glGetQueryObjecti64vEXT,(GLuint id, GLenum pname, GLint64 *params))
+_COREGL_EXT_SYMBOL(void, glGetQueryObjectivEXT,(GLuint id, GLenum pname, GLint *params))
+_COREGL_EXT_SYMBOL(void, glGetQueryObjectui64vEXT,(GLuint id, GLenum pname, GLuint64 *params))
+_COREGL_EXT_SYMBOL(void, glGetQueryObjectuivEXT, (GLuint id, GLenum pname, GLuint* params))
+_COREGL_EXT_SYMBOL(void, glGetQueryivEXT, (GLenum target, GLenum pname, GLint* params))
+_COREGL_EXT_SYMBOL(void, glBeginQueryEXT, (GLenum target, GLuint id))
+_COREGL_EXT_SYMBOL(void, glDeleteQueriesEXT, (GLsizei n, const GLuint* ids))
+_COREGL_EXT_SYMBOL(void, glGenQueriesEXT, (GLsizei n, GLuint* ids))
+_COREGL_EXT_SYMBOL(GLboolean, glIsQueryEXT, (GLuint id))
+_COREGL_EXT_SYMBOL(void, glEndQueryEXT, (GLenum target))
+_COREGL_EXT_SYMBOL(void, glBindVertexArrayOES,(GLuint array))
+_COREGL_EXT_SYMBOL(void, glDeleteVertexArraysOES,(GLsizei n, GLuint const *arrays))
+_COREGL_EXT_SYMBOL(GLboolean, glIsVertexArrayOES,(GLuint array))
+_COREGL_EXT_SYMBOL(void, glGenVertexArraysOES,(GLsizei n, GLuint *arrays))
_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_EXT_multisampled_render_to_texture", 2.0, -1)
_COREGL_EXT_SYMBOL(void, glRenderbufferStorageMultisampleEXT, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height))
_COREGL_EXT_SYMBOL(void, glFramebufferTexture2DMultisampleEXT, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples))
_COREGL_EXT_SYMBOL(void, glDiscardFramebufferEXT, (GLenum target, GLsizei numAttachments, const GLenum* attachments))
_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_texture_3D", 2.0, -1)
-_COREGL_EXT_SYMBOL(void, glTexImage3DOES, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels))
+_COREGL_EXT_SYMBOL(void, glTexImage3DOES, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels))
_COREGL_EXT_SYMBOL(void, glTexSubImage3DOES, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels))
_COREGL_EXT_SYMBOL(void, glCopyTexSubImage3DOES, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height))
_COREGL_EXT_SYMBOL(void, glCompressedTexImage3DOES, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data))
_COREGL_EXT_SYMBOL(void, glCompressedTexSubImage3DOES, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data))
-_COREGL_EXT_SYMBOL(void, glFramebufferTexture3DOES, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset))
+
_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_mapbuffer", 1.1, -1)
_COREGL_EXT_SYMBOL(void, glGetBufferPointervOES, (GLenum target, GLenum pname, GLvoid** params))
-_COREGL_EXT_SYMBOL(void *, glMapBufferOES, (GLenum target, GLenum access))
+_COREGL_EXT_SYMBOL(void*, glMapBufferOES, (GLenum target, GLenum access))
_COREGL_EXT_SYMBOL(GLboolean, glUnmapBufferOES, (GLenum target))
-
+/*
_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_ANGLE_framebuffer_blit", 1.1, -1)
_COREGL_EXT_SYMBOL(void, glBlitFramebufferANGLE, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter))
_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_ANGLE_framebuffer_multisample", 1.1, -1)
_COREGL_EXT_SYMBOL(void, glRenderbufferStorageMultisampleANGLE, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height))
-
+*/
/* Fastpath Verified extensions */
_COREGL_EXT_SYMBOL_FASTPATH_PASS(glStartTilingQCOM)
_COREGL_EXT_SYMBOL_FASTPATH_PASS(glEndTilingQCOM)
+_COREGL_EXT_SYMBOL_FASTPATH_PASS(glGetTexLevelParameterfv)
+_COREGL_EXT_SYMBOL_FASTPATH_PASS(glGetTexLevelParameteriv)
/* Fastpath Blocked extensions */
_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glLabelObjectEXT)
_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetObjectLabelEXT)
-//_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_EXT_disjoint_timer_query", 2.0, -1)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGenQueriesEXT)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glDeleteQueriesEXT)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glIsQueryEXT)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glBeginQueryEXT)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glEndQueryEXT)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glQueryCounterEXT)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetQueryivEXT)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetQueryObjectivEXT)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetQueryObjectuivEXT)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetQueryObjecti64vEXT)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetQueryObjectui64vEXT)
-
-//_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_vertex_array_object", 1.1, -1)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glBindVertexArrayOES)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glDeleteVertexArraysOES)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGenVertexArraysOES)
-_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glIsVertexArrayOES)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_EXT_disjoint_timer_query", 2.0, -1)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGenQueriesEXT)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glDeleteQueriesEXT)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glIsQueryEXT)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glBeginQueryEXT)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glEndQueryEXT)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glQueryCounterEXT)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetQueryivEXT)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetQueryObjectivEXT)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetQueryObjectuivEXT)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetQueryObjecti64vEXT)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetQueryObjectui64vEXT)
+
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_vertex_array_object", 1.1, -1)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glBindVertexArrayOES)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glDeleteVertexArraysOES)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGenVertexArraysOES)
+//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glIsVertexArrayOES)
//_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_QCOM_alpha_test", 2.0, -1)
COREGL_OVERRIDE(fastpath_, glProgramUniformMatrix2fvEXT);
COREGL_OVERRIDE(fastpath_, glProgramUniformMatrix3fvEXT);
COREGL_OVERRIDE(fastpath_, glProgramUniformMatrix4fvEXT);
- COREGL_OVERRIDE(fastpath_, glProgramParameteriEXT);
- COREGL_OVERRIDE(fastpath_, glProgramParameteriEXT);
- COREGL_OVERRIDE(fastpath_, glProgramParameteriEXT);
- COREGL_OVERRIDE(fastpath_, glProgramParameteriEXT);
- COREGL_OVERRIDE(fastpath_, glProgramParameteriEXT);
COREGL_OVERRIDE(fastpath_, glFramebufferTexture2DMultisampleEXT);
COREGL_OVERRIDE(fastpath_, glFramebufferTexture3DOES);
+ COREGL_OVERRIDE(fastpath_, glBindFramebufferOES);
+ COREGL_OVERRIDE(fastpath_, glBindRenderbufferOES);
+ COREGL_OVERRIDE(fastpath_, glClearBufferfi);
+ COREGL_OVERRIDE(fastpath_, glClearBufferfv);
+ COREGL_OVERRIDE(fastpath_, glClearBufferiv);
+ COREGL_OVERRIDE(fastpath_, glClearBufferuiv);
+ COREGL_OVERRIDE(fastpath_, glDeleteFramebuffersOES);
+ COREGL_OVERRIDE(fastpath_, glDeleteRenderbuffersOES);
+ COREGL_OVERRIDE(fastpath_, glDepthRangefOES);
+ COREGL_OVERRIDE(fastpath_, glDepthRangexOES);
+ COREGL_OVERRIDE(fastpath_, glFramebufferParameteri);
+ COREGL_OVERRIDE(fastpath_, glGetFramebufferParameteriv);
+ COREGL_OVERRIDE(fastpath_, glFramebufferRenderbufferOES);
+ COREGL_OVERRIDE(fastpath_, glFramebufferTexture2DOES);
+ COREGL_OVERRIDE(fastpath_, glGenFramebuffersOES);
+ COREGL_OVERRIDE(fastpath_, glGenRenderbuffersOES);
+ COREGL_OVERRIDE(fastpath_, glGetFramebufferAttachmentParameterivOES);
+ COREGL_OVERRIDE(fastpath_, glGetQueryObjecti64vEXT);
+ COREGL_OVERRIDE(fastpath_, glGetQueryObjectivEXT);
+ COREGL_OVERRIDE(fastpath_, glGetQueryObjectui64vEXT);
+ COREGL_OVERRIDE(fastpath_, glGetQueryObjectuivEXT);
+ COREGL_OVERRIDE(fastpath_, glGetQueryivEXT);
+ COREGL_OVERRIDE(fastpath_, glBeginQueryEXT);
+ COREGL_OVERRIDE(fastpath_, glDeleteQueriesEXT);
+ COREGL_OVERRIDE(fastpath_, glGenQueriesEXT);
+ COREGL_OVERRIDE(fastpath_, glIsFramebufferOES);
+ COREGL_OVERRIDE(fastpath_, glIsQueryEXT);
+ COREGL_OVERRIDE(fastpath_, glIsRenderbufferOES);
+ COREGL_OVERRIDE(fastpath_, glBlendEquationOES);
+ COREGL_OVERRIDE(fastpath_, glBlendEquationSeparateOES);
+ COREGL_OVERRIDE(fastpath_, glBlendFuncSeparateOES);
+ COREGL_OVERRIDE(fastpath_, glPolygonOffsetxOES);
+ COREGL_OVERRIDE(fastpath_, glLineWidthxOES);
+ COREGL_OVERRIDE(fastpath_, glSampleCoveragexOES);
+ COREGL_OVERRIDE(fastpath_, glQueryCounterEXT);
+ COREGL_OVERRIDE(fastpath_, glBindVertexArrayOES);
+ COREGL_OVERRIDE(fastpath_, glDeleteVertexArraysOES);
+ COREGL_OVERRIDE(fastpath_, glGenVertexArraysOES);
+ COREGL_OVERRIDE(fastpath_, glIsVertexArrayOES);
+ COREGL_OVERRIDE(fastpath_, glClearDepthfOES );
+ COREGL_OVERRIDE(fastpath_, glClearDepthxOES );
/* Start overriding GLES 3.0 */
if(driver_gl_version >= COREGL_GLAPI_3) {
COREGL_OVERRIDE(fastpath_, glReadBuffer);
{
STATE_COMPARE(gl_framebuffer_binding_read[0])
{
- CHECK_GL_ERROR(_orig_fastpath_glBindFramebuffer(GL_READ_FRAMEBUFFER, newctx->gl_framebuffer_binding_read[0]))
+ if(driver_gl_version >=2)
+ CHECK_GL_ERROR(_orig_fastpath_glBindFramebuffer(GL_READ_FRAMEBUFFER, newctx->gl_framebuffer_binding_read[0]))
+ else
+ CHECK_GL_ERROR(_orig_fastpath_glBindFramebufferOES(GL_READ_FRAMEBUFFER, newctx->gl_framebuffer_binding_read[0]))
}
STATE_COMPARE(gl_framebuffer_binding_draw[0])
{
- CHECK_GL_ERROR(_orig_fastpath_glBindFramebuffer(GL_DRAW_FRAMEBUFFER, newctx->gl_framebuffer_binding_draw[0]))
+ if(driver_gl_version >=2)
+ CHECK_GL_ERROR(_orig_fastpath_glBindFramebuffer(GL_DRAW_FRAMEBUFFER, newctx->gl_framebuffer_binding_draw[0]))
+ else
+ CHECK_GL_ERROR(_orig_fastpath_glBindFramebufferOES(GL_DRAW_FRAMEBUFFER, newctx->gl_framebuffer_binding_draw[0]))
}
}
else
{
STATE_COMPARE(gl_framebuffer_binding[0])
{
- CHECK_GL_ERROR(_orig_fastpath_glBindFramebuffer(GL_FRAMEBUFFER, newctx->gl_framebuffer_binding[0]))
+ if(driver_gl_version >=2)
+ CHECK_GL_ERROR(_orig_fastpath_glBindFramebuffer(GL_FRAMEBUFFER, newctx->gl_framebuffer_binding[0]))
+ else
+ CHECK_GL_ERROR(_orig_fastpath_glBindFramebufferOES(GL_FRAMEBUFFER, newctx->gl_framebuffer_binding[0]))
}
}
STATE_COMPARE(gl_renderbuffer_binding[0])
finish:
_COREGL_FASTPATH_FUNC_END();
}
+void
+fastpath_glBindFramebufferOES(GLenum target, GLuint framebuffer)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_FRAMEBUFFER, framebuffer, &real_obj) != 1)
+ {
+ _set_gl_error(GL_OUT_OF_MEMORY);
+ goto finish;
+ }
+
+ if (target == GL_FRAMEBUFFER)
+ {
+ if (current_ctx->gl_framebuffer_binding_read_used == 1)
+ {
+ CURR_STATE_COMPARE(gl_framebuffer_binding_read, real_obj)
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glBindFramebufferOES(target, real_obj))
+ {
+ if (real_obj == 0)
+ current_ctx->_bind_flag1 &= (~_BIND_FLAG1_BIT_gl_framebuffer_binding_read);
+ else
+ current_ctx->_bind_flag1 |= _BIND_FLAG1_BIT_gl_framebuffer_binding_read;
+ current_ctx->gl_framebuffer_binding_read[0] = real_obj;
+ }
+ }
+ CURR_STATE_COMPARE(gl_framebuffer_binding_draw, real_obj)
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glBindFramebufferOES(target, real_obj))
+ {
+ if (real_obj == 0)
+ current_ctx->_bind_flag1 &= (~_BIND_FLAG1_BIT_gl_framebuffer_binding_draw);
+ else
+ current_ctx->_bind_flag1 |= _BIND_FLAG1_BIT_gl_framebuffer_binding_draw;
+ current_ctx->gl_framebuffer_binding_draw[0] = real_obj;
+ }
+ }
+ }
+ else
+ {
+ CURR_STATE_COMPARE(gl_framebuffer_binding, real_obj)
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glBindFramebufferOES(target, real_obj))
+ {
+ if (real_obj == 0)
+ current_ctx->_bind_flag1 &= (~_BIND_FLAG1_BIT_gl_framebuffer_binding);
+ else
+ current_ctx->_bind_flag1 |= _BIND_FLAG1_BIT_gl_framebuffer_binding;
+ current_ctx->gl_framebuffer_binding[0] = real_obj;
+ }
+ }
+ }
+ }
+ else if (target == GL_READ_FRAMEBUFFER && current_ctx->gl_framebuffer_binding_read_used)
+ {
+ CURR_STATE_COMPARE(gl_framebuffer_binding_read, real_obj)
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glBindFramebufferOES(target, real_obj))
+ {
+ if (real_obj == 0)
+ current_ctx->_bind_flag1 &= (~_BIND_FLAG1_BIT_gl_framebuffer_binding_read);
+ else
+ current_ctx->_bind_flag1 |= _BIND_FLAG1_BIT_gl_framebuffer_binding_read;
+ current_ctx->gl_framebuffer_binding_read[0] = real_obj;
+ }
+ }
+ }
+ else if (target == GL_DRAW_FRAMEBUFFER && current_ctx->gl_framebuffer_binding_draw_used)
+ {
+ CURR_STATE_COMPARE(gl_framebuffer_binding_draw, real_obj)
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glBindFramebufferOES(target, real_obj))
+ {
+ if (real_obj == 0)
+ current_ctx->_bind_flag1 &= (~_BIND_FLAG1_BIT_gl_framebuffer_binding_draw);
+ else
+ current_ctx->_bind_flag1 |= _BIND_FLAG1_BIT_gl_framebuffer_binding_draw;
+ current_ctx->gl_framebuffer_binding_draw[0] = real_obj;
+ }
+ }
+ }
+ else
+ {
+ _set_gl_error(GL_INVALID_ENUM);
+ goto finish;
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glBindRenderbufferOES(GLenum target, GLuint renderbuffer)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_RENDERBUFFER, renderbuffer, &real_obj) != 1)
+ {
+ _set_gl_error(GL_OUT_OF_MEMORY);
+ goto finish;
+ }
+
+ if (target == GL_RENDERBUFFER)
+ {
+ CURR_STATE_COMPARE(gl_renderbuffer_binding, real_obj)
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glBindRenderbufferOES(target, real_obj))
+ {
+ if (real_obj == 0)
+ current_ctx->_bind_flag1 &= (~_BIND_FLAG1_BIT_gl_renderbuffer_binding);
+ else
+ current_ctx->_bind_flag1 |= _BIND_FLAG1_BIT_gl_renderbuffer_binding;
+ current_ctx->gl_renderbuffer_binding[0] = real_obj;
+ }
+ }
+ }
+ else
+ {
+ _set_gl_error(GL_INVALID_ENUM);
+ goto finish;
+ }
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+
+void
+fastpath_glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buffer, &real_obj) != 1)
+ {
+ goto finish;
+ }
+
+ _orig_fastpath_glClearBufferfi(real_obj, drawbuffer, depth, stencil);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glClearBufferfv(GLenum buffer, GLint drawbuffer, GLfloat const *value)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buffer, &real_obj) != 1)
+ {
+ goto finish;
+ }
+
+ _orig_fastpath_glClearBufferfv(buffer, drawbuffer, value);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glClearBufferiv(GLenum buffer, GLint drawbuffer, GLint const *value)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buffer, &real_obj) != 1)
+ {
+ goto finish;
+ }
+
+ _orig_fastpath_glClearBufferiv(buffer, drawbuffer, value);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glClearBufferuiv(GLenum buffer, GLint drawbuffer, GLuint const *value)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buffer, &real_obj) != 1)
+ {
+ goto finish;
+ }
+
+ _orig_fastpath_glClearBufferuiv(buffer, drawbuffer, value);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glDeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers)
+{
+ int i;
+ GLuint *objid_array = NULL;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (n < 0)
+ {
+ _set_gl_error(GL_INVALID_VALUE);
+ goto finish;
+ }
+ if (n == 0) goto finish;
+ if (framebuffers == NULL) goto finish;
+
+ AST(current_ctx->ostate.shared != NULL);
+
+ objid_array = (GLuint *)calloc(1, sizeof(GLuint) * n);
+ {
+ int real_n = 0;
+
+ for (i = 0; i < n; i++)
+ {
+ int real_objid = _COREGL_INT_INIT_VALUE;
+ if (framebuffers[i] == 0) continue;
+
+ real_objid = fastpath_ostate_get_object(¤t_ctx->ostate, GL_OBJECT_TYPE_FRAMEBUFFER, framebuffers[i]);
+ if (real_objid == 0) continue;
+
+ AST(fastpath_ostate_remove_object(¤t_ctx->ostate, GL_OBJECT_TYPE_FRAMEBUFFER, framebuffers[i]) == 1);
+ objid_array[real_n++] = real_objid;
+ }
+
+ IF_GL_SUCCESS(_orig_fastpath_glDeleteFramebuffersOES(real_n, objid_array))
+ {
+ for (i = 0; i < real_n; i++)
+ {
+ General_Trace_List *current = NULL;
+ current = current_ctx->ostate.shared->using_gctxs;
+
+ while (current != NULL)
+ {
+ GLGlueContext *cur_gctx = (GLGlueContext *)current->value;
+
+ if (cur_gctx->gl_framebuffer_binding[0] == objid_array[i])
+ {
+ cur_gctx->_bind_flag1 &= (~_BIND_FLAG1_BIT_gl_framebuffer_binding);
+ cur_gctx->gl_framebuffer_binding[0] = 0;
+ }
+ if (cur_gctx->gl_framebuffer_binding_read[0] == objid_array[i])
+ {
+ cur_gctx->_bind_flag1 &= (~_BIND_FLAG1_BIT_gl_framebuffer_binding_read);
+ cur_gctx->gl_framebuffer_binding_read[0] = 0;
+ }
+ if (cur_gctx->gl_framebuffer_binding_draw[0] == objid_array[i])
+ {
+ cur_gctx->_bind_flag1 &= (~_BIND_FLAG1_BIT_gl_framebuffer_binding_draw);
+ cur_gctx->gl_framebuffer_binding_draw[0] = 0;
+ }
+
+ current = current->next;
+ }
+ }
+ }
+ }
+
+ goto finish;
+
+finish:
+ if (objid_array != NULL)
+ {
+ free(objid_array);
+ objid_array = NULL;
+ }
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glDeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers)
+{
+ int i;
+ GLuint *objid_array = NULL;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (n < 0)
+ {
+ _set_gl_error(GL_INVALID_VALUE);
+ goto finish;
+ }
+ if (n == 0) goto finish;
+ if (renderbuffers == NULL) goto finish;
+
+ AST(current_ctx->ostate.shared != NULL);
+
+ objid_array = (GLuint *)calloc(1, sizeof(GLuint) * n);
+ {
+ int real_n = 0;
+
+ for (i = 0; i < n; i++)
+ {
+ int real_objid = _COREGL_INT_INIT_VALUE;
+ if (renderbuffers[i] == 0) continue;
+
+ real_objid = fastpath_ostate_get_object(¤t_ctx->ostate, GL_OBJECT_TYPE_RENDERBUFFER, renderbuffers[i]);
+ if (real_objid == 0) continue;
+
+ AST(fastpath_ostate_remove_object(¤t_ctx->ostate, GL_OBJECT_TYPE_RENDERBUFFER, renderbuffers[i]) == 1);
+ objid_array[real_n++] = real_objid;
+ }
+
+ IF_GL_SUCCESS(_orig_fastpath_glDeleteRenderbuffersOES(real_n, objid_array))
+ {
+ for (i = 0; i < real_n; i++)
+ {
+ General_Trace_List *current = NULL;
+ current = current_ctx->ostate.shared->using_gctxs;
+
+ while (current != NULL)
+ {
+ GLGlueContext *cur_gctx = (GLGlueContext *)current->value;
+
+ if (cur_gctx->gl_renderbuffer_binding[0] == objid_array[i])
+ {
+ cur_gctx->_bind_flag1 &= (~_BIND_FLAG1_BIT_gl_renderbuffer_binding);
+ cur_gctx->gl_renderbuffer_binding[0] = 0;
+ }
+
+ current = current->next;
+ }
+ }
+ }
+ }
+
+ goto finish;
+
+finish:
+ if (objid_array != NULL)
+ {
+ free(objid_array);
+ objid_array = NULL;
+ }
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glDepthRangefOES(GLclampf zNear, GLclampf zFar)
+{
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if ((current_ctx->gl_depth_range[0] != zNear) ||
+ (current_ctx->gl_depth_range[1] != zFar))
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glDepthRangefOES(zNear, zFar))
+ {
+ current_ctx->_clear_flag2 |= _CLEAR_FLAG2_BIT_gl_depth_range;
+ current_ctx->gl_depth_range[0] = zNear;
+ current_ctx->gl_depth_range[1] = zFar;
+ }
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glDepthRangexOES(GLclampx zNear, GLclampx zFar)
+{
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if ((current_ctx->gl_depth_range[0] != zNear) ||
+ (current_ctx->gl_depth_range[1] != zFar))
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glDepthRangexOES(zNear, zFar))
+ {
+ current_ctx->_clear_flag2 |= _CLEAR_FLAG2_BIT_gl_depth_range;
+ current_ctx->gl_depth_range[0] = zNear;
+ current_ctx->gl_depth_range[1] = zFar;
+ }
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glFramebufferParameteri(GLenum target, GLenum pname, GLint param)
+{
+ GLint real_obj = 0, fa_type = 0;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ switch (pname)
+ {
+ case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:
+ param = 0;
+ _orig_fastpath_glFramebufferParameteri(target, pname, real_obj);
+ _orig_fastpath_glFramebufferParameteri(target, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, fa_type);
+ switch (fa_type)
+ {
+ case GL_TEXTURE:
+ if (GET_GLUE_OBJ(GL_OBJECT_TYPE_TEXTURE, real_obj, (GLuint *)¶m) != 1)
+ {
+ param = 0;
+ goto finish;
+ }
+ break;
+ case GL_RENDERBUFFER:
+ if (GET_GLUE_OBJ(GL_OBJECT_TYPE_RENDERBUFFER, real_obj, (GLuint *)¶m) != 1)
+ {
+ param = 0;
+ goto finish;
+ }
+ break;
+ }
+ break;
+ default:
+ _orig_fastpath_glFramebufferParameteri(target, pname, param);
+ break;
+ }
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params)
+{
+ GLint real_obj = 0, fa_type = 0;;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ switch (pname)
+ {
+ case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:
+ params[0] = 0;
+ _orig_fastpath_glGetFramebufferParameteriv(target, pname, &real_obj);
+ _orig_fastpath_glGetFramebufferParameteriv(target, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &fa_type);
+ switch (fa_type)
+ {
+ case GL_TEXTURE:
+ if (GET_GLUE_OBJ(GL_OBJECT_TYPE_TEXTURE, real_obj, (GLuint *)params) != 1)
+ {
+ params[0] = 0;
+ goto finish;
+ }
+ break;
+ case GL_RENDERBUFFER:
+ if (GET_GLUE_OBJ(GL_OBJECT_TYPE_RENDERBUFFER, real_obj, (GLuint *)params) != 1)
+ {
+ params[0] = 0;
+ goto finish;
+ }
+ break;
+ }
+ break;
+ default:
+ _orig_fastpath_glGetFramebufferParameteriv(target, pname, params);
+ break;
+ }
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_RENDERBUFFER, renderbuffer, &real_obj) != 1)
+ {
+ _set_gl_error(GL_OUT_OF_MEMORY);
+ goto finish;
+ }
+
+ _orig_fastpath_glFramebufferRenderbufferOES(target, attachment, renderbuffertarget, real_obj);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_TEXTURE, texture, &real_obj) != 1)
+ {
+ _set_gl_error(GL_OUT_OF_MEMORY);
+ goto finish;
+ }
+
+ _orig_fastpath_glFramebufferTexture2DOES(target, attachment, textarget, real_obj, level);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGenFramebuffersOES(GLsizei n, GLuint* framebuffers)
+{
+ int i;
+ GLuint *objid_array = NULL;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (n < 0)
+ {
+ _set_gl_error(GL_INVALID_VALUE);
+ goto finish;
+ }
+ if (n == 0) goto finish;
+ if (framebuffers == NULL) goto finish;
+
+ AST(current_ctx->ostate.shared != NULL);
+
+ objid_array = (GLuint *)calloc(1, sizeof(GLuint) * n);
+
+ IF_GL_SUCCESS(_orig_fastpath_glGenFramebuffersOES(n, objid_array))
+ {
+ for (i = 0; i < n; i++)
+ {
+ framebuffers[i] = fastpath_ostate_create_object(¤t_ctx->ostate, GL_OBJECT_TYPE_FRAMEBUFFER, objid_array[i]);
+ }
+ }
+
+ goto finish;
+
+finish:
+ if (objid_array != NULL)
+ {
+ free(objid_array);
+ objid_array = NULL;
+ }
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGenRenderbuffersOES(GLsizei n, GLuint* renderbuffers)
+{
+ int i;
+ GLuint *objid_array = NULL;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (n < 0)
+ {
+ _set_gl_error(GL_INVALID_VALUE);
+ goto finish;
+ }
+ if (n == 0) goto finish;
+ if (renderbuffers == NULL) goto finish;
+
+ AST(current_ctx->ostate.shared != NULL);
+
+ objid_array = (GLuint *)calloc(1, sizeof(GLuint) * n);
+
+ IF_GL_SUCCESS(_orig_fastpath_glGenRenderbuffersOES(n, objid_array))
+ {
+ for (i = 0; i < n; i++)
+ {
+ renderbuffers[i] = fastpath_ostate_create_object(¤t_ctx->ostate, GL_OBJECT_TYPE_RENDERBUFFER, objid_array[i]);
+ }
+ }
+
+ goto finish;
+
+finish:
+ if (objid_array != NULL)
+ {
+ free(objid_array);
+ objid_array = NULL;
+ }
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint *params)
+{
+ GLint real_obj, fa_type;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ switch (pname)
+ {
+ case GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:
+ params[0] = 0;
+ _orig_fastpath_glGetFramebufferAttachmentParameterivOES(target, attachment, pname, &real_obj);
+ _orig_fastpath_glGetFramebufferAttachmentParameterivOES(target, attachment, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &fa_type);
+ switch (fa_type)
+ {
+ case GL_TEXTURE:
+ if (GET_GLUE_OBJ(GL_OBJECT_TYPE_TEXTURE, real_obj, (GLuint *)params) != 1)
+ {
+ params[0] = 0;
+ goto finish;
+ }
+ break;
+ case GL_RENDERBUFFER:
+ if (GET_GLUE_OBJ(GL_OBJECT_TYPE_RENDERBUFFER, real_obj, (GLuint *)params) != 1)
+ {
+ params[0] = 0;
+ goto finish;
+ }
+ break;
+ }
+ break;
+ default:
+ _orig_fastpath_glGetFramebufferAttachmentParameterivOES(target, attachment, pname, params);
+ break;
+ }
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64 *params)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_QUERY, id, &real_obj) != 1)
+ {
+ _set_gl_error(GL_INVALID_OPERATION);
+ goto finish;
+ }
+
+ _orig_fastpath_glGetQueryObjecti64vEXT(real_obj, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetQueryObjectivEXT(GLuint id, GLenum pname, GLint *params)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_QUERY, id, &real_obj) != 1)
+ {
+ _set_gl_error(GL_INVALID_OPERATION);
+ goto finish;
+ }
+
+ _orig_fastpath_glGetQueryObjectivEXT(real_obj, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64 *params)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_QUERY, id, &real_obj) != 1)
+ {
+ _set_gl_error(GL_INVALID_OPERATION);
+ goto finish;
+ }
+
+ _orig_fastpath_glGetQueryObjectui64vEXT(real_obj, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint* params)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_QUERY, id, &real_obj) != 1)
+ {
+ _set_gl_error(GL_INVALID_OPERATION);
+ goto finish;
+ }
+
+ _orig_fastpath_glGetQueryObjectuivEXT(real_obj, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetQueryivEXT(GLenum target, GLenum pname, GLint* params)
+{
+ GLuint glue_obj_id = _COREGL_INT_INIT_VALUE;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ _orig_fastpath_glGetQueryivEXT(target, pname, params);
+
+ switch (pname)
+ {
+ case GL_CURRENT_QUERY:
+ if (params[0] != 0)
+ {
+ AST(GET_GLUE_OBJ(GL_OBJECT_TYPE_QUERY, params[0], &glue_obj_id) == 1);
+ params[0] = glue_obj_id;
+ }
+ break;
+ }
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glBeginQueryEXT(GLenum target, GLuint id)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_QUERY, id, &real_obj) != 1)
+ {
+ // TODO : Begin - Context Switch
+ _set_gl_error(GL_INVALID_OPERATION);
+ goto finish;
+ }
+
+ _orig_fastpath_glBeginQueryEXT(target, real_obj);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glDeleteQueriesEXT(GLsizei n, const GLuint* ids)
+{
+ int i;
+ GLuint *objid_array = NULL;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (n < 0)
+ {
+ _set_gl_error(GL_INVALID_VALUE);
+ goto finish;
+ }
+ if (n == 0) goto finish;
+ if (ids == NULL) goto finish;
+
+ AST(current_ctx->ostate.shared != NULL);
+
+ objid_array = (GLuint *)calloc(1, sizeof(GLuint) * n);
+ {
+ int real_n = 0;
+
+ for (i = 0; i < n; i++)
+ {
+ int real_objid = _COREGL_INT_INIT_VALUE;
+ if (ids[i] == 0) continue;
+
+ real_objid = fastpath_ostate_get_object(¤t_ctx->ostate, GL_OBJECT_TYPE_QUERY, ids[i]);
+ if (real_objid == 0) continue;
+
+ AST(fastpath_ostate_remove_object(¤t_ctx->ostate, GL_OBJECT_TYPE_QUERY, ids[i]) == 1);
+ objid_array[real_n++] = real_objid;
+ }
+
+ _orig_fastpath_glDeleteQueriesEXT(real_n, objid_array);
+ }
+
+ goto finish;
+
+finish:
+ if (objid_array != NULL)
+ {
+ free(objid_array);
+ objid_array = NULL;
+ }
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGenQueriesEXT(GLsizei n, GLuint* ids)
+{
+ int i;
+ GLuint *objid_array = NULL;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (n < 0)
+ {
+ _set_gl_error(GL_INVALID_VALUE);
+ goto finish;
+ }
+ if (n == 0) goto finish;
+ if (ids == NULL) goto finish;
+
+ AST(current_ctx->ostate.shared != NULL);
+
+ objid_array = (GLuint *)calloc(1, sizeof(GLuint) * n);
+
+ IF_GL_SUCCESS(_orig_fastpath_glGenQueriesEXT(n, objid_array))
+ {
+ for (i = 0; i < n; i++)
+ {
+ ids[i] = fastpath_ostate_create_object(¤t_ctx->ostate, GL_OBJECT_TYPE_QUERY, objid_array[i]);
+ }
+ }
+
+ goto finish;
+
+finish:
+ if (objid_array != NULL)
+ {
+ free(objid_array);
+ objid_array = NULL;
+ }
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+GLboolean
+fastpath_glIsFramebufferOES(GLuint framebuffer)
+{
+ GLboolean ret = GL_FALSE;
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_FRAMEBUFFER, framebuffer, &real_obj) != 1)
+ {
+ ret = GL_FALSE;
+ goto finish;
+ }
+
+ ret = _orig_fastpath_glIsFramebufferOES(real_obj);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+ return ret;
+}
+
+GLboolean
+fastpath_glIsQueryEXT(GLuint id)
+{
+ GLboolean ret = GL_FALSE;
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_QUERY, id, &real_obj) != 1)
+ {
+ ret = GL_FALSE;
+ goto finish;
+ }
+
+ ret = _orig_fastpath_glIsQueryEXT(real_obj);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+ return ret;
+}
+
+GLboolean
+fastpath_glIsRenderbufferOES(GLuint renderbuffer)
+{
+ GLboolean ret = GL_FALSE;
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_RENDERBUFFER, renderbuffer, &real_obj) != 1)
+ {
+ ret = GL_FALSE;
+ goto finish;
+ }
+
+ ret = _orig_fastpath_glIsRenderbufferOES(real_obj);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+ return ret;
+}
+
+void
+fastpath_glBlendEquationOES(GLenum mode)
+{
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ IF_GL_SUCCESS(_orig_fastpath_glBlendEquationOES(mode))
+ {
+ current_ctx->_blend_flag |=
+ _BLEND_FLAG_BIT_gl_blend_equation_rgb |
+ _BLEND_FLAG_BIT_gl_blend_equation_alpha;
+
+ _orig_fastpath_glGetIntegerv(GL_BLEND_EQUATION_RGB, (GLint*) & (current_ctx->gl_blend_equation_rgb));
+ _orig_fastpath_glGetIntegerv(GL_BLEND_EQUATION_ALPHA, (GLint*) & (current_ctx->gl_blend_equation_alpha));
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+
+void
+fastpath_glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha)
+{
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if ((current_ctx->gl_blend_equation_rgb[0] != modeRGB) ||
+ (current_ctx->gl_blend_equation_alpha[0] != modeAlpha))
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glBlendEquationSeparateOES(modeRGB, modeAlpha))
+ {
+ current_ctx->_blend_flag |=
+ _BLEND_FLAG_BIT_gl_blend_equation_rgb |
+ _BLEND_FLAG_BIT_gl_blend_equation_alpha;
+
+ current_ctx->gl_blend_equation_rgb[0] = modeRGB;
+ current_ctx->gl_blend_equation_alpha[0] = modeAlpha;
+ }
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glBlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
+{
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if ((current_ctx->gl_blend_src_rgb[0] != srcRGB) ||
+ (current_ctx->gl_blend_dst_rgb[0] != dstRGB) ||
+ (current_ctx->gl_blend_src_alpha[0] != srcAlpha) ||
+ (current_ctx->gl_blend_dst_alpha[0] != dstAlpha))
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glBlendFuncSeparateOES(srcRGB, dstRGB, srcAlpha, dstAlpha))
+ {
+ current_ctx->_blend_flag |=
+ _BLEND_FLAG_BIT_gl_blend_src_rgb |
+ _BLEND_FLAG_BIT_gl_blend_src_alpha |
+ _BLEND_FLAG_BIT_gl_blend_dst_rgb |
+ _BLEND_FLAG_BIT_gl_blend_dst_alpha;
+
+ current_ctx->gl_blend_src_rgb[0] = srcRGB;
+ current_ctx->gl_blend_dst_rgb[0] = dstRGB;
+ current_ctx->gl_blend_src_alpha[0] = srcAlpha;
+ current_ctx->gl_blend_dst_alpha[0] = dstAlpha;
+ }
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glPolygonOffsetxOES(GLfixed factor, GLfixed units)
+{
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if ((current_ctx->gl_polygon_offset_factor[0] != factor) ||
+ (current_ctx->gl_polygon_offset_units[0] != units))
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glPolygonOffsetxOES(factor, units))
+ {
+ current_ctx->_misc_flag1 |=
+ _MISC_FLAG1_BIT_gl_polygon_offset_factor |
+ _MISC_FLAG1_BIT_gl_polygon_offset_units;
+
+ current_ctx->gl_polygon_offset_factor[0] = factor;
+ current_ctx->gl_polygon_offset_units[0] = units;
+ }
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glLineWidthxOES(GLfixed width)
+{
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ CURR_STATE_COMPARE(gl_line_width, width)
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glLineWidthxOES(width))
+ {
+ current_ctx->_misc_flag1 |= _MISC_FLAG1_BIT_gl_line_width;
+ current_ctx->gl_line_width[0] = width;
+ }
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glSampleCoveragexOES(GLclampx value, GLboolean invert)
+{
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if ((current_ctx->gl_sample_coverage_value[0] != value) ||
+ (current_ctx->gl_sample_coverage_invert[0] != invert))
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glSampleCoveragexOES(value, invert))
+ {
+ current_ctx->_misc_flag1 |=
+ _MISC_FLAG1_BIT_gl_sample_coverage_value |
+ _MISC_FLAG1_BIT_gl_sample_coverage_invert;
+
+ current_ctx->gl_sample_coverage_value[0] = value;
+ current_ctx->gl_sample_coverage_invert[0] = invert;
+ }
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glQueryCounterEXT(GLuint id, GLenum target)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_QUERY, id, &real_obj) != 1)
+ {
+ // TODO : Begin - Context Switch
+ _set_gl_error(GL_INVALID_OPERATION);
+ goto finish;
+ }
+
+ _orig_fastpath_glQueryCounterEXT(real_obj,target);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGenVertexArraysOES(GLsizei n, GLuint* arrays)
+{
+ int i;
+ GLuint *objid_array = NULL;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (n < 0)
+ {
+ _set_gl_error(GL_INVALID_VALUE);
+ goto finish;
+ }
+ if (n == 0) goto finish;
+ if (arrays == NULL) goto finish;
+
+ AST(current_ctx->ostate.shared != NULL);
+
+ objid_array = (GLuint *)calloc(1, sizeof(GLuint) * n);
+
+ IF_GL_SUCCESS(_orig_fastpath_glGenVertexArraysOES(n, objid_array))
+ {
+ for (i = 0; i < n; i++)
+ {
+ arrays[i] = fastpath_ostate_create_object(¤t_ctx->ostate, GL_OBJECT_TYPE_VERTEXARRAY, objid_array[i]);
+ }
+ }
+
+ goto finish;
+
+finish:
+ if (objid_array != NULL)
+ {
+ free(objid_array);
+ objid_array = NULL;
+ }
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+
+void
+fastpath_glBindVertexArrayOES(GLuint array)
+{
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_VERTEXARRAY, array, &real_obj) != 1)
+ {
+ _set_gl_error(GL_INVALID_OPERATION);
+ goto finish;
+ }
+ if (current_ctx->gl_vertex_array_binding[0] != real_obj)
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glBindVertexArrayOES(real_obj))
+ {
+ current_ctx->_misc_flag3 |= _MISC_FLAG3_BIT_gl_vertex_array_binding;
+ current_ctx->gl_vertex_array_binding[0] = real_obj;
+ }
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+
+GLboolean
+fastpath_glIsVertexArrayOES(GLuint array)
+{
+ GLboolean ret = GL_FALSE;
+ GLuint real_obj;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (GET_REAL_OBJ(GL_OBJECT_TYPE_VERTEXARRAY, array, &real_obj) != 1)
+ {
+ ret = GL_FALSE;
+ goto finish;
+ }
+
+ ret = _orig_fastpath_glIsVertexArrayOES(real_obj);
+
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+ return ret;
+}
+
+
+void
+fastpath_glDeleteVertexArraysOES(GLsizei n, const GLuint* arrays)
+{
+ int i;
+ GLuint *objid_array = NULL;
+
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ if (n < 0)
+ {
+ _set_gl_error(GL_INVALID_VALUE);
+ goto finish;
+ }
+ if (n == 0) goto finish;
+ if (arrays == NULL) goto finish;
+
+ AST(current_ctx->ostate.shared != NULL);
+
+ objid_array = (GLuint *)calloc(1, sizeof(GLuint) * n);
+ {
+ int real_n = 0;
+
+ for (i = 0; i < n; i++)
+ {
+ int real_objid = _COREGL_INT_INIT_VALUE;
+ if (arrays[i] == 0) continue;
+
+ real_objid = fastpath_ostate_get_object(¤t_ctx->ostate, GL_OBJECT_TYPE_VERTEXARRAY, arrays[i]);
+ if (real_objid == 0) continue;
+
+ AST(fastpath_ostate_remove_object(¤t_ctx->ostate, GL_OBJECT_TYPE_VERTEXARRAY, arrays[i]) == 1);
+ objid_array[real_n++] = real_objid;
+ }
+
+ IF_GL_SUCCESS(_orig_fastpath_glDeleteVertexArraysOES(real_n, objid_array))
+ {
+ for (i = 0; i < real_n; i++)
+ {
+ General_Trace_List *current = NULL;
+ current = current_ctx->ostate.shared->using_gctxs;
+
+ while (current != NULL)
+ {
+ GLGlueContext *cur_gctx = (GLGlueContext *)current->value;
+
+ if (cur_gctx->gl_vertex_array_binding[0] == objid_array[i])
+ cur_gctx->gl_vertex_array_binding[0] = 0;
+
+ current = current->next;
+ }
+ }
+ }
+ }
+
+ goto finish;
+
+finish:
+ if (objid_array != NULL)
+ {
+ free(objid_array);
+ objid_array = NULL;
+ }
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glClearDepthfOES(GLclampf depth)
+{
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ CURR_STATE_COMPARE(gl_depth_clear_value, depth)
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glClearDepthfOES(depth))
+ {
+ current_ctx->_clear_flag2 |= _CLEAR_FLAG2_BIT_gl_depth_clear_value;
+ current_ctx->gl_depth_clear_value[0] = depth;
+ }
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glClearDepthxOES(GLclampx depth)
+{
+ DEFINE_FASTPAH_GL_FUNC();
+ _COREGL_FASTPATH_FUNC_BEGIN();
+ INIT_FASTPATH_GL_FUNC();
+
+ CURR_STATE_COMPARE(gl_depth_clear_value, depth)
+ {
+ IF_GL_SUCCESS(_orig_fastpath_glClearDepthxOES(depth))
+ {
+ current_ctx->_clear_flag2 |= _CLEAR_FLAG2_BIT_gl_depth_clear_value;
+ current_ctx->gl_depth_clear_value[0] = depth;
+ }
+ }
+ goto finish;
+
+finish:
+ _COREGL_FASTPATH_FUNC_END();
+}
png_struct *png = NULL;
png_info *info = NULL;
png_byte **rows = NULL;
+ GLenum ret_value = _COREGL_INT_INIT_VALUE;
if (!png_lib_handle)
{
_orig_tracepath_glGetIntegerv(GL_FRAMEBUFFER_BINDING, &oldfb);
_orig_tracepath_glBindFramebuffer(GL_FRAMEBUFFER, sdata->fbo);
- if (_orig_tracepath_glCheckFramebufferStatus(GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE)
+ if(driver_gl_version >=2)
+ ret_value = _orig_tracepath_glCheckFramebufferStatus(GL_FRAMEBUFFER);
+ else
+ ret_value = _orig_tracepath_glCheckFramebufferStatusOES(GL_FRAMEBUFFER);
+ if (ret_value == GL_FRAMEBUFFER_COMPLETE)
{
_orig_tracepath_glBindFramebuffer(GL_FRAMEBUFFER, oldfb);
width = sdata->tex_w;
_orig_tracepath_glBindFramebuffer(GL_FRAMEBUFFER, sdata->fbo);
int atttype = _COREGL_INT_INIT_VALUE;
- _orig_tracepath_glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &atttype);
+ if(driver_gl_version >=2)
+ _orig_tracepath_glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &atttype);
+ else
+ _orig_tracepath_glGetFramebufferAttachmentParameterivOES(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &atttype);
AST(atttype != sdata->tex);
int attname = _COREGL_INT_INIT_VALUE;
- _orig_tracepath_glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, &attname);
+ if(driver_gl_version >=2)
+ _orig_tracepath_glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, &attname);
+ else
+ _orig_tracepath_glGetFramebufferAttachmentParameterivOES(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, &attname);
switch (atttype)
{
case GL_TEXTURE:
}
void
-tracepath_glTexImage3DOES(GLenum target, GLint level, GLint GLinternalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
+tracepath_glTexImage3DOES(GLenum target, GLint level, GLenum GLinternalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)
{
_COREGL_TRACEPATH_FUNC_BEGIN();
_orig_tracepath_glTexImage3DOES(target, level, GLinternalFormat, width, height, depth, border, format, type, pixels);
finish:
_COREGL_TRACEPATH_FUNC_END();
}
-
+/*
void
tracepath_glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
{
}
#endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
}
+*/
void
finish:
_COREGL_TRACEPATH_FUNC_END();
-}
\ No newline at end of file
+}
+void
+tracepath_glBindFramebufferOES(GLenum target, GLuint framebuffer)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+ if (unlikely(trace_surface_flag == 1))
+ {
+ GLint oldfb;
+ _orig_tracepath_glGetIntegerv(GL_FRAMEBUFFER_BINDING, &oldfb);
+ if (oldfb != 0)
+ {
+ _COREGL_TRACE_SURFACE(0, 2, "GLBINDFBO");
+ }
+
+ tracepath_fbdump_update(0);
+ }
+#endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
+
+ _orig_tracepath_glBindFramebufferOES(target, framebuffer);
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+ if (unlikely(trace_surface_flag == 1))
+ {
+ tracepath_fbdump_update(1);
+ }
+#endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glBindRenderbufferOES(GLenum target, GLuint renderbuffer)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glBindRenderbufferOES(target, renderbuffer);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glDeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+ tracepath_fbdump_update(0);
+#endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
+
+ _orig_tracepath_glDeleteFramebuffersOES(n, framebuffers);
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+ tracepath_fbdump_update(1);
+#endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glDeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+ tracepath_fbdump_update(0);
+#endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
+
+ _orig_tracepath_glDeleteRenderbuffersOES(n, renderbuffers);
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+ tracepath_fbdump_update(1);
+#endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+#ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
+ if (trace_mem_flag == 1)
+ {
+ MY_MODULE_TSTATE *tstate = NULL;
+
+ GET_MY_TSTATE(tstate, get_current_thread_state());
+ AST(tstate != NULL);
+ if (tstate->ctx != NULL)
+ {
+ for (int i = 0; i < n; i++)
+ {
+ if (renderbuffers[i] == 0) continue;
+ _remove_glbuf_object(tstate->ctx->sostate->glbuf_rb, renderbuffers[i], "Renderbuffer");
+ }
+ }
+ }
+#endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
+}
+
+void
+tracepath_glDepthRangefOES(GLclampf zNear, GLclampf zFar)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glDepthRangefOES(zNear, zFar);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glDepthRangexOES(GLclampx zNear, GLclampx zFar)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glDepthRangexOES(zNear, zFar);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+ tracepath_fbdump_update(0);
+#endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
+
+ _orig_tracepath_glFramebufferRenderbufferOES(target, attachment, renderbuffertarget, renderbuffer);
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+ tracepath_fbdump_update(1);
+#endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+ tracepath_fbdump_update(0);
+#endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
+
+ _orig_tracepath_glFramebufferTexture2DOES(target, attachment, textarget, texture, level);
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+ tracepath_fbdump_update(1);
+#endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGenFramebuffersOES(GLsizei n, GLuint* framebuffers)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGenFramebuffersOES(n, framebuffers);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGenRenderbuffersOES(GLsizei n, GLuint* renderbuffers)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGenRenderbuffersOES(n, renderbuffers);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+#ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
+ if (trace_mem_flag == 1)
+ {
+ MY_MODULE_TSTATE *tstate = NULL;
+
+ GET_MY_TSTATE(tstate, get_current_thread_state());
+ AST(tstate != NULL);
+ if (tstate->ctx != NULL)
+ {
+ for (int i = 0; i < n; i++)
+ {
+ if (renderbuffers[i] == 0) continue;
+ _add_glbuf_object(tstate->ctx->sostate->glbuf_rb, renderbuffers[i], "Renderbuffer", 0, 0, 0, "Unknown");
+ }
+ }
+ }
+#endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
+}
+
+void
+tracepath_glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint* params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetFramebufferAttachmentParameterivOES(target, attachment, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64 *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetQueryObjecti64vEXT(id, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetQueryObjectivEXT(GLuint id, GLenum pname, GLint *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetQueryObjectivEXT(id, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64 *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetQueryObjectui64vEXT(id, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint* params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetQueryObjectuivEXT(id, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetQueryivEXT(GLenum target, GLenum pname, GLint* params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetQueryivEXT(target, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glBeginQueryEXT(GLenum target, GLuint id)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glBeginQueryEXT(target, id);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+
+void
+tracepath_glDeleteQueriesEXT(GLsizei n, const GLuint* ids)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glDeleteQueriesEXT(n, ids);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGenQueriesEXT(GLsizei n, GLuint* ids)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGenQueriesEXT(n, ids);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+GLboolean
+tracepath_glIsFramebufferOES(GLuint framebuffer)
+{
+ GLboolean ret = GL_FALSE;
+
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ ret = _orig_tracepath_glIsFramebufferOES(framebuffer);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+ return ret;
+}
+
+GLboolean
+tracepath_glIsQueryEXT(GLuint id)
+{
+ GLboolean ret = GL_FALSE;
+
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ ret = _orig_tracepath_glIsQueryEXT(id);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+ return ret;
+}
+
+GLboolean
+tracepath_glIsRenderbufferOES(GLuint renderbuffer)
+{
+ GLboolean ret;
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ ret = _orig_tracepath_glIsRenderbufferOES(renderbuffer);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+ return ret;
+}
+
+void
+tracepath_glEndQueryEXT(GLenum target)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glEndQueryEXT(target);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glAlphaFuncxOES(GLenum func, GLclampx ref)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glAlphaFuncxOES(func, ref);
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glBlendBarrierKHR()
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glBlendBarrierKHR();
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glBlendEquationOES(GLenum mode)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glBlendEquationOES(mode);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glBlendEquationSeparateOES(modeRGB, modeAlpha);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glBlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glBlendFuncSeparateOES(srcRGB, dstRGB, srcAlpha, dstAlpha);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+GLenum tracepath_glCheckFramebufferStatusOES(GLenum target)
+{
+ GLenum ret = _COREGL_INT_INIT_VALUE;
+
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ ret = _orig_tracepath_glCheckFramebufferStatusOES(target);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+ return ret;
+}
+
+
+void tracepath_glClearColorxOES(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glClearColorxOES(red, green, blue, alpha);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glClearDepthfOES(GLclampf depth)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glClearDepthfOES(depth);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glClearDepthxOES(GLclampx depth)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glClearDepthxOES(depth);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glClipPlanefOES(GLenum plane, GLfloat const *equation)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glClipPlanefOES(plane, equation);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+
+void tracepath_glClipPlanexOES(GLenum plane, GLfixed const *equation)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glClipPlanexOES(plane, equation);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glColor4xOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glColor4xOES(red, green, blue, alpha);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glDebugMessageCallback(GLDEBUGPROCKHR callback, void const *userParam)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glDebugMessageCallback(callback, userParam);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, GLchar const *buf)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glDebugMessageInsert(source, type, id, severity, length, buf);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, GLuint const *ids, GLboolean enabled)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glDebugMessageControl(source, type, severity, count, ids, enabled);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glFogxOES(GLenum pname, GLfixed param)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glFogxOES(pname, param);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glFogxvOES(GLenum pname, GLfixed const *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glFogxvOES(pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glFrustumxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glFrustumxOES(left, right, bottom, top, zNear, zFar);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glFrustumfOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glFrustumfOES(left, right, bottom, top, zNear, zFar);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGenerateMipmapOES(GLenum target)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGenerateMipmapOES(target);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGetClipPlanefOES(GLenum pname, GLfloat eqn[4])
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetClipPlanefOES(pname, eqn);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGetClipPlanexOES(GLenum pname, GLfixed eqn[4])
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetClipPlanexOES(pname, eqn);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+GLuint tracepath_glGetDebugMessageLog(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
+{
+ GLuint ret = GL_INVALID_INDEX;
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ ret = _orig_tracepath_glGetDebugMessageLog(count, bufsize, sources, types, ids, severities, lengths, messageLog);
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+ return ret;
+}
+
+void tracepath_glGetFixedvOES(GLenum pname, GLfixed *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetFixedvOES(pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGetLightxvOES(GLenum light, GLenum pname, GLfixed *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetLightxvOES(light, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGetMaterialxvOES(GLenum face, GLenum pname, GLfixed *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetMaterialxvOES(face, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetObjectLabel(identifier, name, bufSize, length, label);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGetObjectPtrLabel(void const *ptr, GLsizei bufSize, GLsizei *length, GLchar *label)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetObjectPtrLabel(ptr, bufSize, length, label);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGetPointervKHR(GLenum pname, GLvoid **params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetPointervKHR(pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetRenderbufferParameterivOES(target, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGetTexEnvxvOES(GLenum env, GLenum pname, GLfixed *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetTexEnvxvOES(env, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGetTexParameterxvOES(GLenum target, GLenum pname, GLfixed *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetTexParameterxvOES(target, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+
+void
+tracepath_glLightModelxOES (GLenum pname, GLfixed param)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glLightModelxOES (pname, param);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+
+void
+tracepath_glLightModelxvOES (GLenum pname, const GLfixed *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glLightModelxvOES (pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+
+void
+tracepath_glLightxOES (GLenum light, GLenum pname, GLfixed param)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glLightxOES (light, pname, param);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+
+void
+tracepath_glLightxvOES (GLenum light, GLenum pname, const GLfixed *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glLightxvOES (light, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glLineWidthxOES (GLfixed width)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glLineWidthxOES (width);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glLoadMatrixxOES (const GLfixed *m)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glLoadMatrixxOES (m);
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glMaterialxOES (GLenum face, GLenum pname, GLfixed param)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glMaterialxOES (face, pname, param);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glMaterialxvOES (face, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glMultMatrixxOES (const GLfixed *m)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glMultMatrixxOES (m);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glMultiTexCoord4bOES (GLenum target, GLbyte s, GLbyte t, GLbyte r, GLbyte q)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glMultiTexCoord4bOES (target, s, t, r, q);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glMultiTexCoord4xOES (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glMultiTexCoord4xOES (target, s, t, r, q);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glNormal3xOES (nx, ny, nz);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glObjectLabel (identifier, name, length, label);
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar *label)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glObjectPtrLabel (ptr, length, label);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glOrthofOES (left, right, bottom, top, zNear, zFar);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glOrthoxOES (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glOrthoxOES (left, right, bottom, top, zNear, zFar);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPointParameterxOES (GLenum pname, GLfixed param)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glPointParameterxOES (pname, param);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPointParameterxvOES (GLenum pname, const GLfixed *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glPointParameterxvOES (pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPointSizexOES (GLfixed size)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glPointSizexOES (size);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPolygonOffsetxOES (GLfixed factor, GLfixed units)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glPolygonOffsetxOES (factor, units);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPopDebugGroup (void)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glPopDebugGroup ();
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar *message)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glPushDebugGroup (source, id, length, message);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glQueryCounterEXT (GLuint id, GLenum target)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glQueryCounterEXT (id, target);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glRenderbufferStorageOES (target, internalformat, width, height);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glRotatexOES (angle, x, y, z);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glSampleCoveragexOES (GLclampx value, GLboolean invert)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glSampleCoveragexOES (value, invert);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glScalexOES (GLfixed x, GLfixed y, GLfixed z)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glScalexOES (x, y, z);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexEnvxOES (GLenum target, GLenum pname, GLfixed param)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glTexEnvxOES (target, pname, param);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glTexEnvxvOES (target, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexParameterxOES (GLenum target, GLenum pname, GLfixed param)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glTexParameterxOES (target, pname, param);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glTexParameterxvOES (target, pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glTexStorage2DEXT (target, levels, internalformat, width, height);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glTexStorage3DEXT (target, levels, internalformat, width, height, depth);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexStorage3DMultisampleOES (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glTexStorage3DMultisampleOES (target, samples, internalformat, width, height, depth, fixedsamplelocations);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTranslatexOES (GLfixed x, GLfixed y, GLfixed z)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glTranslatexOES (x, y, z);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glBindVertexArrayOES(GLuint array)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glBindVertexArrayOES(array);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glDeleteVertexArraysOES(GLsizei n, const GLuint* arrays)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glDeleteVertexArraysOES(n, arrays);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGenVertexArraysOES(GLsizei n, GLuint* arrays)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGenVertexArraysOES(n, arrays);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+GLboolean
+tracepath_glIsVertexArrayOES(GLuint array)
+{
+ GLboolean ret = GL_FALSE;
+
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ ret = _orig_tracepath_glIsVertexArrayOES(array);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+ return ret;
+}
+
+void tracepath_glDebugMessageCallbackKHR(GLDEBUGPROCKHR callback, void const *userParam)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glDebugMessageCallbackKHR(callback, userParam);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+
+void tracepath_glDebugMessageControlKHR(GLenum source, GLenum type, GLenum severity, GLsizei count, GLuint const *ids, GLboolean enabled)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glDebugMessageControlKHR(source, type, severity, count, ids, enabled);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glDebugMessageInsertKHR(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, GLchar const *buf)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glDebugMessageInsertKHR(source, type, id, severity, length, buf);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+GLuint tracepath_glGetDebugMessageLogKHR(GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
+{
+ GLuint ret = GL_INVALID_INDEX;
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ ret = _orig_tracepath_glGetDebugMessageLogKHR(count, bufsize, sources, types, ids, severities, lengths, messageLog);
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+ return ret;
+}
+
+void tracepath_glGetObjectLabelKHR(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetObjectLabelKHR(identifier, name, bufSize, length, label);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void tracepath_glGetObjectPtrLabelKHR(void const *ptr, GLsizei bufSize, GLsizei *length, GLchar *label)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetObjectPtrLabelKHR(ptr, bufSize, length, label);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetPointerv(GLenum pname, GLvoid **params)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glGetPointerv(pname, params);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glObjectLabelKHR (identifier, name, length, label);
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glObjectPtrLabelKHR (ptr, length, label);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPopDebugGroupKHR (void)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glPopDebugGroupKHR ();
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message)
+{
+ _COREGL_TRACEPATH_FUNC_BEGIN();
+ _orig_tracepath_glPushDebugGroupKHR (source, id, length, message);
+
+ goto finish;
+
+finish:
+ _COREGL_TRACEPATH_FUNC_END();
+}
+
ovr_glProgramUniform1iv(program, location, count, value);
}
+
void
glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value)
{
ovr_glProgramUniform2iv(program, location, count, value);
}
+
void
glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value)
{
ovr_glProgramUniform3iv(program, location, count, value);
}
+
void
glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value)
{
ovr_glProgramUniform4iv(program, location, count, value);
}
+
+
void
glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
ovr_glProgramUniform1fv(program, location, count, value);
}
+
void
glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
ovr_glProgramUniform2fv(program, location, count, value);
}
+
void
glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
ovr_glProgramUniform3fv(program, location, count, value);
}
+
void
glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value)
{
ovr_glProgramUniformMatrix2fv(program, location, count, transpose, value);
}
+
void
glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
ovr_glProgramUniformMatrix3fv(program, location, count, transpose, value);
}
+
void
glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
ovr_glProgramUniform1i(program, location, x);
}
+
void
glProgramUniform2i(GLuint program, GLint location, GLint x, GLint y)
{
ovr_glProgramUniform2i(program, location, x, y);
}
+
void
glProgramUniform3i(GLuint program, GLint location, GLint x, GLint y, GLint z)
{
ovr_glProgramUniform3i(program, location, x, y, z);
}
+
void
glProgramUniform4i(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w)
{
ovr_glProgramUniform4i(program, location, x, y, z, w);
}
+
void
glProgramUniform1f(GLuint program, GLint location, GLfloat x)
{
ovr_glProgramUniform1f(program, location, x);
}
+
void
glProgramUniform2f(GLuint program, GLint location, GLfloat x, GLfloat y)
{
ovr_glProgramUniform2f(program, location, x, y);
}
+
void
glProgramUniform3f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z)
{
ovr_glProgramUniform3f(program, location, x, y, z);
}
+
void
glProgramUniform4f(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
{
ovr_glProgramUniform1ui(program, location, x);
}
+
void
glProgramUniform2ui(GLuint program, GLint location, GLuint x, GLuint y)
{
ovr_glProgramUniform2ui(program, location, x, y);
}
+
void
glProgramUniform3ui(GLuint program, GLint location, GLuint x, GLuint y, GLuint z)
{
ovr_glProgramUniform3ui(program, location, x, y, z);
}
+
void
glProgramUniform4ui(GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w)
{
ovr_glProgramUniform1uiv(program, location, count, value);
}
+
void
glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value)
{
ovr_glProgramUniformMatrix2x3fv(program, location, count, transpose, value);
}
+
void
glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
ovr_glProgramUniformMatrix3x2fv(program, location, count, transpose, value);
}
+
void
glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
ovr_glProgramUniformMatrix3x4fv(program, location, count, transpose, value);
}
+
void
glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
ovr_glProgramUniformMatrix2x4fv(program, location, count, transpose, value);
}
+
void
glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
{
ovr_glProgramUniformMatrix4x2fv(program, location, count, transpose, value);
}
+
void
glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)
{
ovr_glBindImageTexture (unit, texture, level, layered, layer, access, format);
}
+
void
glGetBooleani_v (GLenum target, GLuint index, GLboolean *data)
{
ovr_glGetBooleani_v (target, index, data);
}
+
void
glMemoryBarrier (GLbitfield barriers)
{
ovr_glMemoryBarrier (barriers);
}
+
void
glMemoryBarrierByRegion (GLbitfield barriers)
{
ovr_glMemoryBarrierByRegion (barriers);
}
+
void
glTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
{
ovr_glTexStorage2DMultisample (target, samples, internalformat, width, height, fixedsamplelocations);
}
+
void
glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val)
{
ovr_glGetMultisamplefv (pname, index, val);
}
+
void
glSampleMaski (GLuint maskNumber, GLbitfield mask)
{
ovr_glSampleMaski (maskNumber, mask);
}
+
void
glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params)
{
ovr_glGetTexLevelParameteriv (target, level, pname, params);
}
+
void
glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params)
{
ovr_glGetTexLevelParameterfv (target, level, pname, params);
}
+
void
glBindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)
{
ovr_glBindVertexBuffer (bindingindex, buffer, offset, stride);
}
+
void
glVertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)
{
ovr_glVertexAttribFormat (attribindex, size, type, normalized, relativeoffset);
}
+
void
glVertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)
{
ovr_glVertexAttribIFormat (attribindex, size, type, relativeoffset);
}
+
void
glVertexAttribBinding (GLuint attribindex, GLuint bindingindex)
{
ovr_glVertexAttribBinding (attribindex, bindingindex);
}
+
void
glVertexBindingDivisor (GLuint bindingindex, GLuint divisor)
{
ovr_glVertexBindingDivisor (bindingindex, divisor);
}
+
+void
+glGetPointerv(GLenum pname, GLvoid **params)
+{
+ ovr_glGetPointerv(pname, params);
+}
+
+