1 #include "coregl_tracepath.h"
13 struct _Glbuf_Data *next;
17 __addhash_glbuf_object(Glbuf_Data **glbuf, Glbuf_Data *target)
19 Glbuf_Data *data = glbuf[target->obj_idx % MTD_GLBUF_HASH_ARRAY];
22 glbuf[target->obj_idx % MTD_GLBUF_HASH_ARRAY] = target;
26 while (data->next != NULL)
28 AST(data->obj_idx != target->obj_idx);
31 AST(data->obj_idx != target->obj_idx);
41 __removehash_glbuf_object(Glbuf_Data **glbuf, Glbuf_Data **target)
43 Glbuf_Data *data = glbuf[(*target)->obj_idx % MTD_GLBUF_HASH_ARRAY];
44 Glbuf_Data *prev = NULL;
47 if (data->obj_idx == (*target)->obj_idx)
50 prev->next = data->next;
52 glbuf[(*target)->obj_idx % MTD_GLBUF_HASH_ARRAY] = data->next;
68 __findhash_glbuf_object(Glbuf_Data **glbuf, int obj_idx)
70 Glbuf_Data *data = glbuf[obj_idx % MTD_GLBUF_HASH_ARRAY];
73 if (data->obj_idx == obj_idx)
84 tracepath_glbuf_clear(Glbuf_Data **glbuf)
88 for (i = 0; i < MTD_GLBUF_HASH_ARRAY; i++)
90 Glbuf_Data *data = glbuf[i];
94 Glbuf_Data *delitm = data;
103 _add_glbuf_object(Glbuf_Data **glbuf, int obj_idx, const char *obj_type, int width, int height, int bpp, const char *format)
105 Glbuf_Data *data = __findhash_glbuf_object(glbuf, obj_idx);
108 data = (Glbuf_Data *)calloc(1, sizeof(Glbuf_Data));
109 /* Prevent CID : 387660 */
110 if (data == NULL) goto finish;
111 data->obj_idx = obj_idx;
112 __addhash_glbuf_object(glbuf, data);
118 char ment[MAX_TRACE_NAME_LENGTH];
119 snprintf(ment,sizeof(ment), "%s(%4dx%4d %s)", obj_type, data->width, data->height, data->format);
120 _COREGL_TRACE_MEM_REMOVE(ment, data->width * data->height * data->bpp);
125 data->height = height;
127 snprintf(data->format,sizeof(data->format), "%s", format);
130 char ment[MAX_TRACE_NAME_LENGTH];
131 snprintf(ment,sizeof(ment), "%s(%4dx%4d %s)", obj_type, data->width, data->height, data->format);
132 _COREGL_TRACE_MEM_ADD(ment, data->width * data->height * data->bpp);
141 _remove_glbuf_object(Glbuf_Data **glbuf, int obj_idx, const char *obj_type)
143 Glbuf_Data *data = __findhash_glbuf_object(glbuf, obj_idx);
146 COREGL_WRN("\E[40;31;1mError deleting %s object %d. (is not created)\E[0m\n", obj_type, obj_idx);
151 char ment[MAX_TRACE_NAME_LENGTH];
152 snprintf(ment,sizeof(ment), "%s(%4dx%4d %s)", obj_type, data->width, data->height, data->format);
153 _COREGL_TRACE_MEM_REMOVE(ment, data->width * data->height * data->bpp);
156 __removehash_glbuf_object(glbuf, &data);
164 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
166 _surface_trace_set(int set, GLint fbname, GLenum attachment, MY_MODULE_TSTATE *tstate)
168 int atttype = _COREGL_INT_INIT_VALUE;
169 _orig_tracepath_glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, attachment, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &atttype);
170 AST(atttype != _COREGL_INT_INIT_VALUE);
171 int attname = _COREGL_INT_INIT_VALUE;
172 _orig_tracepath_glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, attachment, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME, &attname);
173 AST(attname != _COREGL_INT_INIT_VALUE);
179 //COREGL_LOG("FBO DUMPING BEGIN = (TEX)0x%X\n", attname);
182 snprintf(name,sizeof(name), "FBOTEX_0x%X", attname);
183 tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle, tstate->surf_draw, fbname, attname, 0, -1, -1, -1, NULL);
186 case GL_RENDERBUFFER:
187 //COREGL_LOG("FBO DUMPING BEGIN = (RB)0x%X\n", attname);
190 snprintf(name,sizeof(name), "FBORB_0x%X", attname);
191 tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle, tstate->surf_draw, fbname, 0, attname, -1, -1, -1, NULL);
201 //COREGL_LOG("FBO DUMPING END = (TEX)0x%X\n", attname);
204 snprintf(name,sizeof(name), "FBOTEX_0x%X", attname);
205 tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle, tstate->surf_draw, 0, attname, 0, -1, -1, -1, NULL);
208 case GL_RENDERBUFFER:
209 //COREGL_LOG("FBO DUMPING END = (RB)0x%X\n", attname);
212 snprintf(name,sizeof(name), "FBORB_0x%X", attname);
213 tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle, tstate->surf_draw, 0, 0, attname, -1, -1, -1, NULL);
221 tracepath_fbdump_update(GLint set)
223 if (trace_surface_flag == 1)
225 GLint fbname = _COREGL_INT_INIT_VALUE;
226 _orig_tracepath_glGetIntegerv(GL_FRAMEBUFFER_BINDING, &fbname);
227 AST(fbname != _COREGL_INT_INIT_VALUE);
230 MY_MODULE_TSTATE *tstate = NULL;
232 GET_MY_TSTATE(tstate, get_current_thread_state());
234 /* Prevent CID : 399855 */
235 if (tstate != NULL && tstate->ctx != NULL)
237 _surface_trace_set(set, fbname, GL_COLOR_ATTACHMENT0, tstate);
238 // _surface_trace_set(set, fbname, GL_DEPTH_ATTACHMENT, tstate);
239 // _surface_trace_set(set, fbname, GL_STENCIL_ATTACHMENT, tstate);
244 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
254 tracepath_glActiveTexture(GLenum texture)
256 _COREGL_TRACEPATH_FUNC_BEGIN();
257 _orig_tracepath_glActiveTexture(texture);
262 _COREGL_TRACEPATH_FUNC_END();
266 tracepath_glAttachShader(GLuint program, GLuint shader)
268 _COREGL_TRACEPATH_FUNC_BEGIN();
269 _orig_tracepath_glAttachShader(program, shader);
274 _COREGL_TRACEPATH_FUNC_END();
278 tracepath_glBindAttribLocation(GLuint program, GLuint index, const char* name)
280 _COREGL_TRACEPATH_FUNC_BEGIN();
281 _orig_tracepath_glBindAttribLocation(program, index, name);
286 _COREGL_TRACEPATH_FUNC_END();
290 tracepath_glBindBuffer(GLenum target, GLuint buffer)
292 _COREGL_TRACEPATH_FUNC_BEGIN();
293 _orig_tracepath_glBindBuffer(target, buffer);
298 _COREGL_TRACEPATH_FUNC_END();
302 tracepath_glBindFramebuffer(GLenum target, GLuint framebuffer)
304 _COREGL_TRACEPATH_FUNC_BEGIN();
306 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
307 if (unlikely(trace_surface_flag == 1))
310 _orig_tracepath_glGetIntegerv(GL_FRAMEBUFFER_BINDING, &oldfb);
313 _COREGL_TRACE_SURFACE(0, 2, "GLBINDFBO");
316 tracepath_fbdump_update(0);
318 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
320 _orig_tracepath_glBindFramebuffer(target, framebuffer);
322 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
323 if (unlikely(trace_surface_flag == 1))
325 tracepath_fbdump_update(1);
327 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
332 _COREGL_TRACEPATH_FUNC_END();
336 tracepath_glBindRenderbuffer(GLenum target, GLuint renderbuffer)
338 _COREGL_TRACEPATH_FUNC_BEGIN();
339 _orig_tracepath_glBindRenderbuffer(target, renderbuffer);
344 _COREGL_TRACEPATH_FUNC_END();
348 tracepath_glBindTexture(GLenum target, GLuint texture)
350 _COREGL_TRACEPATH_FUNC_BEGIN();
351 _orig_tracepath_glBindTexture(target, texture);
356 _COREGL_TRACEPATH_FUNC_END();
360 tracepath_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
362 _COREGL_TRACEPATH_FUNC_BEGIN();
363 _orig_tracepath_glBlendColor(red, green, blue, alpha);
368 _COREGL_TRACEPATH_FUNC_END();
372 tracepath_glBlendEquation(GLenum mode)
374 _COREGL_TRACEPATH_FUNC_BEGIN();
375 _orig_tracepath_glBlendEquation(mode);
380 _COREGL_TRACEPATH_FUNC_END();
384 tracepath_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
386 _COREGL_TRACEPATH_FUNC_BEGIN();
387 _orig_tracepath_glBlendEquationSeparate(modeRGB, modeAlpha);
392 _COREGL_TRACEPATH_FUNC_END();
396 tracepath_glBlendFunc(GLenum sfactor, GLenum dfactor)
398 _COREGL_TRACEPATH_FUNC_BEGIN();
399 _orig_tracepath_glBlendFunc(sfactor, dfactor);
404 _COREGL_TRACEPATH_FUNC_END();
408 tracepath_glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
410 _COREGL_TRACEPATH_FUNC_BEGIN();
411 _orig_tracepath_glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
416 _COREGL_TRACEPATH_FUNC_END();
420 tracepath_glBufferData(GLenum target, GLsizeiptr size, const void* data, GLenum usage)
422 _COREGL_TRACEPATH_FUNC_BEGIN();
423 _orig_tracepath_glBufferData(target, size, data, usage);
428 _COREGL_TRACEPATH_FUNC_END();
432 tracepath_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void* data)
434 _COREGL_TRACEPATH_FUNC_BEGIN();
435 _orig_tracepath_glBufferSubData(target, offset, size, data);
440 _COREGL_TRACEPATH_FUNC_END();
444 tracepath_glCheckFramebufferStatus(GLenum target)
446 GLenum ret = GL_NONE;
448 _COREGL_TRACEPATH_FUNC_BEGIN();
449 ret = _orig_tracepath_glCheckFramebufferStatus(target);
454 _COREGL_TRACEPATH_FUNC_END();
459 tracepath_glClear(GLbitfield mask)
461 _COREGL_TRACEPATH_FUNC_BEGIN();
462 _orig_tracepath_glClear(mask);
467 _COREGL_TRACEPATH_FUNC_END();
471 tracepath_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
473 _COREGL_TRACEPATH_FUNC_BEGIN();
474 _orig_tracepath_glClearColor(red, green, blue, alpha);
479 _COREGL_TRACEPATH_FUNC_END();
483 tracepath_glClearDepthf(GLclampf depth)
485 _COREGL_TRACEPATH_FUNC_BEGIN();
486 _orig_tracepath_glClearDepthf(depth);
491 _COREGL_TRACEPATH_FUNC_END();
495 tracepath_glClearStencil(GLint s)
497 _COREGL_TRACEPATH_FUNC_BEGIN();
498 _orig_tracepath_glClearStencil(s);
503 _COREGL_TRACEPATH_FUNC_END();
507 tracepath_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
509 _COREGL_TRACEPATH_FUNC_BEGIN();
510 _orig_tracepath_glColorMask(red, green, blue, alpha);
515 _COREGL_TRACEPATH_FUNC_END();
519 tracepath_glCompileShader(GLuint shader)
521 _COREGL_TRACEPATH_FUNC_BEGIN();
522 _orig_tracepath_glCompileShader(shader);
527 _COREGL_TRACEPATH_FUNC_END();
531 tracepath_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data)
533 _COREGL_TRACEPATH_FUNC_BEGIN();
534 _orig_tracepath_glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
539 _COREGL_TRACEPATH_FUNC_END();
543 tracepath_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data)
545 _COREGL_TRACEPATH_FUNC_BEGIN();
546 _orig_tracepath_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
551 _COREGL_TRACEPATH_FUNC_END();
555 tracepath_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
557 _COREGL_TRACEPATH_FUNC_BEGIN();
558 _orig_tracepath_glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);
563 _COREGL_TRACEPATH_FUNC_END();
567 tracepath_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
569 _COREGL_TRACEPATH_FUNC_BEGIN();
570 _orig_tracepath_glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
575 _COREGL_TRACEPATH_FUNC_END();
579 tracepath_glCreateProgram(void)
581 GLuint ret = _COREGL_INT_INIT_VALUE;
583 _COREGL_TRACEPATH_FUNC_BEGIN();
584 ret = _orig_tracepath_glCreateProgram();
589 _COREGL_TRACEPATH_FUNC_END();
594 tracepath_glCreateShader(GLenum type)
596 GLuint ret = _COREGL_INT_INIT_VALUE;
597 _COREGL_TRACEPATH_FUNC_BEGIN();
598 ret = _orig_tracepath_glCreateShader(type);
603 _COREGL_TRACEPATH_FUNC_END();
608 tracepath_glCullFace(GLenum mode)
610 _COREGL_TRACEPATH_FUNC_BEGIN();
611 _orig_tracepath_glCullFace(mode);
616 _COREGL_TRACEPATH_FUNC_END();
620 tracepath_glDeleteBuffers(GLsizei n, const GLuint* buffers)
622 _COREGL_TRACEPATH_FUNC_BEGIN();
623 _orig_tracepath_glDeleteBuffers(n, buffers);
628 _COREGL_TRACEPATH_FUNC_END();
632 tracepath_glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers)
634 _COREGL_TRACEPATH_FUNC_BEGIN();
636 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
637 tracepath_fbdump_update(0);
638 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
640 _orig_tracepath_glDeleteFramebuffers(n, framebuffers);
642 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
643 tracepath_fbdump_update(1);
644 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
649 _COREGL_TRACEPATH_FUNC_END();
653 tracepath_glDeleteProgram(GLuint program)
655 _COREGL_TRACEPATH_FUNC_BEGIN();
656 _orig_tracepath_glDeleteProgram(program);
661 _COREGL_TRACEPATH_FUNC_END();
665 tracepath_glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)
667 _COREGL_TRACEPATH_FUNC_BEGIN();
669 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
670 tracepath_fbdump_update(0);
671 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
673 _orig_tracepath_glDeleteRenderbuffers(n, renderbuffers);
675 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
676 tracepath_fbdump_update(1);
677 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
682 _COREGL_TRACEPATH_FUNC_END();
683 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
684 if (trace_mem_flag == 1)
686 MY_MODULE_TSTATE *tstate = NULL;
688 GET_MY_TSTATE(tstate, get_current_thread_state());
690 /* Prevent CID : 402281 */
691 if (tstate != NULL && tstate->ctx != NULL)
693 for (int i = 0; i < n; i++)
695 if (renderbuffers[i] == 0) continue;
696 _remove_glbuf_object(tstate->ctx->sostate->glbuf_rb, renderbuffers[i], "Renderbuffer");
700 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
704 tracepath_glDeleteShader(GLuint shader)
706 _COREGL_TRACEPATH_FUNC_BEGIN();
707 _orig_tracepath_glDeleteShader(shader);
712 _COREGL_TRACEPATH_FUNC_END();
716 tracepath_glDeleteTextures(GLsizei n, const GLuint* textures)
718 _COREGL_TRACEPATH_FUNC_BEGIN();
720 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
721 tracepath_fbdump_update(0);
722 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
724 _orig_tracepath_glDeleteTextures(n, textures);
726 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
727 tracepath_fbdump_update(1);
728 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
733 _COREGL_TRACEPATH_FUNC_END();
734 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
735 if (trace_mem_flag == 1)
737 MY_MODULE_TSTATE *tstate = NULL;
739 GET_MY_TSTATE(tstate, get_current_thread_state());
741 if (tstate != NULL && tstate->ctx != NULL)
743 for (int i = 0; i < n; i++)
745 if (textures[i] == 0) continue;
746 _remove_glbuf_object(tstate->ctx->sostate->glbuf_tex, textures[i], "Texture");
750 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
754 tracepath_glDepthFunc(GLenum func)
756 _COREGL_TRACEPATH_FUNC_BEGIN();
757 _orig_tracepath_glDepthFunc(func);
762 _COREGL_TRACEPATH_FUNC_END();
766 tracepath_glDepthMask(GLboolean flag)
768 _COREGL_TRACEPATH_FUNC_BEGIN();
769 _orig_tracepath_glDepthMask(flag);
774 _COREGL_TRACEPATH_FUNC_END();
778 tracepath_glDepthRangef(GLclampf zNear, GLclampf zFar)
780 _COREGL_TRACEPATH_FUNC_BEGIN();
781 _orig_tracepath_glDepthRangef(zNear, zFar);
786 _COREGL_TRACEPATH_FUNC_END();
790 tracepath_glDetachShader(GLuint program, GLuint shader)
792 _COREGL_TRACEPATH_FUNC_BEGIN();
793 _orig_tracepath_glDetachShader(program, shader);
798 _COREGL_TRACEPATH_FUNC_END();
802 tracepath_glDisable(GLenum cap)
804 _COREGL_TRACEPATH_FUNC_BEGIN();
805 _orig_tracepath_glDisable(cap);
810 _COREGL_TRACEPATH_FUNC_END();
814 tracepath_glDisableVertexAttribArray(GLuint index)
816 _COREGL_TRACEPATH_FUNC_BEGIN();
817 _orig_tracepath_glDisableVertexAttribArray(index);
822 _COREGL_TRACEPATH_FUNC_END();
826 tracepath_glDrawArrays(GLenum mode, GLint first, GLsizei count)
828 _COREGL_TRACEPATH_FUNC_BEGIN();
829 _orig_tracepath_glDrawArrays(mode, first, count);
834 _COREGL_TRACEPATH_FUNC_END();
835 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
836 if (trace_surface_flag == 1)
838 GLint fbname = _COREGL_INT_INIT_VALUE;
839 _orig_tracepath_glGetIntegerv(GL_FRAMEBUFFER_BINDING, &fbname);
840 AST(fbname != _COREGL_INT_INIT_VALUE);
845 _orig_tracepath_eglQuerySurface(_orig_tracepath_eglGetCurrentDisplay(), _orig_tracepath_eglGetCurrentSurface(EGL_DRAW), EGL_RENDER_BUFFER, &btype);
846 if (btype == EGL_SINGLE_BUFFER)
847 snprintf(name,sizeof(name), "EGLPIXMAP_%p", _orig_tracepath_eglGetCurrentSurface(EGL_DRAW));
849 snprintf(name,sizeof(name), "EGLWINDOW_%p", _orig_tracepath_eglGetCurrentSurface(EGL_DRAW));
850 tracepath_surface_trace_add(name, _orig_tracepath_eglGetCurrentDisplay(), _orig_tracepath_eglGetCurrentContext(), _orig_tracepath_eglGetCurrentSurface(EGL_DRAW), 0, 0, 0, 0, 0, 0, NULL);
853 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
857 tracepath_glDrawElements(GLenum mode, GLsizei count, GLenum type, const void* indices)
859 _COREGL_TRACEPATH_FUNC_BEGIN();
860 _orig_tracepath_glDrawElements(mode, count, type, indices);
865 _COREGL_TRACEPATH_FUNC_END();
866 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
867 if (trace_surface_flag == 1)
869 GLint fbname = _COREGL_INT_INIT_VALUE;
870 _orig_tracepath_glGetIntegerv(GL_FRAMEBUFFER_BINDING, &fbname);
871 AST(fbname != _COREGL_INT_INIT_VALUE);
876 _orig_tracepath_eglQuerySurface(_orig_tracepath_eglGetCurrentDisplay(), _orig_tracepath_eglGetCurrentSurface(EGL_DRAW), EGL_RENDER_BUFFER, &btype);
877 if (btype == EGL_SINGLE_BUFFER)
878 snprintf(name, "EGLPIXMAP_%p", _orig_tracepath_eglGetCurrentSurface(EGL_DRAW));
880 snprintf(name, "EGLWINDOW_%p", _orig_tracepath_eglGetCurrentSurface(EGL_DRAW));
881 tracepath_surface_trace_add(name, _orig_tracepath_eglGetCurrentDisplay(), _orig_tracepath_eglGetCurrentContext(), _orig_tracepath_eglGetCurrentSurface(EGL_DRAW), 0, 0, 0, 0, 0, 0, NULL);
884 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
888 tracepath_glEnable(GLenum cap)
890 _COREGL_TRACEPATH_FUNC_BEGIN();
891 _orig_tracepath_glEnable(cap);
896 _COREGL_TRACEPATH_FUNC_END();
900 tracepath_glEnableVertexAttribArray(GLuint index)
902 _COREGL_TRACEPATH_FUNC_BEGIN();
903 _orig_tracepath_glEnableVertexAttribArray(index);
908 _COREGL_TRACEPATH_FUNC_END();
912 tracepath_glFinish(void)
914 _COREGL_TRACEPATH_FUNC_BEGIN();
915 _orig_tracepath_glFinish();
917 _COREGL_TRACE_SURFACE(0, 0, "GLFINISH");
922 _COREGL_TRACEPATH_FUNC_END();
923 _COREGL_TRACE_API_OUTPUT(0);
924 _COREGL_TRACE_MEM_OUTPUT(0);
928 tracepath_glFlush(void)
930 _COREGL_TRACEPATH_FUNC_BEGIN();
931 _orig_tracepath_glFlush();
933 _COREGL_TRACE_SURFACE(0, 0, "GLFLUSH");
938 _COREGL_TRACEPATH_FUNC_END();
939 _COREGL_TRACE_API_OUTPUT(0);
940 _COREGL_TRACE_MEM_OUTPUT(0);
944 tracepath_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
946 _COREGL_TRACEPATH_FUNC_BEGIN();
948 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
949 tracepath_fbdump_update(0);
950 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
952 _orig_tracepath_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
954 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
955 tracepath_fbdump_update(1);
956 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
961 _COREGL_TRACEPATH_FUNC_END();
965 tracepath_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
967 _COREGL_TRACEPATH_FUNC_BEGIN();
969 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
970 tracepath_fbdump_update(0);
971 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
973 _orig_tracepath_glFramebufferTexture2D(target, attachment, textarget, texture, level);
975 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
976 tracepath_fbdump_update(1);
977 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
982 _COREGL_TRACEPATH_FUNC_END();
986 tracepath_glFrontFace(GLenum mode)
988 _COREGL_TRACEPATH_FUNC_BEGIN();
989 _orig_tracepath_glFrontFace(mode);
994 _COREGL_TRACEPATH_FUNC_END();
998 tracepath_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)
1000 _COREGL_TRACEPATH_FUNC_BEGIN();
1001 _orig_tracepath_glGetVertexAttribfv(index, pname, params);
1007 _COREGL_TRACEPATH_FUNC_END();
1011 tracepath_glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)
1013 _COREGL_TRACEPATH_FUNC_BEGIN();
1014 _orig_tracepath_glGetVertexAttribiv(index, pname, params);
1020 _COREGL_TRACEPATH_FUNC_END();
1024 tracepath_glGetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer)
1026 _COREGL_TRACEPATH_FUNC_BEGIN();
1027 _orig_tracepath_glGetVertexAttribPointerv(index, pname, pointer);
1034 _COREGL_TRACEPATH_FUNC_END();
1038 tracepath_glHint(GLenum target, GLenum mode)
1040 _COREGL_TRACEPATH_FUNC_BEGIN();
1041 _orig_tracepath_glHint(target, mode);
1046 _COREGL_TRACEPATH_FUNC_END();
1050 tracepath_glGenBuffers(GLsizei n, GLuint* buffers)
1052 _COREGL_TRACEPATH_FUNC_BEGIN();
1053 _orig_tracepath_glGenBuffers(n, buffers);
1058 _COREGL_TRACEPATH_FUNC_END();
1062 tracepath_glGenerateMipmap(GLenum target)
1064 _COREGL_TRACEPATH_FUNC_BEGIN();
1065 _orig_tracepath_glGenerateMipmap(target);
1070 _COREGL_TRACEPATH_FUNC_END();
1074 tracepath_glGenFramebuffers(GLsizei n, GLuint* framebuffers)
1076 _COREGL_TRACEPATH_FUNC_BEGIN();
1077 _orig_tracepath_glGenFramebuffers(n, framebuffers);
1082 _COREGL_TRACEPATH_FUNC_END();
1086 tracepath_glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)
1088 _COREGL_TRACEPATH_FUNC_BEGIN();
1089 _orig_tracepath_glGenRenderbuffers(n, renderbuffers);
1094 _COREGL_TRACEPATH_FUNC_END();
1095 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
1096 if (trace_mem_flag == 1)
1098 MY_MODULE_TSTATE *tstate = NULL;
1100 GET_MY_TSTATE(tstate, get_current_thread_state());
1101 AST(tstate != NULL);
1102 /* Prevent CID : 396759 */
1103 if (tstate != NULL && tstate->ctx != NULL)
1105 for (int i = 0; i < n; i++)
1107 if (renderbuffers[i] == 0) continue;
1108 _add_glbuf_object(tstate->ctx->sostate->glbuf_rb, renderbuffers[i], "Renderbuffer", 0, 0, 0, "Unknown");
1112 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
1116 tracepath_glGenTextures(GLsizei n, GLuint* textures)
1118 _COREGL_TRACEPATH_FUNC_BEGIN();
1119 _orig_tracepath_glGenTextures(n, textures);
1124 _COREGL_TRACEPATH_FUNC_END();
1125 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
1126 if (trace_mem_flag == 1)
1128 MY_MODULE_TSTATE *tstate = NULL;
1130 GET_MY_TSTATE(tstate, get_current_thread_state());
1131 AST(tstate != NULL);
1132 /* Prevent CID : 387732 */
1133 if (tstate != NULL && tstate->ctx != NULL)
1135 for (int i = 0; i < n; i++)
1137 if (textures[i] == 0) continue;
1138 _add_glbuf_object(tstate->ctx->sostate->glbuf_tex, textures[i], "Texture", 0, 0, 0, "Unknown");
1142 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
1146 tracepath_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
1148 _COREGL_TRACEPATH_FUNC_BEGIN();
1149 _orig_tracepath_glGetActiveAttrib(program, index, bufsize, length, size, type, name);
1154 _COREGL_TRACEPATH_FUNC_END();
1158 tracepath_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
1160 _COREGL_TRACEPATH_FUNC_BEGIN();
1161 _orig_tracepath_glGetActiveUniform(program, index, bufsize, length, size, type, name);
1166 _COREGL_TRACEPATH_FUNC_END();
1170 tracepath_glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)
1172 _COREGL_TRACEPATH_FUNC_BEGIN();
1173 _orig_tracepath_glGetAttachedShaders(program, maxcount, count, shaders);
1178 _COREGL_TRACEPATH_FUNC_END();
1182 tracepath_glGetAttribLocation(GLuint program, const char* name)
1184 int ret = _COREGL_INT_INIT_VALUE;
1185 _COREGL_TRACEPATH_FUNC_BEGIN();
1186 ret = _orig_tracepath_glGetAttribLocation(program, name);
1191 _COREGL_TRACEPATH_FUNC_END();
1196 tracepath_glGetBooleanv(GLenum pname, GLboolean* params)
1198 _COREGL_TRACEPATH_FUNC_BEGIN();
1199 _orig_tracepath_glGetBooleanv(pname, params);
1204 _COREGL_TRACEPATH_FUNC_END();
1208 tracepath_glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)
1210 _COREGL_TRACEPATH_FUNC_BEGIN();
1211 _orig_tracepath_glGetBufferParameteriv(target, pname, params);
1216 _COREGL_TRACEPATH_FUNC_END();
1220 tracepath_glGetError(void)
1222 GLenum ret = GL_NONE;
1224 _COREGL_TRACEPATH_FUNC_BEGIN();
1225 ret = _orig_tracepath_glGetError();
1229 _COREGL_TRACEPATH_FUNC_END();
1234 tracepath_glGetFloatv(GLenum pname, GLfloat* params)
1236 _COREGL_TRACEPATH_FUNC_BEGIN();
1237 _orig_tracepath_glGetFloatv(pname, params);
1242 _COREGL_TRACEPATH_FUNC_END();
1246 tracepath_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)
1248 _COREGL_TRACEPATH_FUNC_BEGIN();
1249 _orig_tracepath_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
1254 _COREGL_TRACEPATH_FUNC_END();
1258 tracepath_glGetIntegerv(GLenum pname, GLint* params)
1260 _COREGL_TRACEPATH_FUNC_BEGIN();
1261 _orig_tracepath_glGetIntegerv(pname, params);
1266 _COREGL_TRACEPATH_FUNC_END();
1270 tracepath_glGetProgramiv(GLuint program, GLenum pname, GLint* params)
1272 _COREGL_TRACEPATH_FUNC_BEGIN();
1273 _orig_tracepath_glGetProgramiv(program, pname, params);
1278 _COREGL_TRACEPATH_FUNC_END();
1282 tracepath_glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog)
1284 _COREGL_TRACEPATH_FUNC_BEGIN();
1285 _orig_tracepath_glGetProgramInfoLog(program, bufsize, length, infolog);
1290 _COREGL_TRACEPATH_FUNC_END();
1294 tracepath_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)
1296 _COREGL_TRACEPATH_FUNC_BEGIN();
1297 _orig_tracepath_glGetRenderbufferParameteriv(target, pname, params);
1302 _COREGL_TRACEPATH_FUNC_END();
1306 tracepath_glGetShaderiv(GLuint shader, GLenum pname, GLint* params)
1308 _COREGL_TRACEPATH_FUNC_BEGIN();
1309 _orig_tracepath_glGetShaderiv(shader, pname, params);
1314 _COREGL_TRACEPATH_FUNC_END();
1318 tracepath_glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog)
1320 _COREGL_TRACEPATH_FUNC_BEGIN();
1321 _orig_tracepath_glGetShaderInfoLog(shader, bufsize, length, infolog);
1326 _COREGL_TRACEPATH_FUNC_END();
1330 tracepath_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)
1332 _COREGL_TRACEPATH_FUNC_BEGIN();
1333 _orig_tracepath_glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
1338 _COREGL_TRACEPATH_FUNC_END();
1342 tracepath_glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, char* source)
1344 _COREGL_TRACEPATH_FUNC_BEGIN();
1345 _orig_tracepath_glGetShaderSource(shader, bufsize, length, source);
1350 _COREGL_TRACEPATH_FUNC_END();
1354 tracepath_glGetString(GLenum name)
1356 const GLubyte *ret = NULL;
1358 _COREGL_TRACEPATH_FUNC_BEGIN();
1359 ret = _orig_tracepath_glGetString(name);
1364 _COREGL_TRACEPATH_FUNC_END();
1369 tracepath_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)
1371 _COREGL_TRACEPATH_FUNC_BEGIN();
1372 _orig_tracepath_glGetTexParameterfv(target, pname, params);
1377 _COREGL_TRACEPATH_FUNC_END();
1381 tracepath_glGetTexParameteriv(GLenum target, GLenum pname, GLint* params)
1383 _COREGL_TRACEPATH_FUNC_BEGIN();
1384 _orig_tracepath_glGetTexParameteriv(target, pname, params);
1389 _COREGL_TRACEPATH_FUNC_END();
1393 tracepath_glGetUniformfv(GLuint program, GLint location, GLfloat* params)
1395 _COREGL_TRACEPATH_FUNC_BEGIN();
1396 _orig_tracepath_glGetUniformfv(program, location, params);
1401 _COREGL_TRACEPATH_FUNC_END();
1405 tracepath_glGetUniformiv(GLuint program, GLint location, GLint* params)
1407 _COREGL_TRACEPATH_FUNC_BEGIN();
1408 _orig_tracepath_glGetUniformiv(program, location, params);
1413 _COREGL_TRACEPATH_FUNC_END();
1416 tracepath_glGetUniformLocation(GLuint program, const char* name)
1418 int ret = _COREGL_INT_INIT_VALUE;
1420 _COREGL_TRACEPATH_FUNC_BEGIN();
1421 ret = _orig_tracepath_glGetUniformLocation(program, name);
1426 _COREGL_TRACEPATH_FUNC_END();
1431 tracepath_glIsBuffer(GLuint buffer)
1433 GLboolean ret = GL_FALSE;
1435 _COREGL_TRACEPATH_FUNC_BEGIN();
1436 ret = _orig_tracepath_glIsBuffer(buffer);
1441 _COREGL_TRACEPATH_FUNC_END();
1446 tracepath_glIsEnabled(GLenum cap)
1448 GLboolean ret = GL_FALSE;
1450 _COREGL_TRACEPATH_FUNC_BEGIN();
1451 ret = _orig_tracepath_glIsEnabled(cap);
1456 _COREGL_TRACEPATH_FUNC_END();
1461 tracepath_glIsFramebuffer(GLuint framebuffer)
1463 GLboolean ret = GL_FALSE;
1465 _COREGL_TRACEPATH_FUNC_BEGIN();
1466 ret = _orig_tracepath_glIsFramebuffer(framebuffer);
1471 _COREGL_TRACEPATH_FUNC_END();
1476 tracepath_glIsProgram(GLuint program)
1479 _COREGL_TRACEPATH_FUNC_BEGIN();
1480 ret = _orig_tracepath_glIsProgram(program);
1485 _COREGL_TRACEPATH_FUNC_END();
1490 tracepath_glIsRenderbuffer(GLuint renderbuffer)
1493 _COREGL_TRACEPATH_FUNC_BEGIN();
1494 ret = _orig_tracepath_glIsRenderbuffer(renderbuffer);
1499 _COREGL_TRACEPATH_FUNC_END();
1504 tracepath_glIsShader(GLuint shader)
1507 _COREGL_TRACEPATH_FUNC_BEGIN();
1508 ret = _orig_tracepath_glIsShader(shader);
1513 _COREGL_TRACEPATH_FUNC_END();
1518 tracepath_glIsTexture(GLuint texture)
1521 _COREGL_TRACEPATH_FUNC_BEGIN();
1522 ret = _orig_tracepath_glIsTexture(texture);
1527 _COREGL_TRACEPATH_FUNC_END();
1532 tracepath_glLineWidth(GLfloat width)
1534 _COREGL_TRACEPATH_FUNC_BEGIN();
1535 _orig_tracepath_glLineWidth(width);
1540 _COREGL_TRACEPATH_FUNC_END();
1544 tracepath_glLinkProgram(GLuint program)
1546 _COREGL_TRACEPATH_FUNC_BEGIN();
1547 _orig_tracepath_glLinkProgram(program);
1552 _COREGL_TRACEPATH_FUNC_END();
1556 tracepath_glPixelStorei(GLenum pname, GLint param)
1558 _COREGL_TRACEPATH_FUNC_BEGIN();
1559 _orig_tracepath_glPixelStorei(pname, param);
1564 _COREGL_TRACEPATH_FUNC_END();
1568 tracepath_glPolygonOffset(GLfloat factor, GLfloat units)
1570 _COREGL_TRACEPATH_FUNC_BEGIN();
1571 _orig_tracepath_glPolygonOffset(factor, units);
1576 _COREGL_TRACEPATH_FUNC_END();
1580 tracepath_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels)
1582 _COREGL_TRACEPATH_FUNC_BEGIN();
1583 _orig_tracepath_glReadPixels(x, y, width, height, format, type, pixels);
1588 _COREGL_TRACEPATH_FUNC_END();
1592 tracepath_glReleaseShaderCompiler(void)
1594 _COREGL_TRACEPATH_FUNC_BEGIN();
1595 _orig_tracepath_glReleaseShaderCompiler();
1600 _COREGL_TRACEPATH_FUNC_END();
1604 tracepath_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
1606 _COREGL_TRACEPATH_FUNC_BEGIN();
1608 _orig_tracepath_glRenderbufferStorage(target, internalformat, width, height);
1613 _COREGL_TRACEPATH_FUNC_END();
1614 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
1615 if (trace_mem_flag == 1)
1617 MY_MODULE_TSTATE *tstate = NULL;
1619 GET_MY_TSTATE(tstate, get_current_thread_state());
1620 AST(tstate != NULL);
1621 /* Precent CID : 406403 */
1622 if (tstate != NULL && tstate->ctx != NULL)
1624 int objidx = _COREGL_INT_INIT_VALUE;
1625 _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
1626 AST(objidx != _COREGL_INT_INIT_VALUE);
1628 // Detect byte per pixel
1630 char formatment[80];
1631 switch (internalformat)
1633 case GL_ALPHA: snprintf(formatment,sizeof(formatment), "ALPHA"); bpp = 1; break;
1634 case GL_LUMINANCE: snprintf(formatment, sizeof(formatment), "LUMINANCE"); bpp = 1; break;
1635 case GL_LUMINANCE_ALPHA: snprintf(formatment, sizeof(formatment),"LUMINANCE_ALPHA"); bpp = 1; break;
1636 case GL_RGB: snprintf(formatment, sizeof(formatment),"RGB"); bpp = 2; break;
1637 case GL_RGBA: snprintf(formatment,sizeof(formatment), "RGBA"); bpp = 4; break;
1638 case 0x80E1: snprintf(formatment,sizeof(formatment), "BGRA_EXT"); bpp = 4; break;
1639 case 0x84F9: snprintf(formatment,sizeof(formatment), "DEPTH_STENCIL_OES"); bpp = 4; break;
1640 case GL_DEPTH_COMPONENT : snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT"); bpp = 1; break;
1641 case 0x81A5: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT16_ARB"); bpp = 2; break;
1642 case 0x81A6: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT24_ARB"); bpp = 3; break;
1643 case 0x81A7: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT32_ARB"); bpp = 4; break;
1644 case 0x8D46 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX1_OES"); bpp = 1; break;
1645 case 0x8D47 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX4_OES"); bpp = 1; break;
1646 case 0x8D48 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX8_OES"); bpp = 1; break;
1647 default: snprintf(formatment,sizeof(formatment), "0x%X", internalformat); bpp = 0; break;
1650 _add_glbuf_object(tstate->ctx->sostate->glbuf_rb, objidx, "Renderbuffer", width, height, bpp, formatment);
1653 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
1654 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
1655 if (trace_surface_flag == 1)
1657 MY_MODULE_TSTATE *tstate = NULL;
1659 GET_MY_TSTATE(tstate, get_current_thread_state());
1660 AST(tstate != NULL);
1661 /* Prevent CID : 406403 */
1662 if (tstate != NULL && tstate->ctx != NULL)
1664 int objidx = _COREGL_INT_INIT_VALUE;
1665 _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
1666 AST(objidx != _COREGL_INT_INIT_VALUE);
1670 switch (internalformat)
1674 case GL_DEPTH_COMPONENT :
1680 case 0x8D48 : channel = 1; break;
1681 case GL_LUMINANCE_ALPHA:
1682 case 0x84F9: channel = 2; break;
1683 case GL_RGB: channel = 3; break;
1685 case 0x80E1: channel = 4; break;
1689 snprintf(name,sizeof(name), "FBORB_%d", objidx);
1690 tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle, tstate->surf_draw, -1, 0, objidx, width, height, channel, NULL);
1694 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
1698 tracepath_glSampleCoverage(GLclampf value, GLboolean invert)
1700 _COREGL_TRACEPATH_FUNC_BEGIN();
1701 _orig_tracepath_glSampleCoverage(value, invert);
1706 _COREGL_TRACEPATH_FUNC_END();
1710 tracepath_glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
1712 _COREGL_TRACEPATH_FUNC_BEGIN();
1713 _orig_tracepath_glScissor(x, y, width, height);
1718 _COREGL_TRACEPATH_FUNC_END();
1722 tracepath_glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLsizei length)
1724 _COREGL_TRACEPATH_FUNC_BEGIN();
1725 _orig_tracepath_glShaderBinary(n, shaders, binaryformat, binary, length);
1730 _COREGL_TRACEPATH_FUNC_END();
1734 tracepath_glShaderSource(GLuint shader, GLsizei count, const char** string, const GLint* length)
1736 _COREGL_TRACEPATH_FUNC_BEGIN();
1737 _orig_tracepath_glShaderSource(shader, count, string, length);
1742 _COREGL_TRACEPATH_FUNC_END();
1746 tracepath_glStencilFunc(GLenum func, GLint ref, GLuint mask)
1748 _COREGL_TRACEPATH_FUNC_BEGIN();
1749 _orig_tracepath_glStencilFunc(func, ref, mask);
1754 _COREGL_TRACEPATH_FUNC_END();
1758 tracepath_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
1760 _COREGL_TRACEPATH_FUNC_BEGIN();
1761 _orig_tracepath_glStencilFuncSeparate(face, func, ref, mask);
1766 _COREGL_TRACEPATH_FUNC_END();
1770 tracepath_glStencilMask(GLuint mask)
1772 _COREGL_TRACEPATH_FUNC_BEGIN();
1773 _orig_tracepath_glStencilMask(mask);
1778 _COREGL_TRACEPATH_FUNC_END();
1782 tracepath_glStencilMaskSeparate(GLenum face, GLuint mask)
1784 _COREGL_TRACEPATH_FUNC_BEGIN();
1785 _orig_tracepath_glStencilMaskSeparate(face, mask);
1790 _COREGL_TRACEPATH_FUNC_END();
1794 tracepath_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
1796 _COREGL_TRACEPATH_FUNC_BEGIN();
1797 _orig_tracepath_glStencilOp(fail, zfail, zpass);
1802 _COREGL_TRACEPATH_FUNC_END();
1806 tracepath_glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
1808 _COREGL_TRACEPATH_FUNC_BEGIN();
1809 _orig_tracepath_glStencilOpSeparate(face, fail, zfail, zpass);
1814 _COREGL_TRACEPATH_FUNC_END();
1818 tracepath_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels)
1820 _COREGL_TRACEPATH_FUNC_BEGIN();
1821 _orig_tracepath_glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
1826 _COREGL_TRACEPATH_FUNC_END();
1827 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
1828 if (trace_mem_flag == 1)
1830 MY_MODULE_TSTATE *tstate = NULL;
1832 GET_MY_TSTATE(tstate, get_current_thread_state());
1833 AST(tstate != NULL);
1834 if (tstate != NULL && tstate->ctx != NULL)
1836 int objidx = _COREGL_INT_INIT_VALUE;
1837 _orig_tracepath_glGetIntegerv(GL_TEXTURE_BINDING_2D, &objidx);
1838 AST(objidx != _COREGL_INT_INIT_VALUE);
1840 // Detect byte per pixel
1842 char formatment[80];
1843 switch (internalformat)
1845 case GL_ALPHA: snprintf(formatment,sizeof(formatment), "ALPHA"); bpp = 1; break;
1846 case GL_LUMINANCE: snprintf(formatment,sizeof(formatment), "LUMINANCE"); bpp = 1; break;
1847 case GL_LUMINANCE_ALPHA: snprintf(formatment,sizeof(formatment), "LUMINANCE_ALPHA"); bpp = 1; break;
1848 case GL_RGB: snprintf(formatment,sizeof(formatment), "RGB"); bpp = 2; break;
1849 case GL_RGBA: snprintf(formatment,sizeof(formatment), "RGBA"); bpp = 4; break;
1850 case 0x80E1: snprintf(formatment,sizeof(formatment), "BGRA_EXT"); bpp = 4; break;
1851 case 0x84F9: snprintf(formatment,sizeof(formatment), "DEPTH_STENCIL_OES"); bpp = 4; break;
1852 case GL_DEPTH_COMPONENT : snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT"); bpp = 1; break;
1853 case 0x81A5: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT16_ARB"); bpp = 2; break;
1854 case 0x81A6: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT24_ARB"); bpp = 3; break;
1855 case 0x81A7: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT32_ARB"); bpp = 4; break;
1856 case 0x8D46 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX1_OES"); bpp = 1; break;
1857 case 0x8D47 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX4_OES"); bpp = 1; break;
1858 case 0x8D48 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX8_OES"); bpp = 1; break;
1859 default: snprintf(formatment, sizeof(formatment),"0x%X", internalformat); bpp = 0; break;
1862 _add_glbuf_object(tstate->ctx->sostate->glbuf_tex, objidx, "Texture", width, height, bpp, formatment);
1865 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
1866 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
1867 if (trace_surface_flag == 1)
1869 MY_MODULE_TSTATE *tstate = NULL;
1871 GET_MY_TSTATE(tstate, get_current_thread_state());
1872 AST(tstate != NULL);
1874 /* Prevent CID : 405600 */
1875 if (tstate != NULL && tstate->ctx != NULL)
1877 int objidx = _COREGL_INT_INIT_VALUE;
1878 _orig_tracepath_glGetIntegerv(GL_TEXTURE_BINDING_2D, &objidx);
1879 AST(objidx != _COREGL_INT_INIT_VALUE);
1883 switch (internalformat)
1887 case GL_DEPTH_COMPONENT :
1893 case 0x8D48 : channel = 1; break;
1894 case GL_LUMINANCE_ALPHA:
1895 case 0x84F9: channel = 2; break;
1896 case GL_RGB: channel = 3; break;
1898 case 0x80E1: channel = 4; break;
1902 snprintf(name, sizeof(name),"FBOTEX_0x%X", objidx);
1903 tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle, tstate->surf_draw, -1, objidx, 0, width, height, channel, NULL);
1907 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
1911 tracepath_glTexParameterf(GLenum target, GLenum pname, GLfloat param)
1913 _COREGL_TRACEPATH_FUNC_BEGIN();
1914 _orig_tracepath_glTexParameterf(target, pname, param);
1919 _COREGL_TRACEPATH_FUNC_END();
1923 tracepath_glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params)
1925 _COREGL_TRACEPATH_FUNC_BEGIN();
1926 _orig_tracepath_glTexParameterfv(target, pname, params);
1931 _COREGL_TRACEPATH_FUNC_END();
1935 tracepath_glTexParameteri(GLenum target, GLenum pname, GLint param)
1937 _COREGL_TRACEPATH_FUNC_BEGIN();
1938 _orig_tracepath_glTexParameteri(target, pname, param);
1943 _COREGL_TRACEPATH_FUNC_END();
1947 tracepath_glTexParameteriv(GLenum target, GLenum pname, const GLint* params)
1949 _COREGL_TRACEPATH_FUNC_BEGIN();
1950 _orig_tracepath_glTexParameteriv(target, pname, params);
1955 _COREGL_TRACEPATH_FUNC_END();
1959 tracepath_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels)
1961 _COREGL_TRACEPATH_FUNC_BEGIN();
1962 _orig_tracepath_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
1967 _COREGL_TRACEPATH_FUNC_END();
1971 tracepath_glUniform1f(GLint location, GLfloat x)
1973 _COREGL_TRACEPATH_FUNC_BEGIN();
1974 _orig_tracepath_glUniform1f(location, x);
1979 _COREGL_TRACEPATH_FUNC_END();
1983 tracepath_glUniform1fv(GLint location, GLsizei count, const GLfloat* v)
1985 _COREGL_TRACEPATH_FUNC_BEGIN();
1986 _orig_tracepath_glUniform1fv(location, count, v);
1991 _COREGL_TRACEPATH_FUNC_END();
1995 tracepath_glUniform1i(GLint location, GLint x)
1997 _COREGL_TRACEPATH_FUNC_BEGIN();
1998 _orig_tracepath_glUniform1i(location, x);
2003 _COREGL_TRACEPATH_FUNC_END();
2007 tracepath_glUniform1iv(GLint location, GLsizei count, const GLint* v)
2009 _COREGL_TRACEPATH_FUNC_BEGIN();
2010 _orig_tracepath_glUniform1iv(location, count, v);
2015 _COREGL_TRACEPATH_FUNC_END();
2019 tracepath_glUniform2f(GLint location, GLfloat x, GLfloat y)
2021 _COREGL_TRACEPATH_FUNC_BEGIN();
2022 _orig_tracepath_glUniform2f(location, x, y);
2027 _COREGL_TRACEPATH_FUNC_END();
2031 tracepath_glUniform2fv(GLint location, GLsizei count, const GLfloat* v)
2033 _COREGL_TRACEPATH_FUNC_BEGIN();
2034 _orig_tracepath_glUniform2fv(location, count, v);
2039 _COREGL_TRACEPATH_FUNC_END();
2043 tracepath_glUniform2i(GLint location, GLint x, GLint y)
2045 _COREGL_TRACEPATH_FUNC_BEGIN();
2046 _orig_tracepath_glUniform2i(location, x, y);
2051 _COREGL_TRACEPATH_FUNC_END();
2055 tracepath_glUniform2iv(GLint location, GLsizei count, const GLint* v)
2057 _COREGL_TRACEPATH_FUNC_BEGIN();
2058 _orig_tracepath_glUniform2iv(location, count, v);
2063 _COREGL_TRACEPATH_FUNC_END();
2067 tracepath_glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)
2069 _COREGL_TRACEPATH_FUNC_BEGIN();
2070 _orig_tracepath_glUniform3f(location, x, y, z);
2075 _COREGL_TRACEPATH_FUNC_END();
2079 tracepath_glUniform3fv(GLint location, GLsizei count, const GLfloat* v)
2081 _COREGL_TRACEPATH_FUNC_BEGIN();
2082 _orig_tracepath_glUniform3fv(location, count, v);
2087 _COREGL_TRACEPATH_FUNC_END();
2091 tracepath_glUniform3i(GLint location, GLint x, GLint y, GLint z)
2093 _COREGL_TRACEPATH_FUNC_BEGIN();
2094 _orig_tracepath_glUniform3i(location, x, y, z);
2099 _COREGL_TRACEPATH_FUNC_END();
2103 tracepath_glUniform3iv(GLint location, GLsizei count, const GLint* v)
2105 _COREGL_TRACEPATH_FUNC_BEGIN();
2106 _orig_tracepath_glUniform3iv(location, count, v);
2111 _COREGL_TRACEPATH_FUNC_END();
2115 tracepath_glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
2117 _COREGL_TRACEPATH_FUNC_BEGIN();
2118 _orig_tracepath_glUniform4f(location, x, y, z, w);
2123 _COREGL_TRACEPATH_FUNC_END();
2127 tracepath_glUniform4fv(GLint location, GLsizei count, const GLfloat* v)
2129 _COREGL_TRACEPATH_FUNC_BEGIN();
2130 _orig_tracepath_glUniform4fv(location, count, v);
2135 _COREGL_TRACEPATH_FUNC_END();
2139 tracepath_glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)
2141 _COREGL_TRACEPATH_FUNC_BEGIN();
2142 _orig_tracepath_glUniform4i(location, x, y, z, w);
2147 _COREGL_TRACEPATH_FUNC_END();
2151 tracepath_glUniform4iv(GLint location, GLsizei count, const GLint* v)
2153 _COREGL_TRACEPATH_FUNC_BEGIN();
2154 _orig_tracepath_glUniform4iv(location, count, v);
2159 _COREGL_TRACEPATH_FUNC_END();
2163 tracepath_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2165 _COREGL_TRACEPATH_FUNC_BEGIN();
2166 _orig_tracepath_glUniformMatrix2fv(location, count, transpose, value);
2171 _COREGL_TRACEPATH_FUNC_END();
2175 tracepath_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2177 _COREGL_TRACEPATH_FUNC_BEGIN();
2178 _orig_tracepath_glUniformMatrix3fv(location, count, transpose, value);
2183 _COREGL_TRACEPATH_FUNC_END();
2187 tracepath_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2189 _COREGL_TRACEPATH_FUNC_BEGIN();
2190 _orig_tracepath_glUniformMatrix4fv(location, count, transpose, value);
2195 _COREGL_TRACEPATH_FUNC_END();
2199 tracepath_glUseProgram(GLuint program)
2201 _COREGL_TRACEPATH_FUNC_BEGIN();
2202 _orig_tracepath_glUseProgram(program);
2207 _COREGL_TRACEPATH_FUNC_END();
2211 tracepath_glValidateProgram(GLuint program)
2213 _COREGL_TRACEPATH_FUNC_BEGIN();
2214 _orig_tracepath_glValidateProgram(program);
2219 _COREGL_TRACEPATH_FUNC_END();
2223 tracepath_glVertexAttrib1f(GLuint index, GLfloat x)
2225 _COREGL_TRACEPATH_FUNC_BEGIN();
2226 _orig_tracepath_glVertexAttrib1f(index, x);
2231 _COREGL_TRACEPATH_FUNC_END();
2235 tracepath_glVertexAttrib1fv(GLuint index, const GLfloat* values)
2237 _COREGL_TRACEPATH_FUNC_BEGIN();
2238 _orig_tracepath_glVertexAttrib1fv(index, values);
2243 _COREGL_TRACEPATH_FUNC_END();
2247 tracepath_glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y)
2249 _COREGL_TRACEPATH_FUNC_BEGIN();
2250 _orig_tracepath_glVertexAttrib2f(index, x, y);
2255 _COREGL_TRACEPATH_FUNC_END();
2259 tracepath_glVertexAttrib2fv(GLuint index, const GLfloat* values)
2261 _COREGL_TRACEPATH_FUNC_BEGIN();
2262 _orig_tracepath_glVertexAttrib2fv(index, values);
2267 _COREGL_TRACEPATH_FUNC_END();
2271 tracepath_glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z)
2273 _COREGL_TRACEPATH_FUNC_BEGIN();
2274 _orig_tracepath_glVertexAttrib3f(index, x, y, z);
2279 _COREGL_TRACEPATH_FUNC_END();
2283 tracepath_glVertexAttrib3fv(GLuint index, const GLfloat* values)
2285 _COREGL_TRACEPATH_FUNC_BEGIN();
2286 _orig_tracepath_glVertexAttrib3fv(index, values);
2291 _COREGL_TRACEPATH_FUNC_END();
2295 tracepath_glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
2297 _COREGL_TRACEPATH_FUNC_BEGIN();
2298 _orig_tracepath_glVertexAttrib4f(index, x, y, z, w);
2303 _COREGL_TRACEPATH_FUNC_END();
2307 tracepath_glVertexAttrib4fv(GLuint index, const GLfloat* values)
2309 _COREGL_TRACEPATH_FUNC_BEGIN();
2310 _orig_tracepath_glVertexAttrib4fv(index, values);
2315 _COREGL_TRACEPATH_FUNC_END();
2319 tracepath_glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* pointer)
2321 _COREGL_TRACEPATH_FUNC_BEGIN();
2322 _orig_tracepath_glVertexAttribPointer(index, size, type, normalized, stride, pointer);
2327 _COREGL_TRACEPATH_FUNC_END();
2331 tracepath_glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
2333 _COREGL_TRACEPATH_FUNC_BEGIN();
2334 _orig_tracepath_glViewport(x, y, width, height);
2339 _COREGL_TRACEPATH_FUNC_END();
2345 tracepath_glReadBuffer(GLenum mode)
2347 _COREGL_TRACEPATH_FUNC_BEGIN();
2348 _orig_tracepath_glReadBuffer(mode);
2353 _COREGL_TRACEPATH_FUNC_END();
2357 tracepath_glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices)
2359 _COREGL_TRACEPATH_FUNC_BEGIN();
2360 _orig_tracepath_glDrawRangeElements(mode, start, end, count, type, indices);
2365 _COREGL_TRACEPATH_FUNC_END();
2369 tracepath_glTexImage3D(GLenum target, GLint level, GLint GLinternalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
2371 _COREGL_TRACEPATH_FUNC_BEGIN();
2372 _orig_tracepath_glTexImage3D(target, level, GLinternalFormat, width, height, depth, border, format, type, pixels);
2377 _COREGL_TRACEPATH_FUNC_END();
2381 tracepath_glTexImage3DOES(GLenum target, GLint level, GLint GLinternalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)
2383 _COREGL_TRACEPATH_FUNC_BEGIN();
2384 _orig_tracepath_glTexImage3DOES(target, level, GLinternalFormat, width, height, depth, border, format, type, pixels);
2389 _COREGL_TRACEPATH_FUNC_END();
2393 tracepath_glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
2395 _COREGL_TRACEPATH_FUNC_BEGIN();
2396 _orig_tracepath_glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
2401 _COREGL_TRACEPATH_FUNC_END();
2405 tracepath_glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)
2407 _COREGL_TRACEPATH_FUNC_BEGIN();
2408 _orig_tracepath_glTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
2413 _COREGL_TRACEPATH_FUNC_END();
2417 tracepath_glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
2419 _COREGL_TRACEPATH_FUNC_BEGIN();
2420 _orig_tracepath_glCopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
2425 _COREGL_TRACEPATH_FUNC_END();
2429 tracepath_glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
2431 _COREGL_TRACEPATH_FUNC_BEGIN();
2432 _orig_tracepath_glCopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height);
2437 _COREGL_TRACEPATH_FUNC_END();
2441 tracepath_glCompressedTexImage3D(GLenum target, GLint level, GLenum GLinternalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
2443 _COREGL_TRACEPATH_FUNC_BEGIN();
2444 _orig_tracepath_glCompressedTexImage3D(target, level, GLinternalformat, width, height, depth, border, imageSize, data);
2449 _COREGL_TRACEPATH_FUNC_END();
2453 tracepath_glCompressedTexImage3DOES(GLenum target, GLint level, GLenum GLinternalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
2455 _COREGL_TRACEPATH_FUNC_BEGIN();
2456 _orig_tracepath_glCompressedTexImage3DOES(target, level, GLinternalformat, width, height, depth, border, imageSize, data);
2461 _COREGL_TRACEPATH_FUNC_END();
2465 tracepath_glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
2467 _COREGL_TRACEPATH_FUNC_BEGIN();
2468 _orig_tracepath_glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
2473 _COREGL_TRACEPATH_FUNC_END();
2477 tracepath_glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
2479 _COREGL_TRACEPATH_FUNC_BEGIN();
2480 _orig_tracepath_glCompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
2485 _COREGL_TRACEPATH_FUNC_END();
2489 tracepath_glGenQueries(GLsizei n, GLuint* ids)
2491 _COREGL_TRACEPATH_FUNC_BEGIN();
2492 _orig_tracepath_glGenQueries(n, ids);
2497 _COREGL_TRACEPATH_FUNC_END();
2501 tracepath_glDeleteQueries(GLsizei n, const GLuint* ids)
2503 _COREGL_TRACEPATH_FUNC_BEGIN();
2504 _orig_tracepath_glDeleteQueries(n, ids);
2509 _COREGL_TRACEPATH_FUNC_END();
2513 tracepath_glIsQuery(GLuint id)
2515 GLboolean ret = GL_FALSE;
2517 _COREGL_TRACEPATH_FUNC_BEGIN();
2518 ret = _orig_tracepath_glIsQuery(id);
2523 _COREGL_TRACEPATH_FUNC_END();
2528 tracepath_glBeginQuery(GLenum target, GLuint id)
2530 _COREGL_TRACEPATH_FUNC_BEGIN();
2531 _orig_tracepath_glBeginQuery(target, id);
2536 _COREGL_TRACEPATH_FUNC_END();
2540 tracepath_glEndQuery(GLenum target)
2542 _COREGL_TRACEPATH_FUNC_BEGIN();
2543 _orig_tracepath_glEndQuery(target);
2548 _COREGL_TRACEPATH_FUNC_END();
2552 tracepath_glGetQueryiv(GLenum target, GLenum pname, GLint* params)
2554 _COREGL_TRACEPATH_FUNC_BEGIN();
2555 _orig_tracepath_glGetQueryiv(target, pname, params);
2560 _COREGL_TRACEPATH_FUNC_END();
2564 tracepath_glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params)
2566 _COREGL_TRACEPATH_FUNC_BEGIN();
2567 _orig_tracepath_glGetQueryObjectuiv(id, pname, params);
2572 _COREGL_TRACEPATH_FUNC_END();
2576 tracepath_glUnmapBuffer(GLenum target)
2578 GLboolean ret = GL_FALSE;
2580 _COREGL_TRACEPATH_FUNC_BEGIN();
2581 ret = _orig_tracepath_glUnmapBuffer(target);
2586 _COREGL_TRACEPATH_FUNC_END();
2591 tracepath_glGetBufferPointerv(GLenum target, GLenum pname, GLvoid** params)
2593 _COREGL_TRACEPATH_FUNC_BEGIN();
2594 _orig_tracepath_glGetBufferPointerv(target, pname, params);
2599 _COREGL_TRACEPATH_FUNC_END();
2603 tracepath_glDrawBuffers(GLsizei n, const GLenum* bufs)
2605 _COREGL_TRACEPATH_FUNC_BEGIN();
2606 _orig_tracepath_glDrawBuffers(n, bufs);
2611 _COREGL_TRACEPATH_FUNC_END();
2615 tracepath_glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2617 _COREGL_TRACEPATH_FUNC_BEGIN();
2618 _orig_tracepath_glUniformMatrix2x3fv(location, count, transpose, value);
2623 _COREGL_TRACEPATH_FUNC_END();
2627 tracepath_glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2629 _COREGL_TRACEPATH_FUNC_BEGIN();
2630 _orig_tracepath_glUniformMatrix3x2fv(location, count, transpose, value);
2635 _COREGL_TRACEPATH_FUNC_END();
2639 tracepath_glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2641 _COREGL_TRACEPATH_FUNC_BEGIN();
2642 _orig_tracepath_glUniformMatrix2x4fv(location, count, transpose, value);
2647 _COREGL_TRACEPATH_FUNC_END();
2651 tracepath_glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2653 _COREGL_TRACEPATH_FUNC_BEGIN();
2654 _orig_tracepath_glUniformMatrix4x2fv(location, count, transpose, value);
2659 _COREGL_TRACEPATH_FUNC_END();
2663 tracepath_glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2665 _COREGL_TRACEPATH_FUNC_BEGIN();
2666 _orig_tracepath_glUniformMatrix3x4fv(location, count, transpose, value);
2671 _COREGL_TRACEPATH_FUNC_END();
2675 tracepath_glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
2677 _COREGL_TRACEPATH_FUNC_BEGIN();
2678 _orig_tracepath_glUniformMatrix4x3fv(location, count, transpose, value);
2683 _COREGL_TRACEPATH_FUNC_END();
2687 tracepath_glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
2689 _COREGL_TRACEPATH_FUNC_BEGIN();
2690 _orig_tracepath_glBlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
2695 _COREGL_TRACEPATH_FUNC_END();
2699 tracepath_glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
2701 _COREGL_TRACEPATH_FUNC_BEGIN();
2702 _orig_tracepath_glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
2707 _COREGL_TRACEPATH_FUNC_END();
2708 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
2709 if (trace_mem_flag == 1)
2711 MY_MODULE_TSTATE *tstate = NULL;
2713 GET_MY_TSTATE(tstate, get_current_thread_state());
2714 AST(tstate != NULL);
2715 /* Prevent CID : 391397 */
2716 if (tstate != NULL && tstate->ctx != NULL)
2718 int objidx = _COREGL_INT_INIT_VALUE;
2719 _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
2720 AST(objidx != _COREGL_INT_INIT_VALUE);
2722 // Detect byte per pixel
2724 char formatment[80];
2725 switch (internalformat)
2727 case GL_ALPHA: snprintf(formatment,sizeof(formatment), "ALPHA"); bpp = 1; break;
2728 case GL_LUMINANCE: snprintf(formatment,sizeof(formatment), "LUMINANCE"); bpp = 1; break;
2729 case GL_LUMINANCE_ALPHA: snprintf(formatment,sizeof(formatment), "LUMINANCE_ALPHA"); bpp = 1; break;
2730 case GL_RGB: snprintf(formatment,sizeof(formatment), "RGB"); bpp = 2; break;
2731 case GL_RGBA: snprintf(formatment,sizeof(formatment), "RGBA"); bpp = 4; break;
2732 case 0x80E1: snprintf(formatment,sizeof(formatment), "BGRA_EXT"); bpp = 4; break;
2733 case 0x84F9: snprintf(formatment,sizeof(formatment), "DEPTH_STENCIL_OES"); bpp = 4; break;
2734 case GL_DEPTH_COMPONENT : snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT"); bpp = 1; break;
2735 case 0x81A5: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT16_ARB"); bpp = 2; break;
2736 case 0x81A6: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT24_ARB"); bpp = 3; break;
2737 case 0x81A7: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT32_ARB"); bpp = 4; break;
2738 case 0x8D46 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX1_OES"); bpp = 1; break;
2739 case 0x8D47 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX4_OES"); bpp = 1; break;
2740 case 0x8D48 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX8_OES"); bpp = 1; break;
2741 default: snprintf(formatment,sizeof(formatment), "0x%X", internalformat); bpp = 0; break;
2744 _add_glbuf_object(tstate->ctx->sostate->glbuf_rb, objidx, "Renderbuffer", width, height, bpp, formatment);
2747 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
2748 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
2749 if (trace_surface_flag == 1)
2751 MY_MODULE_TSTATE *tstate = NULL;
2753 GET_MY_TSTATE(tstate, get_current_thread_state());
2754 AST(tstate != NULL);
2755 /* Prevent CID : 391397 */
2756 if (tstate != NULL && tstate->ctx != NULL)
2758 int objidx = _COREGL_INT_INIT_VALUE;
2759 _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
2760 AST(objidx != _COREGL_INT_INIT_VALUE);
2764 switch (internalformat)
2768 case GL_DEPTH_COMPONENT :
2774 case 0x8D48 : channel = 1; break;
2775 case GL_LUMINANCE_ALPHA:
2776 case 0x84F9: channel = 2; break;
2777 case GL_RGB: channel = 3; break;
2779 case 0x80E1: channel = 4; break;
2783 snprintf(name,sizeof(name), "FBORB_0x%X", objidx);
2784 tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle, tstate->surf_draw, -1, 0, objidx, width, height, channel, NULL);
2788 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
2792 tracepath_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
2794 _COREGL_TRACEPATH_FUNC_BEGIN();
2795 _orig_tracepath_glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height);
2800 _COREGL_TRACEPATH_FUNC_END();
2801 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
2802 if (trace_mem_flag == 1)
2804 MY_MODULE_TSTATE *tstate = NULL;
2806 GET_MY_TSTATE(tstate, get_current_thread_state());
2807 AST(tstate != NULL);
2808 /* Prevent CID : 388557 */
2809 if (tstate != NULL && tstate->ctx != NULL)
2811 int objidx = _COREGL_INT_INIT_VALUE;
2812 _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
2813 AST(objidx != _COREGL_INT_INIT_VALUE);
2815 // Detect byte per pixel
2817 char formatment[80];
2818 switch (internalformat)
2820 case GL_ALPHA: snprintf(formatment,sizeof(formatment), "ALPHA"); bpp = 1; break;
2821 case GL_LUMINANCE: snprintf(formatment,sizeof(formatment), "LUMINANCE"); bpp = 1; break;
2822 case GL_LUMINANCE_ALPHA: snprintf(formatment,sizeof(formatment), "LUMINANCE_ALPHA"); bpp = 1; break;
2823 case GL_RGB: snprintf(formatment,sizeof(formatment), "RGB"); bpp = 2; break;
2824 case GL_RGBA: snprintf(formatment,sizeof(formatment), "RGBA"); bpp = 4; break;
2825 case 0x80E1: snprintf(formatment,sizeof(formatment), "BGRA_EXT"); bpp = 4; break;
2826 case 0x84F9: snprintf(formatment,sizeof(formatment), "DEPTH_STENCIL_OES"); bpp = 4; break;
2827 case GL_DEPTH_COMPONENT : snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT"); bpp = 1; break;
2828 case 0x81A5: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT16_ARB"); bpp = 2; break;
2829 case 0x81A6: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT24_ARB"); bpp = 3; break;
2830 case 0x81A7: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT32_ARB"); bpp = 4; break;
2831 case 0x8D46 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX1_OES"); bpp = 1; break;
2832 case 0x8D47 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX4_OES"); bpp = 1; break;
2833 case 0x8D48 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX8_OES"); bpp = 1; break;
2834 default: snprintf(formatment,sizeof(formatment), "0x%X", internalformat); bpp = 0; break;
2837 _add_glbuf_object(tstate->ctx->sostate->glbuf_rb, objidx, "Renderbuffer", width, height, bpp, formatment);
2840 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
2841 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
2842 if (trace_surface_flag == 1)
2844 MY_MODULE_TSTATE *tstate = NULL;
2846 GET_MY_TSTATE(tstate, get_current_thread_state());
2847 AST(tstate != NULL);
2848 /* Prevent CID : 388557 */
2849 if (tstate != NULL && tstate->ctx != NULL)
2851 int objidx = _COREGL_INT_INIT_VALUE;
2852 _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
2853 AST(objidx != _COREGL_INT_INIT_VALUE);
2857 switch (internalformat)
2861 case GL_DEPTH_COMPONENT :
2867 case 0x8D48 : channel = 1; break;
2868 case GL_LUMINANCE_ALPHA:
2869 case 0x84F9: channel = 2; break;
2870 case GL_RGB: channel = 3; break;
2872 case 0x80E1: channel = 4; break;
2876 snprintf(name,sizeof(name), "FBORB_0x%X", objidx);
2877 tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle, tstate->surf_draw, -1, 0, objidx, width, height, channel, NULL);
2881 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
2885 tracepath_glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
2887 _COREGL_TRACEPATH_FUNC_BEGIN();
2889 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
2890 tracepath_fbdump_update(0);
2891 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
2893 _orig_tracepath_glFramebufferTextureLayer(target, attachment, texture, level, layer);
2895 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
2896 tracepath_fbdump_update(1);
2897 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
2902 _COREGL_TRACEPATH_FUNC_END();
2906 tracepath_glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
2910 _COREGL_TRACEPATH_FUNC_BEGIN();
2911 ret = _orig_tracepath_glMapBufferRange(target, offset, length, access);
2916 _COREGL_TRACEPATH_FUNC_END();
2921 tracepath_glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
2923 _COREGL_TRACEPATH_FUNC_BEGIN();
2924 _orig_tracepath_glFlushMappedBufferRange(target, offset, length);
2929 _COREGL_TRACEPATH_FUNC_END();
2933 tracepath_glBindVertexArray(GLuint array)
2935 _COREGL_TRACEPATH_FUNC_BEGIN();
2936 _orig_tracepath_glBindVertexArray(array);
2941 _COREGL_TRACEPATH_FUNC_END();
2945 tracepath_glDeleteVertexArrays(GLsizei n, const GLuint* arrays)
2947 _COREGL_TRACEPATH_FUNC_BEGIN();
2948 _orig_tracepath_glDeleteVertexArrays(n, arrays);
2953 _COREGL_TRACEPATH_FUNC_END();
2957 tracepath_glGenVertexArrays(GLsizei n, GLuint* arrays)
2959 _COREGL_TRACEPATH_FUNC_BEGIN();
2960 _orig_tracepath_glGenVertexArrays(n, arrays);
2965 _COREGL_TRACEPATH_FUNC_END();
2969 tracepath_glIsVertexArray(GLuint array)
2971 GLboolean ret = GL_FALSE;
2973 _COREGL_TRACEPATH_FUNC_BEGIN();
2974 ret = _orig_tracepath_glIsVertexArray(array);
2979 _COREGL_TRACEPATH_FUNC_END();
2984 tracepath_glGetIntegeri_v(GLenum target, GLuint index, GLint* data)
2986 _COREGL_TRACEPATH_FUNC_BEGIN();
2987 _orig_tracepath_glGetIntegeri_v(target, index, data);
2992 _COREGL_TRACEPATH_FUNC_END();
2996 tracepath_glBeginTransformFeedback(GLenum primitiveMode)
2998 _COREGL_TRACEPATH_FUNC_BEGIN();
2999 _orig_tracepath_glBeginTransformFeedback(primitiveMode);
3004 _COREGL_TRACEPATH_FUNC_END();
3008 tracepath_glEndTransformFeedback()
3010 _COREGL_TRACEPATH_FUNC_BEGIN();
3011 _orig_tracepath_glEndTransformFeedback();
3016 _COREGL_TRACEPATH_FUNC_END();
3020 tracepath_glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
3022 _COREGL_TRACEPATH_FUNC_BEGIN();
3023 _orig_tracepath_glBindBufferRange(target, index, buffer, offset, size);
3028 _COREGL_TRACEPATH_FUNC_END();
3032 tracepath_glBindBufferBase(GLenum target, GLuint index, GLuint buffer)
3034 _COREGL_TRACEPATH_FUNC_BEGIN();
3035 _orig_tracepath_glBindBufferBase(target, index, buffer);
3040 _COREGL_TRACEPATH_FUNC_END();
3044 tracepath_glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode)
3046 _COREGL_TRACEPATH_FUNC_BEGIN();
3047 _orig_tracepath_glTransformFeedbackVaryings(program, count, varyings, bufferMode);
3052 _COREGL_TRACEPATH_FUNC_END();
3056 tracepath_glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name)
3058 _COREGL_TRACEPATH_FUNC_BEGIN();
3059 _orig_tracepath_glGetTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
3064 _COREGL_TRACEPATH_FUNC_END();
3068 tracepath_glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer)
3070 _COREGL_TRACEPATH_FUNC_BEGIN();
3071 _orig_tracepath_glVertexAttribIPointer(index, size, type, stride, pointer);
3076 _COREGL_TRACEPATH_FUNC_END();
3080 tracepath_glGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params)
3082 _COREGL_TRACEPATH_FUNC_BEGIN();
3083 _orig_tracepath_glGetVertexAttribIiv(index, pname, params);
3088 _COREGL_TRACEPATH_FUNC_END();
3092 tracepath_glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params)
3094 _COREGL_TRACEPATH_FUNC_BEGIN();
3095 _orig_tracepath_glGetVertexAttribIuiv(index, pname, params);
3100 _COREGL_TRACEPATH_FUNC_END();
3104 tracepath_glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w)
3106 _COREGL_TRACEPATH_FUNC_BEGIN();
3107 _orig_tracepath_glVertexAttribI4i(index, x, y, z, w);
3112 _COREGL_TRACEPATH_FUNC_END();
3116 tracepath_glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
3118 _COREGL_TRACEPATH_FUNC_BEGIN();
3119 _orig_tracepath_glVertexAttribI4ui(index, x, y, z, w);
3124 _COREGL_TRACEPATH_FUNC_END();
3128 tracepath_glVertexAttribI4iv(GLuint index, const GLint* v)
3130 _COREGL_TRACEPATH_FUNC_BEGIN();
3131 _orig_tracepath_glVertexAttribI4iv(index, v);
3136 _COREGL_TRACEPATH_FUNC_END();
3140 tracepath_glVertexAttribI4uiv(GLuint index, const GLuint* v)
3142 _COREGL_TRACEPATH_FUNC_BEGIN();
3143 _orig_tracepath_glVertexAttribI4uiv(index, v);
3148 _COREGL_TRACEPATH_FUNC_END();
3152 tracepath_glGetUniformuiv(GLuint program, GLint location, GLuint* params)
3154 _COREGL_TRACEPATH_FUNC_BEGIN();
3155 _orig_tracepath_glGetUniformuiv(program, location, params);
3160 _COREGL_TRACEPATH_FUNC_END();
3164 tracepath_glGetFragDataLocation(GLuint program, const GLchar *name)
3166 GLint ret = _COREGL_INT_INIT_VALUE;
3168 _COREGL_TRACEPATH_FUNC_BEGIN();
3169 ret = _orig_tracepath_glGetFragDataLocation(program, name);
3174 _COREGL_TRACEPATH_FUNC_END();
3179 tracepath_glUniform1ui(GLint location, GLuint v0)
3181 _COREGL_TRACEPATH_FUNC_BEGIN();
3182 _orig_tracepath_glUniform1ui(location, v0);
3187 _COREGL_TRACEPATH_FUNC_END();
3191 tracepath_glUniform2ui(GLint location, GLuint v0, GLuint v1)
3193 _COREGL_TRACEPATH_FUNC_BEGIN();
3194 _orig_tracepath_glUniform2ui(location, v0, v1);
3199 _COREGL_TRACEPATH_FUNC_END();
3203 tracepath_glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
3205 _COREGL_TRACEPATH_FUNC_BEGIN();
3206 _orig_tracepath_glUniform3ui(location, v0, v1, v2);
3211 _COREGL_TRACEPATH_FUNC_END();
3215 tracepath_glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
3217 _COREGL_TRACEPATH_FUNC_BEGIN();
3218 _orig_tracepath_glUniform4ui(location, v0, v1, v2, v3);
3223 _COREGL_TRACEPATH_FUNC_END();
3227 tracepath_glUniform1uiv(GLint location, GLsizei count, const GLuint* value)
3229 _COREGL_TRACEPATH_FUNC_BEGIN();
3230 _orig_tracepath_glUniform1uiv(location, count, value);
3235 _COREGL_TRACEPATH_FUNC_END();
3239 tracepath_glUniform2uiv(GLint location, GLsizei count, const GLuint* value)
3241 _COREGL_TRACEPATH_FUNC_BEGIN();
3242 _orig_tracepath_glUniform2uiv(location, count, value);
3247 _COREGL_TRACEPATH_FUNC_END();
3251 tracepath_glUniform3uiv(GLint location, GLsizei count, const GLuint* value)
3253 _COREGL_TRACEPATH_FUNC_BEGIN();
3254 _orig_tracepath_glUniform3uiv(location, count, value);
3259 _COREGL_TRACEPATH_FUNC_END();
3263 tracepath_glUniform4uiv(GLint location, GLsizei count, const GLuint* value)
3265 _COREGL_TRACEPATH_FUNC_BEGIN();
3266 _orig_tracepath_glUniform4uiv(location, count, value);
3271 _COREGL_TRACEPATH_FUNC_END();
3275 tracepath_glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint* value)
3277 _COREGL_TRACEPATH_FUNC_BEGIN();
3278 _orig_tracepath_glClearBufferiv(buffer, drawbuffer, value);
3283 _COREGL_TRACEPATH_FUNC_END();
3287 tracepath_glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint* value)
3289 _COREGL_TRACEPATH_FUNC_BEGIN();
3290 _orig_tracepath_glClearBufferuiv(buffer, drawbuffer, value);
3295 _COREGL_TRACEPATH_FUNC_END();
3299 tracepath_glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat* value)
3301 _COREGL_TRACEPATH_FUNC_BEGIN();
3302 _orig_tracepath_glClearBufferfv(buffer, drawbuffer, value);
3307 _COREGL_TRACEPATH_FUNC_END();
3311 tracepath_glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
3313 _COREGL_TRACEPATH_FUNC_BEGIN();
3314 _orig_tracepath_glClearBufferfi(buffer, drawbuffer, depth, stencil);
3319 _COREGL_TRACEPATH_FUNC_END();
3323 tracepath_glGetStringi(GLenum name, GLuint index)
3325 const GLubyte* ret = NULL;
3327 _COREGL_TRACEPATH_FUNC_BEGIN();
3328 ret = _orig_tracepath_glGetStringi(name, index);
3333 _COREGL_TRACEPATH_FUNC_END();
3338 tracepath_glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
3340 _COREGL_TRACEPATH_FUNC_BEGIN();
3341 _orig_tracepath_glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
3346 _COREGL_TRACEPATH_FUNC_END();
3350 tracepath_glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices)
3352 _COREGL_TRACEPATH_FUNC_BEGIN();
3353 _orig_tracepath_glGetUniformIndices(program, uniformCount, uniformNames, uniformIndices);
3358 _COREGL_TRACEPATH_FUNC_END();
3362 tracepath_glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params)
3364 _COREGL_TRACEPATH_FUNC_BEGIN();
3365 _orig_tracepath_glGetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
3370 _COREGL_TRACEPATH_FUNC_END();
3374 tracepath_glGetUniformBlockIndex(GLuint program, const GLchar* uniformBlockName)
3376 GLuint ret = _COREGL_INT_INIT_VALUE;
3378 _COREGL_TRACEPATH_FUNC_BEGIN();
3379 ret = _orig_tracepath_glGetUniformBlockIndex(program, uniformBlockName);
3384 _COREGL_TRACEPATH_FUNC_END();
3389 tracepath_glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params)
3391 _COREGL_TRACEPATH_FUNC_BEGIN();
3392 _orig_tracepath_glGetActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
3397 _COREGL_TRACEPATH_FUNC_END();
3401 tracepath_glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName)
3403 _COREGL_TRACEPATH_FUNC_BEGIN();
3404 _orig_tracepath_glGetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
3409 _COREGL_TRACEPATH_FUNC_END();
3413 tracepath_glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
3415 _COREGL_TRACEPATH_FUNC_BEGIN();
3416 _orig_tracepath_glUniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
3421 _COREGL_TRACEPATH_FUNC_END();
3425 tracepath_glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount)
3427 _COREGL_TRACEPATH_FUNC_BEGIN();
3428 _orig_tracepath_glDrawArraysInstanced(mode, first, count, instanceCount);
3433 _COREGL_TRACEPATH_FUNC_END();
3437 tracepath_glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instanceCount)
3439 _COREGL_TRACEPATH_FUNC_BEGIN();
3440 _orig_tracepath_glDrawElementsInstanced(mode, count, type, indices, instanceCount);
3445 _COREGL_TRACEPATH_FUNC_END();
3449 tracepath_glFenceSync(GLenum condition, GLbitfield flags)
3453 _COREGL_TRACEPATH_FUNC_BEGIN();
3454 ret = _orig_tracepath_glFenceSync(condition, flags);
3459 _COREGL_TRACEPATH_FUNC_END();
3464 tracepath_glIsSync(GLsync sync)
3466 GLboolean ret = GL_FALSE;
3468 _COREGL_TRACEPATH_FUNC_BEGIN();
3469 ret = _orig_tracepath_glIsSync(sync);
3474 _COREGL_TRACEPATH_FUNC_END();
3479 tracepath_glDeleteSync(GLsync sync)
3481 _COREGL_TRACEPATH_FUNC_BEGIN();
3482 _orig_tracepath_glDeleteSync(sync);
3487 _COREGL_TRACEPATH_FUNC_END();
3491 tracepath_glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
3493 GLenum ret = _COREGL_INT_INIT_VALUE;
3495 _COREGL_TRACEPATH_FUNC_BEGIN();
3496 ret = _orig_tracepath_glClientWaitSync(sync, flags, timeout);
3501 _COREGL_TRACEPATH_FUNC_END();
3506 tracepath_glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
3508 _COREGL_TRACEPATH_FUNC_BEGIN();
3509 _orig_tracepath_glWaitSync(sync, flags, timeout);
3514 _COREGL_TRACEPATH_FUNC_END();
3518 tracepath_glGetInteger64v(GLenum pname, GLint64* params)
3520 _COREGL_TRACEPATH_FUNC_BEGIN();
3521 _orig_tracepath_glGetInteger64v(pname, params);
3526 _COREGL_TRACEPATH_FUNC_END();
3530 tracepath_glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)
3532 _COREGL_TRACEPATH_FUNC_BEGIN();
3533 _orig_tracepath_glGetSynciv(sync, pname, bufSize, length, values);
3538 _COREGL_TRACEPATH_FUNC_END();
3542 tracepath_glGetInteger64i_v(GLenum target, GLuint index, GLint64* data)
3544 _COREGL_TRACEPATH_FUNC_BEGIN();
3545 _orig_tracepath_glGetInteger64i_v(target, index, data);
3550 _COREGL_TRACEPATH_FUNC_END();
3554 tracepath_glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64* params)
3556 _COREGL_TRACEPATH_FUNC_BEGIN();
3557 _orig_tracepath_glGetBufferParameteri64v(target, pname, params);
3562 _COREGL_TRACEPATH_FUNC_END();
3566 tracepath_glGenSamplers(GLsizei n, GLuint* samplers)
3568 _COREGL_TRACEPATH_FUNC_BEGIN();
3569 _orig_tracepath_glGenSamplers(n, samplers);
3574 _COREGL_TRACEPATH_FUNC_END();
3578 tracepath_glDeleteSamplers(GLsizei n, const GLuint* samplers)
3580 _COREGL_TRACEPATH_FUNC_BEGIN();
3581 _orig_tracepath_glDeleteSamplers(n, samplers);
3586 _COREGL_TRACEPATH_FUNC_END();
3590 tracepath_glIsSampler(GLuint sampler)
3592 GLboolean ret = GL_FALSE;
3594 _COREGL_TRACEPATH_FUNC_BEGIN();
3595 ret = _orig_tracepath_glIsSampler(sampler);
3600 _COREGL_TRACEPATH_FUNC_END();
3605 tracepath_glBindSampler(GLuint unit, GLuint sampler)
3607 _COREGL_TRACEPATH_FUNC_BEGIN();
3608 _orig_tracepath_glBindSampler(unit, sampler);
3613 _COREGL_TRACEPATH_FUNC_END();
3617 tracepath_glSamplerParameteri(GLuint sampler, GLenum pname, GLint param)
3619 _COREGL_TRACEPATH_FUNC_BEGIN();
3620 _orig_tracepath_glSamplerParameteri(sampler, pname, param);
3625 _COREGL_TRACEPATH_FUNC_END();
3629 tracepath_glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint* param)
3631 _COREGL_TRACEPATH_FUNC_BEGIN();
3632 _orig_tracepath_glSamplerParameteriv(sampler, pname, param);
3637 _COREGL_TRACEPATH_FUNC_END();
3641 tracepath_glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
3643 _COREGL_TRACEPATH_FUNC_BEGIN();
3644 _orig_tracepath_glSamplerParameterf(sampler, pname, param);
3649 _COREGL_TRACEPATH_FUNC_END();
3653 tracepath_glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat* param)
3655 _COREGL_TRACEPATH_FUNC_BEGIN();
3656 _orig_tracepath_glSamplerParameterfv(sampler, pname, param);
3661 _COREGL_TRACEPATH_FUNC_END();
3665 tracepath_glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params)
3667 _COREGL_TRACEPATH_FUNC_BEGIN();
3668 _orig_tracepath_glGetSamplerParameteriv(sampler, pname, params);
3673 _COREGL_TRACEPATH_FUNC_END();
3677 tracepath_glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params)
3679 _COREGL_TRACEPATH_FUNC_BEGIN();
3680 _orig_tracepath_glGetSamplerParameterfv(sampler, pname, params);
3685 _COREGL_TRACEPATH_FUNC_END();
3689 tracepath_glVertexAttribDivisor(GLuint index, GLuint divisor)
3691 _COREGL_TRACEPATH_FUNC_BEGIN();
3692 _orig_tracepath_glVertexAttribDivisor(index, divisor);
3697 _COREGL_TRACEPATH_FUNC_END();
3701 tracepath_glBindTransformFeedback(GLenum target, GLuint id)
3703 _COREGL_TRACEPATH_FUNC_BEGIN();
3704 _orig_tracepath_glBindTransformFeedback(target, id);
3709 _COREGL_TRACEPATH_FUNC_END();
3713 tracepath_glDeleteTransformFeedbacks(GLsizei n, const GLuint* ids)
3715 _COREGL_TRACEPATH_FUNC_BEGIN();
3716 _orig_tracepath_glDeleteTransformFeedbacks(n, ids);
3721 _COREGL_TRACEPATH_FUNC_END();
3725 tracepath_glGenTransformFeedbacks(GLsizei n, GLuint* ids)
3727 _COREGL_TRACEPATH_FUNC_BEGIN();
3728 _orig_tracepath_glGenTransformFeedbacks(n, ids);
3733 _COREGL_TRACEPATH_FUNC_END();
3737 tracepath_glIsTransformFeedback(GLuint id)
3739 GLboolean ret = GL_FALSE;
3741 _COREGL_TRACEPATH_FUNC_BEGIN();
3742 ret = _orig_tracepath_glIsTransformFeedback(id);
3747 _COREGL_TRACEPATH_FUNC_END();
3752 tracepath_glPauseTransformFeedback()
3754 _COREGL_TRACEPATH_FUNC_BEGIN();
3755 _orig_tracepath_glPauseTransformFeedback();
3760 _COREGL_TRACEPATH_FUNC_END();
3764 tracepath_glResumeTransformFeedback()
3766 _COREGL_TRACEPATH_FUNC_BEGIN();
3767 _orig_tracepath_glResumeTransformFeedback();
3772 _COREGL_TRACEPATH_FUNC_END();
3776 tracepath_glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary)
3778 _COREGL_TRACEPATH_FUNC_BEGIN();
3779 _orig_tracepath_glGetProgramBinary(program, bufSize, length, binaryFormat, binary);
3784 _COREGL_TRACEPATH_FUNC_END();
3788 tracepath_glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary)
3790 _COREGL_TRACEPATH_FUNC_BEGIN();
3791 _orig_tracepath_glGetProgramBinaryOES(program, bufSize, length, binaryFormat, binary);
3796 _COREGL_TRACEPATH_FUNC_END();
3800 tracepath_glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length)
3802 _COREGL_TRACEPATH_FUNC_BEGIN();
3803 _orig_tracepath_glProgramBinary(program, binaryFormat, binary, length);
3808 _COREGL_TRACEPATH_FUNC_END();
3812 tracepath_glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length)
3814 _COREGL_TRACEPATH_FUNC_BEGIN();
3815 _orig_tracepath_glProgramBinaryOES(program, binaryFormat, binary, length);
3820 _COREGL_TRACEPATH_FUNC_END();
3824 tracepath_glProgramParameteri(GLuint program, GLenum pname, GLint value)
3826 _COREGL_TRACEPATH_FUNC_BEGIN();
3827 _orig_tracepath_glProgramParameteri(program, pname, value);
3832 _COREGL_TRACEPATH_FUNC_END();
3836 tracepath_glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments)
3838 _COREGL_TRACEPATH_FUNC_BEGIN();
3839 _orig_tracepath_glInvalidateFramebuffer(target, numAttachments, attachments);
3844 _COREGL_TRACEPATH_FUNC_END();
3848 tracepath_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum* attachments)
3850 _COREGL_TRACEPATH_FUNC_BEGIN();
3851 _orig_tracepath_glDiscardFramebufferEXT(target, numAttachments, attachments);
3856 _COREGL_TRACEPATH_FUNC_END();
3860 tracepath_glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height)
3862 _COREGL_TRACEPATH_FUNC_BEGIN();
3863 _orig_tracepath_glInvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height);
3868 _COREGL_TRACEPATH_FUNC_END();
3872 tracepath_glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
3874 _COREGL_TRACEPATH_FUNC_BEGIN();
3875 _orig_tracepath_glTexStorage2D(target, levels, internalformat, width, height);
3880 _COREGL_TRACEPATH_FUNC_END();
3884 tracepath_glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
3886 _COREGL_TRACEPATH_FUNC_BEGIN();
3887 _orig_tracepath_glTexStorage3D(target, levels, internalformat, width, height, depth);
3892 _COREGL_TRACEPATH_FUNC_END();
3896 tracepath_glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params)
3898 _COREGL_TRACEPATH_FUNC_BEGIN();
3899 _orig_tracepath_glGetInternalformativ(target, internalformat, pname, bufSize, params);
3904 _COREGL_TRACEPATH_FUNC_END();
3908 /* GLES Extensions */
3910 tracepath_glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)
3912 _COREGL_TRACEPATH_FUNC_BEGIN();
3913 _orig_tracepath_glEGLImageTargetTexture2DOES(target, image);
3917 _COREGL_TRACEPATH_FUNC_END();
3918 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3919 if (trace_mem_flag == 1)
3921 MY_MODULE_TSTATE *tstate = NULL;
3923 GET_MY_TSTATE(tstate, get_current_thread_state());
3924 AST(tstate != NULL);
3925 /* Prevent CID : 404286 */
3926 if (tstate != NULL && tstate->ctx != NULL)
3928 int objidx = _COREGL_INT_INIT_VALUE;
3929 _orig_tracepath_glGetIntegerv(GL_TEXTURE_BINDING_2D, &objidx);
3930 AST(objidx != _COREGL_INT_INIT_VALUE);
3932 _add_glbuf_object(tstate->ctx->sostate->glbuf_tex, objidx, "Texture", 0, 0, 0, "Unknown");
3935 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3939 tracepath_glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
3941 _COREGL_TRACEPATH_FUNC_BEGIN();
3942 _orig_tracepath_glEGLImageTargetRenderbufferStorageOES(target, image);
3946 _COREGL_TRACEPATH_FUNC_END();
3947 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3948 if (trace_mem_flag == 1)
3950 MY_MODULE_TSTATE *tstate = NULL;
3952 GET_MY_TSTATE(tstate, get_current_thread_state());
3953 AST(tstate != NULL);
3954 /* Prevent CID : 397458 */
3955 if (tstate != NULL && tstate->ctx != NULL)
3957 int objidx = _COREGL_INT_INIT_VALUE;
3958 _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
3959 AST(objidx != _COREGL_INT_INIT_VALUE);
3961 _add_glbuf_object(tstate->ctx->sostate->glbuf_rb, objidx, "Renderbuffer", 0, 0, 0, "Unknown");
3964 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
3968 tracepath_glUseProgramStagesEXT(GLuint pipeline, GLbitfield stages, GLuint program)
3970 _COREGL_TRACEPATH_FUNC_BEGIN();
3971 _orig_tracepath_glUseProgramStagesEXT(pipeline, stages, program);
3976 _COREGL_TRACEPATH_FUNC_END();
3980 tracepath_glActiveShaderProgramEXT(GLuint pipeline, GLuint program)
3982 _COREGL_TRACEPATH_FUNC_BEGIN();
3983 _orig_tracepath_glActiveShaderProgramEXT(pipeline, program);
3988 _COREGL_TRACEPATH_FUNC_END();
3992 tracepath_glCreateShaderProgramvEXT(GLenum type, GLsizei count, const char **strings)
3994 GLuint ret = _COREGL_INT_INIT_VALUE;
3996 _COREGL_TRACEPATH_FUNC_BEGIN();
3997 ret = _orig_tracepath_glCreateShaderProgramvEXT(type, count, strings);
4002 _COREGL_TRACEPATH_FUNC_END();
4007 tracepath_glBindProgramPipelineEXT(GLuint pipeline)
4009 _COREGL_TRACEPATH_FUNC_BEGIN();
4010 _orig_tracepath_glBindProgramPipelineEXT(pipeline);
4015 _COREGL_TRACEPATH_FUNC_END();
4019 tracepath_glDeleteProgramPipelinesEXT(GLsizei n, const GLuint *pipelines)
4021 _COREGL_TRACEPATH_FUNC_BEGIN();
4022 _orig_tracepath_glDeleteProgramPipelinesEXT(n, pipelines);
4027 _COREGL_TRACEPATH_FUNC_END();
4031 tracepath_glGenProgramPipelinesEXT(GLsizei n, GLuint *pipelines)
4033 _COREGL_TRACEPATH_FUNC_BEGIN();
4034 _orig_tracepath_glGenProgramPipelinesEXT(n, pipelines);
4039 _COREGL_TRACEPATH_FUNC_END();
4043 tracepath_glIsProgramPipelineEXT(GLuint pipeline)
4045 GLboolean ret = _COREGL_INT_INIT_VALUE;
4047 _COREGL_TRACEPATH_FUNC_BEGIN();
4048 ret = _orig_tracepath_glIsProgramPipelineEXT(pipeline);
4053 _COREGL_TRACEPATH_FUNC_END();
4058 tracepath_glProgramParameteriEXT(GLuint program, GLenum pname, GLint value)
4060 _COREGL_TRACEPATH_FUNC_BEGIN();
4061 _orig_tracepath_glProgramParameteriEXT(program, pname, value);
4066 _COREGL_TRACEPATH_FUNC_END();
4070 tracepath_glGetProgramPipelineivEXT(GLuint pipeline, GLenum pname, GLint *params)
4072 _COREGL_TRACEPATH_FUNC_BEGIN();
4073 _orig_tracepath_glGetProgramPipelineivEXT(pipeline, pname, params);
4078 _COREGL_TRACEPATH_FUNC_END();
4082 tracepath_glProgramUniform1iEXT(GLuint program, GLint location, GLint x)
4084 _COREGL_TRACEPATH_FUNC_BEGIN();
4085 _orig_tracepath_glProgramUniform1iEXT(program, location, x);
4090 _COREGL_TRACEPATH_FUNC_END();
4094 tracepath_glProgramUniform2iEXT(GLuint program, GLint location, GLint x, GLint y)
4096 _COREGL_TRACEPATH_FUNC_BEGIN();
4097 _orig_tracepath_glProgramUniform2iEXT(program, location, x, y);
4102 _COREGL_TRACEPATH_FUNC_END();
4106 tracepath_glProgramUniform3iEXT(GLuint program, GLint location, GLint x, GLint y, GLint z)
4108 _COREGL_TRACEPATH_FUNC_BEGIN();
4109 _orig_tracepath_glProgramUniform3iEXT(program, location, x, y, z);
4114 _COREGL_TRACEPATH_FUNC_END();
4118 tracepath_glProgramUniform4iEXT(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w)
4120 _COREGL_TRACEPATH_FUNC_BEGIN();
4121 _orig_tracepath_glProgramUniform4iEXT(program, location, x, y, z, w);
4126 _COREGL_TRACEPATH_FUNC_END();
4130 tracepath_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat x)
4132 _COREGL_TRACEPATH_FUNC_BEGIN();
4133 _orig_tracepath_glProgramUniform1fEXT(program, location, x);
4138 _COREGL_TRACEPATH_FUNC_END();
4142 tracepath_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat x, GLfloat y)
4144 _COREGL_TRACEPATH_FUNC_BEGIN();
4145 _orig_tracepath_glProgramUniform2fEXT(program, location, x, y);
4150 _COREGL_TRACEPATH_FUNC_END();
4154 tracepath_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z)
4156 _COREGL_TRACEPATH_FUNC_BEGIN();
4157 _orig_tracepath_glProgramUniform3fEXT(program, location, x, y, z);
4162 _COREGL_TRACEPATH_FUNC_END();
4166 tracepath_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
4168 _COREGL_TRACEPATH_FUNC_BEGIN();
4169 _orig_tracepath_glProgramUniform4fEXT(program, location, x, y, z, w);
4174 _COREGL_TRACEPATH_FUNC_END();
4178 tracepath_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
4180 _COREGL_TRACEPATH_FUNC_BEGIN();
4181 _orig_tracepath_glProgramUniform1ivEXT(program, location, count, value);
4186 _COREGL_TRACEPATH_FUNC_END();
4190 tracepath_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
4192 _COREGL_TRACEPATH_FUNC_BEGIN();
4193 _orig_tracepath_glProgramUniform2ivEXT(program, location, count, value);
4198 _COREGL_TRACEPATH_FUNC_END();
4202 tracepath_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
4204 _COREGL_TRACEPATH_FUNC_BEGIN();
4205 _orig_tracepath_glProgramUniform3ivEXT(program, location, count, value);
4210 _COREGL_TRACEPATH_FUNC_END();
4214 tracepath_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value)
4216 _COREGL_TRACEPATH_FUNC_BEGIN();
4217 _orig_tracepath_glProgramUniform4ivEXT(program, location, count, value);
4222 _COREGL_TRACEPATH_FUNC_END();
4226 tracepath_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
4228 _COREGL_TRACEPATH_FUNC_BEGIN();
4229 _orig_tracepath_glProgramUniform1fvEXT(program, location, count, value);
4234 _COREGL_TRACEPATH_FUNC_END();
4238 tracepath_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
4240 _COREGL_TRACEPATH_FUNC_BEGIN();
4241 _orig_tracepath_glProgramUniform2fvEXT(program, location, count, value);
4246 _COREGL_TRACEPATH_FUNC_END();
4250 tracepath_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
4252 _COREGL_TRACEPATH_FUNC_BEGIN();
4253 _orig_tracepath_glProgramUniform3fvEXT(program, location, count, value);
4258 _COREGL_TRACEPATH_FUNC_END();
4262 tracepath_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value)
4264 _COREGL_TRACEPATH_FUNC_BEGIN();
4265 _orig_tracepath_glProgramUniform4fvEXT(program, location, count, value);
4270 _COREGL_TRACEPATH_FUNC_END();
4274 tracepath_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
4276 _COREGL_TRACEPATH_FUNC_BEGIN();
4277 _orig_tracepath_glProgramUniformMatrix2fvEXT(program, location, count, transpose, value);
4282 _COREGL_TRACEPATH_FUNC_END();
4286 tracepath_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
4288 _COREGL_TRACEPATH_FUNC_BEGIN();
4289 _orig_tracepath_glProgramUniformMatrix3fvEXT(program, location, count, transpose, value);
4294 _COREGL_TRACEPATH_FUNC_END();
4298 tracepath_glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
4300 _COREGL_TRACEPATH_FUNC_BEGIN();
4301 _orig_tracepath_glProgramUniformMatrix4fvEXT(program, location, count, transpose, value);
4306 _COREGL_TRACEPATH_FUNC_END();
4310 tracepath_glValidateProgramPipelineEXT(GLuint pipeline)
4312 _COREGL_TRACEPATH_FUNC_BEGIN();
4313 _orig_tracepath_glValidateProgramPipelineEXT(pipeline);
4318 _COREGL_TRACEPATH_FUNC_END();
4322 tracepath_glGetProgramPipelineInfoLogEXT(GLuint pipeline, GLsizei bufSize, GLsizei *length, char *infoLog)
4324 _COREGL_TRACEPATH_FUNC_BEGIN();
4325 _orig_tracepath_glGetProgramPipelineInfoLogEXT(pipeline, bufSize, length, infoLog);
4330 _COREGL_TRACEPATH_FUNC_END();
4335 tracepath_glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples)
4337 _COREGL_TRACEPATH_FUNC_BEGIN();
4339 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
4340 tracepath_fbdump_update(0);
4341 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
4343 _orig_tracepath_glFramebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, samples);
4345 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
4346 tracepath_fbdump_update(1);
4347 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
4352 _COREGL_TRACEPATH_FUNC_END();
4356 tracepath_glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
4358 _COREGL_TRACEPATH_FUNC_BEGIN();
4359 _orig_tracepath_glFramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset);
4364 _COREGL_TRACEPATH_FUNC_END();
4368 tracepath_glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
4370 _COREGL_TRACEPATH_FUNC_BEGIN();
4371 _orig_tracepath_glBlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
4376 _COREGL_TRACEPATH_FUNC_END();
4380 tracepath_glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
4382 _COREGL_TRACEPATH_FUNC_BEGIN();
4384 _orig_tracepath_glRenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height);
4389 _COREGL_TRACEPATH_FUNC_END();
4390 #ifdef COREGL_TRACEPATH_TRACE_MEMUSE_INFO
4391 if (trace_mem_flag == 1)
4393 MY_MODULE_TSTATE *tstate = NULL;
4395 GET_MY_TSTATE(tstate, get_current_thread_state());
4396 AST(tstate != NULL);
4397 /* Prevent CID : 394055 */
4398 if (tstate != NULL && tstate->ctx != NULL)
4400 int objidx = _COREGL_INT_INIT_VALUE;
4401 _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
4402 AST(objidx != _COREGL_INT_INIT_VALUE);
4404 // Detect byte per pixel
4406 char formatment[80];
4407 switch (internalformat)
4409 case GL_ALPHA: snprintf(formatment,sizeof(formatment), "ALPHA"); bpp = 1; break;
4410 case GL_LUMINANCE: snprintf(formatment,sizeof(formatment), "LUMINANCE"); bpp = 1; break;
4411 case GL_LUMINANCE_ALPHA: snprintf(formatment,sizeof(formatment), "LUMINANCE_ALPHA"); bpp = 1; break;
4412 case GL_RGB: snprintf(formatment,sizeof(formatment), "RGB"); bpp = 2; break;
4413 case GL_RGBA: snprintf(formatment,sizeof(formatment), "RGBA"); bpp = 4; break;
4414 case 0x80E1: snprintf(formatment,sizeof(formatment), "BGRA_EXT"); bpp = 4; break;
4415 case 0x84F9: snprintf(formatment,sizeof(formatment), "DEPTH_STENCIL_OES"); bpp = 4; break;
4416 case GL_DEPTH_COMPONENT : snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT"); bpp = 1; break;
4417 case 0x81A5: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT16_ARB"); bpp = 2; break;
4418 case 0x81A6: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT24_ARB"); bpp = 3; break;
4419 case 0x81A7: snprintf(formatment,sizeof(formatment), "DEPTH_COMPONENT32_ARB"); bpp = 4; break;
4420 case 0x8D46 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX1_OES"); bpp = 1; break;
4421 case 0x8D47 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX4_OES"); bpp = 1; break;
4422 case 0x8D48 : snprintf(formatment,sizeof(formatment), "STENCIL_INDEX8_OES"); bpp = 1; break;
4423 default: snprintf(formatment,sizeof(formatment), "0x%X", internalformat); bpp = 0; break;
4426 _add_glbuf_object(tstate->ctx->sostate->glbuf_rb, objidx, "Renderbuffer", width, height, bpp, formatment);
4429 #endif // COREGL_TRACEPATH_TRACE_MEMUSE_INFO
4430 #ifdef COREGL_TRACEPATH_TRACE_SURFACE_INFO
4431 if (trace_surface_flag == 1)
4433 MY_MODULE_TSTATE *tstate = NULL;
4435 GET_MY_TSTATE(tstate, get_current_thread_state());
4436 AST(tstate != NULL);
4437 /* Prevent CID : 394055 */
4438 if (tstate != NULL && tstate->ctx != NULL)
4440 int objidx = _COREGL_INT_INIT_VALUE;
4441 _orig_tracepath_glGetIntegerv(GL_RENDERBUFFER_BINDING, &objidx);
4442 AST(objidx != _COREGL_INT_INIT_VALUE);
4446 switch (internalformat)
4450 case GL_DEPTH_COMPONENT :
4456 case 0x8D48 : channel = 1; break;
4457 case GL_LUMINANCE_ALPHA:
4458 case 0x84F9: channel = 2; break;
4459 case GL_RGB: channel = 3; break;
4461 case 0x80E1: channel = 4; break;
4465 snprintf(name, sizeof(name),"FBORB_%d", objidx);
4466 tracepath_surface_trace_add(name, tstate->ctx->dpy, tstate->ctx->handle, tstate->surf_draw, -1, 0, objidx, width, height, channel, NULL);
4470 #endif // COREGL_TRACEPATH_TRACE_SURFACE_INFO
4475 tracepath_glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid** params)
4477 _COREGL_TRACEPATH_FUNC_BEGIN();
4478 _orig_tracepath_glGetBufferPointervOES(target, pname, params);
4483 _COREGL_TRACEPATH_FUNC_END();
4488 tracepath_glMapBufferOES(GLenum target, GLenum access)
4492 _COREGL_TRACEPATH_FUNC_BEGIN();
4493 ret = _orig_tracepath_glMapBufferOES(target, access);
4498 _COREGL_TRACEPATH_FUNC_END();
4504 tracepath_glUnmapBufferOES(GLenum target)
4506 GLboolean ret = GL_FALSE;
4508 _COREGL_TRACEPATH_FUNC_BEGIN();
4509 ret = _orig_tracepath_glUnmapBufferOES(target);
4514 _COREGL_TRACEPATH_FUNC_END();