coregl_fastpath: Add support for some extensions 03/83103/4
authorZhaowei Yuan <zhaowei.yuan@samsung.com>
Mon, 8 Aug 2016 19:21:09 +0000 (03:21 +0800)
committerzhaowei yuan <zhaowei.yuan@samsung.com>
Tue, 9 Aug 2016 07:35:29 +0000 (00:35 -0700)
This patch adds fast path support for extensions
and add missed override process of some interfaces

Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
Change-Id: Ie6a700c80048ea37310c2214063f71f6370ab85a

src/headers/sym_gl2.h
src/headers/sym_gl_common.h
src/modules/fastpath/coregl_fastpath.c
src/modules/fastpath/coregl_fastpath_gl.c
src/modules/tracepath/coregl_tracepath_gl.c

index 669f6b7..d4d1621 100644 (file)
@@ -181,6 +181,30 @@ _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, glFramebufferTextureOES, (GLenum target, GLenum attachment, GLuint texture, GLint level))
+_COREGL_EXT_SYMBOL(void, glTexBufferRangeOES, (GLenum target, GLenum internalformat, GLuint buffer,GLintptr offset, GLsizeiptr size))
+_COREGL_EXT_SYMBOL(void, glSamplerParameterIuivOES, (GLuint sampler, GLenum pname, GLuint const *params))
+_COREGL_EXT_SYMBOL(void, glSamplerParameterIivOES, (GLuint sampler, GLenum pname, GLint const *params))
+_COREGL_EXT_SYMBOL(void, glGetSamplerParameterIuivOES,(GLuint sampler, GLenum pname, GLuint *params))
+_COREGL_EXT_SYMBOL(void, glGetSamplerParameterIivOES,(GLuint sampler, GLenum pname, GLint *params))
+_COREGL_EXT_SYMBOL(void, glGetTexParameterIuivOES,(GLenum target, GLenum pname, GLuint *params))
+_COREGL_EXT_SYMBOL(void, glGetTexParameterIivOES,(GLenum target, GLenum pname, GLint *params))
+_COREGL_EXT_SYMBOL(void, glPatchParameteriOES,(GLenum pname, GLint value))
+_COREGL_EXT_SYMBOL(void, glTexParameterIivOES,(GLenum target, GLenum pname, GLint const *params))
+_COREGL_EXT_SYMBOL(void, glTexParameterIuivOES,(GLenum target, GLenum pname, GLuint const *params))
+_COREGL_EXT_SYMBOL(void, glGetSamplerParameterIivEXT,(GLuint sampler, GLenum pname, GLint *params))
+_COREGL_EXT_SYMBOL(void, glGetSamplerParameterIuivEXT,(GLuint sampler, GLenum pname, GLuint *params))
+_COREGL_EXT_SYMBOL(void, glSamplerParameterIivEXT, (GLuint sampler, GLenum pname, GLint const *params))
+_COREGL_EXT_SYMBOL(void, glFramebufferTextureEXT, (GLenum target, GLenum attachment, GLuint texture, GLint level))
+_COREGL_EXT_SYMBOL(void, glTexBufferRangeEXT, (GLenum target, GLenum internalformat, GLuint buffer,GLintptr offset, GLsizeiptr size))
+_COREGL_EXT_SYMBOL(void, glSamplerParameterIuivEXT, (GLuint sampler, GLenum pname, GLuint const *params))
+_COREGL_EXT_SYMBOL(void, glGetTexParameterIuivEXT,(GLenum target, GLenum pname, GLuint *params))
+_COREGL_EXT_SYMBOL(void, glGetTexParameterIivEXT,(GLenum target, GLenum pname, GLint *params))
+_COREGL_EXT_SYMBOL(void, glPatchParameteriEXT,(GLenum pname, GLint value))
+_COREGL_EXT_SYMBOL(void, glTexParameterIivEXT,(GLenum target, GLenum pname, GLint const *params))
+_COREGL_EXT_SYMBOL(void, glTexParameterIuivEXT,(GLenum target, GLenum pname, GLuint const *params))
+
+
 _COREGL_EXT_SYMBOL(void, glGenFramebuffersOES, (GLsizei n,
                   GLuint *framebuffers))
 _COREGL_EXT_SYMBOL(void, glGenRenderbuffersOES, (GLsizei n,
@@ -303,6 +327,8 @@ _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))
+_COREGL_EXT_SYMBOL(void, glTexBufferOES, (GLenum target, GLenum internalformat, GLuint buffer))
+_COREGL_EXT_SYMBOL(void, glTexBufferEXT, (GLenum target, GLenum internalformat, GLuint buffer))
 _COREGL_END_API(COREGL_GLAPI_2)
 
 /* OpenGL ES 3.0 */
@@ -810,7 +836,6 @@ _COREGL_EXT_SYMBOL(void, glCompressedTexSubImage3DOES, (GLenum target,
                   GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize,
                   const GLvoid *data))
 
-
 /*
 _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))
@@ -937,7 +962,6 @@ _COREGL_EXT_SYMBOL_FASTPATH_PASS(glGetSamplerParameterIivOES)
 _COREGL_EXT_SYMBOL_FASTPATH_PASS(glGetSamplerParameterIuivOES)
 
 _COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_texture_buffer", 2.0, -1)
-_COREGL_EXT_SYMBOL_FASTPATH_PASS(glTexBufferOES)
 _COREGL_EXT_SYMBOL_FASTPATH_PASS(glTexBufferRangeOES)
 
 _COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_NV_internalformat_sample_query", 2.0, -1)
index 7d86d56..9a3ba29 100644 (file)
@@ -137,8 +137,7 @@ _COREGL_EXT_SYMBOL(void, glMultiDrawArraysEXT, (GLenum mode, const GLint *first,
 _COREGL_EXT_SYMBOL(void, glMultiDrawElementsEXT, (GLenum mode, const GLsizei *count, GLenum type,
                        const void *const*indices, GLsizei primcount))
 
-_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_EXT_multisampled_render_to_texture",
-                                    2.0, -1)
+_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,
@@ -185,6 +184,20 @@ _COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glExtIsProgramBinaryQCOM)
 _COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glExtGetProgramBinarySourceQCOM)
 _COREGL_END_API(COREGL_GLAPI_1_2_COMMON)
 
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_texture_storage_multisample_2d_array", 1.0, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_sample_variables", 1.0, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_shader_multisample_interpolation", 1.0, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_KHR_blend_equation_advanced", 1.0, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_KHR_blend_equation_advanced_coherent", 1.0, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_shader_image_atomic", 1.0, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_gpu_shader5", 1.0, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_EXT_gpu_shader5", 1.0, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_texture_cube_map_array", 1.0, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_EXT_texture_cube_map_array", 1.0, -1)
+_COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_EXT_draw_elements_base_vertex", 1.0, -1)
+_COREGL_EXT_SYMBOL_FASTPATH_PASS(glDrawElementsBaseVertexEXT)
+_COREGL_EXT_SYMBOL_FASTPATH_PASS(glDrawElementsInstancedBaseVertexEXT)
+_COREGL_EXT_SYMBOL_FASTPATH_PASS(glDrawRangeElementsBaseVertexEXT)
 
 #ifdef _COREGL_EXT_SYMBOL_NOT_DEFINED
 #undef _COREGL_EXT_SYMBOL_NOT_DEFINED
index 8294945..5206bf4 100644 (file)
@@ -526,6 +526,21 @@ fastpath_apply_overrides_gl(int enable)
                COREGL_OVERRIDE(fastpath_, glIsVertexArrayOES);
                COREGL_OVERRIDE(fastpath_, glClearDepthfOES);
                COREGL_OVERRIDE(fastpath_, glClearDepthxOES);
+               COREGL_OVERRIDE(fastpath_, glGetVertexAttribiv);
+               COREGL_OVERRIDE(fastpath_, glTexBufferOES);
+               COREGL_OVERRIDE(fastpath_, glFramebufferTextureEXT);
+               COREGL_OVERRIDE(fastpath_, glFramebufferTextureOES);
+               COREGL_OVERRIDE(fastpath_, glTexBufferRangeOES);
+               COREGL_OVERRIDE(fastpath_, glSamplerParameterIuivOES);
+               COREGL_OVERRIDE(fastpath_, glSamplerParameterIivOES);
+               COREGL_OVERRIDE(fastpath_, glGetSamplerParameterIuivOES);
+               COREGL_OVERRIDE(fastpath_, glGetSamplerParameterIivOES);
+               COREGL_OVERRIDE(fastpath_, glGetSamplerParameterIivEXT);
+               COREGL_OVERRIDE(fastpath_, glGetSamplerParameterIuivEXT);
+               COREGL_OVERRIDE(fastpath_, glSamplerParameterIivEXT);
+               COREGL_OVERRIDE(fastpath_, glSamplerParameterIuivEXT);
+               COREGL_OVERRIDE(fastpath_, glTexBufferRangeEXT);
+               COREGL_OVERRIDE(fastpath_, glTexBufferEXT);
                /* Start overriding GLES 3.0 */
                if (driver_gl_version >= COREGL_GLAPI_3) {
                        COREGL_OVERRIDE(fastpath_, glReadBuffer);
@@ -547,6 +562,11 @@ fastpath_apply_overrides_gl(int enable)
                        COREGL_OVERRIDE(fastpath_, glGetIntegeri_v);
 
                        COREGL_OVERRIDE(fastpath_, glBindTransformFeedback);
+                       COREGL_OVERRIDE(fastpath_, glBeginTransformFeedback);
+                       COREGL_OVERRIDE(fastpath_, glEndTransformFeedback);
+                       COREGL_OVERRIDE(fastpath_, glPauseTransformFeedback);
+                       COREGL_OVERRIDE(fastpath_, glResumeTransformFeedback);
+                       COREGL_OVERRIDE(fastpath_, glIsTransformFeedback);
                        COREGL_OVERRIDE(fastpath_, glDeleteTransformFeedbacks);
                        COREGL_OVERRIDE(fastpath_, glGenTransformFeedbacks);
                        COREGL_OVERRIDE(fastpath_, glIsTransformFeedback);
index 9b85cda..b5a2aed 100644 (file)
@@ -5145,6 +5145,20 @@ finish:
        _COREGL_FASTPATH_FUNC_END();
 }
 
+void
+fastpath_glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params)
+{
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       IF_GL_SUCCESS(_orig_fastpath_glGetVertexAttribiv(index, pname, params)) {
+               _modify_get_value(pname, params, GL_INT, GL_FALSE);
+       }
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
 
 void
 fastpath_glGetUniformuiv(GLuint program, GLint location, GLuint *params)
@@ -8287,6 +8301,26 @@ finish:
 }
 
 void
+fastpath_glTexBufferOES(GLenum target, GLenum internalformat, GLuint buffer)
+{
+       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) {
+               _set_gl_error(GL_INVALID_OPERATION);
+               goto finish;
+       }
+
+       _orig_fastpath_glTexBufferOES(target, internalformat, real_obj);
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
 fastpath_glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
 {
        GLuint real_obj;
@@ -8468,3 +8502,276 @@ fastpath_glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture,
 finish:
        _COREGL_FASTPATH_FUNC_END();
 }
+
+void
+fastpath_glFramebufferTextureOES(GLenum target, GLenum attachment, 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_INVALID_VALUE);
+               goto finish;
+       }
+
+       _orig_fastpath_glFramebufferTextureOES(target, attachment, real_obj, level);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+void
+fastpath_glTexBufferRangeOES(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
+{
+       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) {
+               _set_gl_error(GL_INVALID_OPERATION);
+               goto finish;
+       }
+
+       _orig_fastpath_glTexBufferRangeOES(target, internalformat, real_obj, offset, size);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+void
+fastpath_glGetSamplerParameterIivOES(GLuint sampler, 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_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_OPERATION);
+               goto finish;
+       }
+
+       _orig_fastpath_glGetSamplerParameterIivOES(real_obj, pname, params);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+void
+fastpath_glSamplerParameterIivOES(GLuint sampler, GLenum pname, const GLint *param)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_OPERATION);
+               goto finish;
+       }
+
+       _orig_fastpath_glSamplerParameterIivOES(real_obj, pname, param);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetSamplerParameterIuivOES(GLuint sampler, 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_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_OPERATION);
+               goto finish;
+       }
+
+       _orig_fastpath_glGetSamplerParameterIuivOES(real_obj, pname, params);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+void
+fastpath_glSamplerParameterIuivOES(GLuint sampler, GLenum pname, const GLuint *param)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_OPERATION);
+               goto finish;
+       }
+
+       _orig_fastpath_glSamplerParameterIuivOES(real_obj, pname, param);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+void
+fastpath_glGetSamplerParameterIivEXT(GLuint sampler, 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_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_ENUM);
+               goto finish;
+       }
+
+       _orig_fastpath_glGetSamplerParameterIivEXT(real_obj, pname, params);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+void
+fastpath_glGetSamplerParameterIuivEXT(GLuint sampler, 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_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_ENUM);
+               goto finish;
+       }
+
+       _orig_fastpath_glGetSamplerParameterIuivEXT(real_obj, pname, params);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+void
+fastpath_glSamplerParameterIivEXT(GLuint sampler, GLenum pname, const GLint *param)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_ENUM);
+               goto finish;
+       }
+
+       _orig_fastpath_glSamplerParameterIivEXT(real_obj, pname, param);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+void
+fastpath_glFramebufferTextureEXT(GLenum target, GLenum attachment, 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_INVALID_VALUE);
+               goto finish;
+       }
+
+       _orig_fastpath_glFramebufferTextureEXT(target, attachment, real_obj, level);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+void
+fastpath_glTexBufferRangeEXT(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
+{
+       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) {
+               _set_gl_error(GL_INVALID_ENUM);
+               goto finish;
+       }
+
+       _orig_fastpath_glTexBufferRangeEXT(target, internalformat, real_obj, offset, size);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+void
+fastpath_glSamplerParameterIuivEXT(GLuint sampler, GLenum pname, const GLuint *param)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_ENUM);
+               goto finish;
+       }
+
+       _orig_fastpath_glSamplerParameterIuivEXT(real_obj, pname, param);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+void
+fastpath_glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer)
+{
+       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) {
+               _set_gl_error(GL_INVALID_ENUM);
+               goto finish;
+       }
+
+       _orig_fastpath_glTexBufferEXT(target, internalformat, real_obj);
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
index ca32ad8..639f24b 100644 (file)
@@ -2340,6 +2340,18 @@ finish:
 }
 
 void
+tracepath_glTexBufferOES(GLenum target, GLenum internalformat, GLuint buffer)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexBufferOES(target, internalformat, buffer);
+
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
 tracepath_glGetVertexAttribPointerv(GLuint index, GLenum pname, void **pointer)
 {
        _COREGL_TRACEPATH_FUNC_BEGIN();
@@ -8784,3 +8796,276 @@ tracepath_glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum inter
 finish:
        _COREGL_TRACEPATH_FUNC_END();
 }
+
+void
+tracepath_glFramebufferTextureOES(GLenum target, GLenum attachment, GLuint texture, GLint level)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+       tracepath_fbdump_update(0);
+#endif
+
+       _orig_tracepath_glFramebufferTextureOES(target, attachment,texture, level);
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+       tracepath_fbdump_update(1);
+#endif
+
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexBufferRangeOES(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexBufferRangeOES(target, internalformat, buffer, offset, size);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glSamplerParameterIuivOES(GLuint sampler, GLenum pname, const GLuint *param)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glSamplerParameterIuivOES(sampler, pname, param);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glSamplerParameterIivOES(GLuint sampler, GLenum pname, const GLint *param)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glSamplerParameterIivOES(sampler, pname, param);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetSamplerParameterIuivOES(GLuint sampler, GLenum pname, GLuint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetSamplerParameterIuivOES(sampler, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetSamplerParameterIivOES(GLuint sampler, GLenum pname, GLint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetSamplerParameterIivOES(sampler, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetTexParameterIuivOES(GLenum target, GLenum pname, GLuint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetTexParameterIuivOES(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexParameterIivOES(GLenum target, GLenum pname, const GLint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexParameterIivOES(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPatchParameteriOES(GLenum pname, GLint value)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glPatchParameteriOES(pname, value);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexParameterIuivOES(GLenum target, GLenum pname, const GLuint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexParameterIuivOES(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetTexParameterIivOES(GLenum target, GLenum pname, GLint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetTexParameterIivOES(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetSamplerParameterIivEXT(GLuint sampler, GLenum pname, GLint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetSamplerParameterIivEXT(sampler, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetSamplerParameterIuivEXT(GLuint sampler, GLenum pname, GLuint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetSamplerParameterIuivEXT(sampler, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glSamplerParameterIivEXT(GLuint sampler, GLenum pname, const GLint *param)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glSamplerParameterIivEXT(sampler, pname, param);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glFramebufferTextureEXT(GLenum target, GLenum attachment, GLuint texture, GLint level)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+       tracepath_fbdump_update(0);
+#endif
+
+       _orig_tracepath_glFramebufferTextureEXT(target, attachment,texture, level);
+
+#ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
+       tracepath_fbdump_update(1);
+#endif
+
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexBufferRangeEXT(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexBufferRangeEXT(target, internalformat, buffer, offset, size);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glSamplerParameterIuivEXT(GLuint sampler, GLenum pname, const GLuint *param)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glSamplerParameterIuivEXT(sampler, pname, param);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetTexParameterIuivEXT(GLenum target, GLenum pname, GLuint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetTexParameterIuivEXT(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetTexParameterIivEXT(GLenum target, GLenum pname, GLint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetTexParameterIivEXT(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPatchParameteriEXT(GLenum pname, GLint value)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glPatchParameteriEXT(pname, value);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexParameterIivEXT(GLenum target, GLenum pname, const GLint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexParameterIivEXT(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexParameterIuivEXT(GLenum target, GLenum pname, const GLuint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexParameterIuivEXT(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+void
+tracepath_glTexBufferEXT(GLenum target, GLenum internalformat, GLuint buffer)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexBufferOES(target, internalformat, buffer);
+
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}