Modified alias rule (ext to find standard)
authorHaegeun Park <haegeun.park@samsung.com>
Wed, 4 Sep 2013 04:00:10 +0000 (21:00 -0700)
committerHaegeun Park <haegeun.park@samsung.com>
Wed, 4 Sep 2013 04:00:10 +0000 (21:00 -0700)
Makefile
include/EGL/sym_egl.h [deleted file]
src/coregl.c
src/headers/sym_egl.h
src/headers/sym_gl.h
src/modules/fastpath/coregl_fastpath_egl.c
src/modules/fastpath/coregl_fastpath_gl.c
src/modules/tracepath/coregl_tracepath_egl.c

index 1b0f66b..70f132f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -32,7 +32,7 @@ SOURCES = \
 
 BIN = libCOREGL.so
 
-COREGL_MAJOR = 4
+COREGL_MAJOR = 3
 COREGL_MINOR = 0
 
 EGL_MAJOR = 1
diff --git a/include/EGL/sym_egl.h b/include/EGL/sym_egl.h
deleted file mode 100644 (file)
index c8d375f..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-// Defult use-case for exporting symbols
-#ifndef _COREGL_SYMBOL
-#define _COREGL_SYMBOL_NOT_DEFINED
-#define _COREGL_SYMBOL(IS_EXTENSION, RET_TYPE, FUNC_NAME, PARAM_LIST)     COREGL_API extern RET_TYPE FUNC_NAME PARAM_LIST;
-#endif
-#ifndef _COREGL_EXT_SYMBOL
-#define _COREGL_EXT_SYMBOL_NOT_DEFINED
-#define _COREGL_EXT_SYMBOL(IS_EXTENSION, RET_TYPE, FUNC_NAME, PARAM_LIST)   _COREGL_SYMBOL(IS_EXTENSION, RET_TYPE, FUNC_NAME, PARAM_LIST)
-#endif
-#ifndef _COREGL_EXT_SYMBOL_ALIAS
-#define _COREGL_EXT_SYMBOL_ALIAS_NOT_DEFINED
-#define _COREGL_EXT_SYMBOL_ALIAS(FUNC_NAME, ALIAS_NAME)
-#endif
-#ifndef _COREGL_EXT_SYMBOL_FASTPATH_PASS
-#define _COREGL_EXT_SYMBOL_FASTPATH_PASS_NOT_DEFINED
-#define _COREGL_EXT_SYMBOL_FASTPATH_PASS(FUNC_NAME)
-#endif
-#ifndef _COREGL_EXT_SYMBOL_FASTPATH_BLOCK
-#define _COREGL_EXT_SYMBOL_FASTPATH_BLOCK_NOT_DEFINED
-#define _COREGL_EXT_SYMBOL_FASTPATH_BLOCK(FUNC_NAME)
-#endif
-
-// Standard EGL APIs
-
-_COREGL_SYMBOL(GL_FALSE, EGLint, eglGetError, (void))
-_COREGL_SYMBOL(GL_FALSE, EGLDisplay, eglGetDisplay, (EGLNativeDisplayType display_id))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglInitialize, (EGLDisplay dpy, EGLint* major, EGLint *minor))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglTerminate, (EGLDisplay dpy))
-_COREGL_SYMBOL(GL_FALSE, const char*, eglQueryString, (EGLDisplay dpy, EGLint name))
-
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglGetConfigs, (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglChooseConfig, (EGLDisplay dpy, const EGLint* attrib_list, EGLConfig* configs, EGLint config_size, EGLint* num_config))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglGetConfigAttrib, (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value))
-
-_COREGL_SYMBOL(GL_FALSE, EGLSurface, eglCreateWindowSurface, (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint* attrib_list))
-_COREGL_SYMBOL(GL_FALSE, EGLSurface, eglCreatePbufferSurface, (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list))
-_COREGL_SYMBOL(GL_FALSE, EGLSurface, eglCreatePixmapSurface, (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint* attrib_list))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglDestroySurface, (EGLDisplay dpy, EGLSurface surface))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglQuerySurface, (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value))
-
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglBindAPI, (EGLenum api))
-_COREGL_SYMBOL(GL_FALSE, EGLenum, eglQueryAPI, (void))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglWaitClient, (void))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglReleaseThread, (void))
-_COREGL_SYMBOL(GL_FALSE, EGLSurface, eglCreatePbufferFromClientBuffer, (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list))
-
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglSurfaceAttrib, (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglBindTexImage, (EGLDisplay dpy, EGLSurface surface, EGLint buffer))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglReleaseTexImage, (EGLDisplay dpy, EGLSurface surface, EGLint buffer))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglSwapInterval, (EGLDisplay dpy, EGLint interval))
-_COREGL_SYMBOL(GL_FALSE, EGLContext, eglCreateContext, (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint* attrib_list))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglDestroyContext, (EGLDisplay dpy, EGLContext ctx))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglMakeCurrent, (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx))
-_COREGL_SYMBOL(GL_FALSE, EGLContext, eglGetCurrentContext, (void))
-_COREGL_SYMBOL(GL_FALSE, EGLSurface, eglGetCurrentSurface, (EGLint readdraw))
-_COREGL_SYMBOL(GL_FALSE, EGLDisplay, eglGetCurrentDisplay, (void))
-
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglQueryContext, (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglWaitGL, (void))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglWaitNative, (EGLint engine))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglSwapBuffers, (EGLDisplay dpy, EGLSurface surface))
-_COREGL_SYMBOL(GL_FALSE, EGLBoolean, eglCopyBuffers, (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target))
-
-_COREGL_SYMBOL(GL_FALSE, _eng_fn, eglGetProcAddress, (const char* procname))
-
-
-// Extensions
-_COREGL_EXT_SYMBOL(GL_TRUE, EGLImageKHR, eglCreateImageKHR, (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list))
-_COREGL_EXT_SYMBOL_ALIAS(eglCreateImageKHR, eglCreateImage)
-_COREGL_EXT_SYMBOL(GL_TRUE, EGLBoolean, eglDestroyImageKHR, (EGLDisplay dpy, EGLImageKHR image))
-_COREGL_EXT_SYMBOL_ALIAS(eglDestroyImageKHR, eglDestroyImage)
-
-_COREGL_EXT_SYMBOL(GL_TRUE, void*, eglMapImageSEC, (EGLDisplay dpy, EGLImageKHR image, EGLint device_type, EGLint access_option))
-_COREGL_EXT_SYMBOL_ALIAS(eglMapImageSEC, eglMapImage)
-_COREGL_EXT_SYMBOL(GL_TRUE, EGLBoolean, eglUnmapImageSEC, (EGLDisplay dpy, EGLImageKHR image, EGLint device_type))
-_COREGL_EXT_SYMBOL_ALIAS(eglUnmapImageSEC, eglUnmapImage)
-_COREGL_EXT_SYMBOL(GL_TRUE, EGLBoolean, eglGetImageAttribSEC, (EGLDisplay dpy, EGLImageKHR image, EGLint attribute, EGLint *value))
-_COREGL_EXT_SYMBOL_ALIAS(eglGetImageAttribSEC, eglGetImageAttrib)
-
-_COREGL_EXT_SYMBOL(GL_TRUE, EGLBoolean, eglLockSurfaceKHR, (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list))
-_COREGL_EXT_SYMBOL_ALIAS(eglLockSurfaceKHR, eglLockSurface)
-_COREGL_EXT_SYMBOL(GL_TRUE, EGLBoolean, eglUnlockSurfaceKHR, (EGLDisplay display, EGLSurface surface))
-_COREGL_EXT_SYMBOL_ALIAS(eglUnlockSurfaceKHR, eglUnlockSurface)
-
-// Verified extensions
-_COREGL_EXT_SYMBOL_FASTPATH_PASS(eglSwapBuffersRegionEXT)
-_COREGL_EXT_SYMBOL_FASTPATH_PASS(eglSwapBuffersRegionSEC)
-_COREGL_EXT_SYMBOL_FASTPATH_PASS(eglSwapBuffersWithDamageEXT)
-
-// Blocked extensions
-//_COREGL_EXT_SYMBOL_FASTPATH_BLOCK()
-
-#ifdef _COREGL_EXT_SYMBOL_NOT_DEFINED
-#undef _COREGL_EXT_SYMBOL_NOT_DEFINED
-#undef _COREGL_EXT_SYMBOL
-#endif
-
-#ifdef _COREGL_SYMBOL_NOT_DEFINED
-#undef _COREGL_SYMBOL_NOT_DEFINED
-#undef _COREGL_SYMBOL
-#endif
-
-#ifdef _COREGL_EXT_SYMBOL_ALIAS_NOT_DEFINED
-#undef _COREGL_EXT_SYMBOL_ALIAS_NOT_DEFINED
-#undef _COREGL_EXT_SYMBOL_ALIAS
-#endif
-
-#ifdef _COREGL_EXT_SYMBOL_FASTPATH_PASS_NOT_DEFINED
-#undef _COREGL_EXT_SYMBOL_FASTPATH_PASS_NOT_DEFINED
-#undef _COREGL_EXT_SYMBOL_FASTPATH_PASS
-#endif
-
-#ifdef _COREGL_EXT_SYMBOL_FASTPATH_BLOCK_NOT_DEFINED
-#undef _COREGL_EXT_SYMBOL_FASTPATH_BLOCK_NOT_DEFINED
-#undef _COREGL_EXT_SYMBOL_FASTPATH_BLOCK
-#endif
-
index 4a1759c..0926242 100644 (file)
@@ -72,7 +72,7 @@ finish:
 static void
 _sym_missing()
 {
-       COREGL_ERR("GL symbol missing!\n");
+       COREGL_ERR("GL symbol missing! Check client version!\n");
 }
 
 static int
@@ -84,14 +84,12 @@ _glue_sym_init(void)
    if (!dst) dst = (__typeof__(dst))dlsym(libhandle, sym);
 
 #define FALLBAK(dst) \
-   if (!dst) { dst = (__typeof__(dst))_sym_missing; COREGL_WRN("symbol '"#dst"' missing!\n"); }
+   if (!dst) { dst = (__typeof__(dst))_sym_missing; }
 
 #define _COREGL_SYMBOL(IS_EXTENSION, RET_TYPE, FUNC_NAME, PARAM_LIST) \
     FINDSYM(egl_lib_handle, _sym_eglGetProcAddress, _sym_##FUNC_NAME, #FUNC_NAME); \
     if (IS_EXTENSION == GL_TRUE) { \
        FINDSYM(egl_lib_handle, _sym_eglGetProcAddress, _sym_##FUNC_NAME, #FUNC_NAME"EXT"); \
-       FINDSYM(egl_lib_handle, _sym_eglGetProcAddress, _sym_##FUNC_NAME, #FUNC_NAME"ARB"); \
-       FINDSYM(egl_lib_handle, _sym_eglGetProcAddress, _sym_##FUNC_NAME, #FUNC_NAME"OES"); \
        FINDSYM(egl_lib_handle, _sym_eglGetProcAddress, _sym_##FUNC_NAME, #FUNC_NAME"KHR"); \
     } else { FALLBAK(_sym_##FUNC_NAME); }
 #include "headers/sym_egl.h"
@@ -111,15 +109,13 @@ _gl_sym_init(void)
    if ((!dst) && (getproc)) dst = (__typeof__(dst))getproc(sym); \
    if (!dst) dst = (__typeof__(dst))dlsym(gl_lib_handle, sym);
 #define FALLBAK(dst) \
-   if (!dst) { dst = (__typeof__(dst))_sym_missing; COREGL_WRN("symbol '"#dst"' missing!\n"); }
+   if (!dst) { dst = (__typeof__(dst))_sym_missing; }
 
 #define _COREGL_SYMBOL(IS_EXTENSION, RET_TYPE, FUNC_NAME, PARAM_LIST) \
     FINDSYM(gl_lib_handle, _sym_eglGetProcAddress, _sym_##FUNC_NAME, #FUNC_NAME); \
     if (IS_EXTENSION == GL_TRUE) { \
        FINDSYM(gl_lib_handle, _sym_eglGetProcAddress, _sym_##FUNC_NAME, #FUNC_NAME"EXT"); \
-       FINDSYM(gl_lib_handle, _sym_eglGetProcAddress, _sym_##FUNC_NAME, #FUNC_NAME"ARB"); \
        FINDSYM(gl_lib_handle, _sym_eglGetProcAddress, _sym_##FUNC_NAME, #FUNC_NAME"OES"); \
-       FINDSYM(gl_lib_handle, _sym_eglGetProcAddress, _sym_##FUNC_NAME, #FUNC_NAME"KHR"); \
      } else { FALLBAK(_sym_##FUNC_NAME); }
 #include "headers/sym_gl.h"
 #undef _COREGL_SYMBOL
index c8d375f..524636d 100644 (file)
@@ -66,28 +66,21 @@ _COREGL_SYMBOL(GL_FALSE, _eng_fn, eglGetProcAddress, (const char* procname))
 
 // Extensions
 _COREGL_EXT_SYMBOL(GL_TRUE, EGLImageKHR, eglCreateImageKHR, (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list))
-_COREGL_EXT_SYMBOL_ALIAS(eglCreateImageKHR, eglCreateImage)
 _COREGL_EXT_SYMBOL(GL_TRUE, EGLBoolean, eglDestroyImageKHR, (EGLDisplay dpy, EGLImageKHR image))
-_COREGL_EXT_SYMBOL_ALIAS(eglDestroyImageKHR, eglDestroyImage)
 
 _COREGL_EXT_SYMBOL(GL_TRUE, void*, eglMapImageSEC, (EGLDisplay dpy, EGLImageKHR image, EGLint device_type, EGLint access_option))
-_COREGL_EXT_SYMBOL_ALIAS(eglMapImageSEC, eglMapImage)
 _COREGL_EXT_SYMBOL(GL_TRUE, EGLBoolean, eglUnmapImageSEC, (EGLDisplay dpy, EGLImageKHR image, EGLint device_type))
-_COREGL_EXT_SYMBOL_ALIAS(eglUnmapImageSEC, eglUnmapImage)
 _COREGL_EXT_SYMBOL(GL_TRUE, EGLBoolean, eglGetImageAttribSEC, (EGLDisplay dpy, EGLImageKHR image, EGLint attribute, EGLint *value))
-_COREGL_EXT_SYMBOL_ALIAS(eglGetImageAttribSEC, eglGetImageAttrib)
 
 _COREGL_EXT_SYMBOL(GL_TRUE, EGLBoolean, eglLockSurfaceKHR, (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list))
-_COREGL_EXT_SYMBOL_ALIAS(eglLockSurfaceKHR, eglLockSurface)
 _COREGL_EXT_SYMBOL(GL_TRUE, EGLBoolean, eglUnlockSurfaceKHR, (EGLDisplay display, EGLSurface surface))
-_COREGL_EXT_SYMBOL_ALIAS(eglUnlockSurfaceKHR, eglUnlockSurface)
 
-// Verified extensions
+/* Fastpath Verified extensions */
 _COREGL_EXT_SYMBOL_FASTPATH_PASS(eglSwapBuffersRegionEXT)
 _COREGL_EXT_SYMBOL_FASTPATH_PASS(eglSwapBuffersRegionSEC)
 _COREGL_EXT_SYMBOL_FASTPATH_PASS(eglSwapBuffersWithDamageEXT)
 
-// Blocked extensions
+/* Fastpath Blocked extensions */
 //_COREGL_EXT_SYMBOL_FASTPATH_BLOCK()
 
 #ifdef _COREGL_EXT_SYMBOL_NOT_DEFINED
index 4fa7611..8021bd1 100644 (file)
@@ -280,104 +280,61 @@ _COREGL_SYMBOL(GL_FALSE, void, glGetInternalformativ, (GLenum target, GLenum int
 
 // OES_EGL_image
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glEGLImageTargetTexture2DOES, (GLenum target, GLeglImageOES image))
-_COREGL_EXT_SYMBOL_ALIAS(glEGLImageTargetTexture2DOES, glEGLImageTargetTexture2D)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glEGLImageTargetRenderbufferStorageOES, (GLenum target, GLeglImageOES image))
-_COREGL_EXT_SYMBOL_ALIAS(glEGLImageTargetRenderbufferStorageOES, glEGLImageTargetRenderbufferStorage)
 
 // OES_get_program_binary
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glGetProgramBinaryOES, (GLuint program, GLsizei bufsize, GLsizei *length, GLenum *binaryFormat, void *binary))
-_COREGL_EXT_SYMBOL_ALIAS(glGetProgramBinaryOES, glGetProgramBinary)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramBinaryOES, (GLuint program, GLenum binaryFormat, const void *binary, GLint length))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramBinaryOES, glProgramBinary)
 
 // EXT_separate_shader_objects
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glUseProgramStagesEXT, (GLuint pipeline, GLbitfield stages, GLuint program))
-_COREGL_EXT_SYMBOL_ALIAS(glUseProgramStagesEXT, glUseProgramStages)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glActiveShaderProgramEXT, (GLuint pipeline, GLuint program))
-_COREGL_EXT_SYMBOL_ALIAS(glActiveShaderProgramEXT, glActiveShaderProgram)
 _COREGL_EXT_SYMBOL(GL_TRUE, GLuint, glCreateShaderProgramvEXT, (GLenum type, GLsizei count, const char **strings))
-_COREGL_EXT_SYMBOL_ALIAS(glCreateShaderProgramvEXT, glCreateShaderProgramv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glBindProgramPipelineEXT, (GLuint pipeline))
-_COREGL_EXT_SYMBOL_ALIAS(glBindProgramPipelineEXT, glBindProgramPipeline)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glDeleteProgramPipelinesEXT, (GLsizei n, const GLuint *pipelines))
-_COREGL_EXT_SYMBOL_ALIAS(glDeleteProgramPipelinesEXT, glDeleteProgramPipelines)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glGenProgramPipelinesEXT, (GLsizei n, GLuint *pipelines))
-_COREGL_EXT_SYMBOL_ALIAS(glGenProgramPipelinesEXT, glGenProgramPipelines)
 _COREGL_EXT_SYMBOL(GL_TRUE, GLboolean, glIsProgramPipelineEXT, (GLuint pipeline))
-_COREGL_EXT_SYMBOL_ALIAS(glIsProgramPipelineEXT, glIsProgramPipeline)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramParameteriEXT, (GLuint program, GLenum pname, GLint value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramParameteriEXT, glProgramParameteri)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glGetProgramPipelineivEXT, (GLuint pipeline, GLenum pname, GLint *params))
-_COREGL_EXT_SYMBOL_ALIAS(glGetProgramPipelineivEXT, glGetProgramPipelineiv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform1iEXT, (GLuint program, GLint location, GLint x))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform1iEXT, glProgramUniform1i)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform2iEXT, (GLuint program, GLint location, GLint x, GLint y))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform2iEXT, glProgramUniform2i)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform3iEXT, (GLuint program, GLint location, GLint x, GLint y, GLint z))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform3iEXT, glProgramUniform3i)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform4iEXT, (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform4iEXT, glProgramUniform4i)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform1fEXT, (GLuint program, GLint location, GLfloat x))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform1fEXT, glProgramUniform1f)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform2fEXT, (GLuint program, GLint location, GLfloat x, GLfloat y))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform2fEXT, glProgramUniform2f)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform3fEXT, (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform3fEXT, glProgramUniform3f)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform4fEXT, (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform4fEXT, glProgramUniform4f)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform1ivEXT, (GLuint program, GLint location, GLsizei count, const GLint *value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform1ivEXT, glProgramUniform1iv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform2ivEXT, (GLuint program, GLint location, GLsizei count, const GLint *value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform2ivEXT, glProgramUniform2iv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform3ivEXT, (GLuint program, GLint location, GLsizei count, const GLint *value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform3ivEXT, glProgramUniform3iv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform4ivEXT, (GLuint program, GLint location, GLsizei count, const GLint *value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform4ivEXT, glProgramUniform4iv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform1fvEXT, (GLuint program, GLint location, GLsizei count, const GLfloat *value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform1fvEXT, glProgramUniform1fv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform2fvEXT, (GLuint program, GLint location, GLsizei count, const GLfloat *value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform2fvEXT, glProgramUniform2fv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform3fvEXT, (GLuint program, GLint location, GLsizei count, const GLfloat *value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform3fvEXT, glProgramUniform3fv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniform4fvEXT, (GLuint program, GLint location, GLsizei count, const GLfloat *value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniform4fvEXT, glProgramUniform4fv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniformMatrix2fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniformMatrix2fvEXT, glProgramUniformMatrix2fv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniformMatrix3fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniformMatrix3fvEXT, glProgramUniformMatrix3fv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glProgramUniformMatrix4fvEXT, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value))
-_COREGL_EXT_SYMBOL_ALIAS(glProgramUniformMatrix4fvEXT, glProgramUniformMatrix4fv)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glValidateProgramPipelineEXT, (GLuint pipeline))
-_COREGL_EXT_SYMBOL_ALIAS(glValidateProgramPipelineEXT, glValidateProgramPipeline)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glGetProgramPipelineInfoLogEXT, (GLuint pipeline, GLsizei bufSize, GLsizei *length, char *infoLog))
-_COREGL_EXT_SYMBOL_ALIAS(glGetProgramPipelineInfoLogEXT, glGetProgramPipelineInfoLog)
 
 // EXT_multisampled_render_to_texture
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glRenderbufferStorageMultisampleEXT, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height))
-_COREGL_EXT_SYMBOL_ALIAS(glRenderbufferStorageMultisampleEXT, glRenderbufferStorageMultisample)
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glFramebufferTexture2DMultisampleEXT, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples))
-_COREGL_EXT_SYMBOL_ALIAS(glFramebufferTexture2DMultisampleEXT, glFramebufferTexture2DMultisample)
 
 // EXT_discard_framebuffer
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glDiscardFramebufferEXT, (GLenum target, GLsizei numAttachments, const GLenum *attachments))
-_COREGL_EXT_SYMBOL_ALIAS(glDiscardFramebufferEXT, glDiscardFramebuffer)
 
 // OES_texture_3d
-_COREGL_EXT_SYMBOL(GL_TRUE, void, glTexImage3DOES, (GLenum target, GLint level, GLenum GLinternalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
-_COREGL_EXT_SYMBOL_ALIAS(glTexImage3DOES, glTexImage3D)
-_COREGL_EXT_SYMBOL(GL_TRUE, void, glTexSubImage3DOES, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels))
-_COREGL_EXT_SYMBOL_ALIAS(glTexSubImage3DOES, glTexSubImage3D)
-_COREGL_EXT_SYMBOL(GL_TRUE, void, glCopyTexSubImage3DOES, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height))
-_COREGL_EXT_SYMBOL_ALIAS(glCopyTexSubImage3DOES, glCopyTexSubImage3D)
-_COREGL_EXT_SYMBOL(GL_TRUE, void, glCompressedTexImage3DOES, (GLenum target, GLint level, GLenum GLinternalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data))
-_COREGL_EXT_SYMBOL_ALIAS(glCompressedTexImage3DOES, glCompressedTexImage3D)
-_COREGL_EXT_SYMBOL(GL_TRUE, void, glCompressedTexSubImage3DOES, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data))
-_COREGL_EXT_SYMBOL_ALIAS(glCompressedTexSubImage3DOES, glCompressedTexSubImage3D)
+_COREGL_EXT_SYMBOL_ALIAS(glTexImage3DOES, glTexImage3D) // Replaced to ES 3.0 API
+_COREGL_EXT_SYMBOL_ALIAS(glTexSubImage3DOES, glTexSubImage3D) // Replaced to ES 3.0 API
+_COREGL_EXT_SYMBOL_ALIAS(glCopyTexSubImage3DOES, glCopyTexSubImage3D) // Replaced to ES 3.0 API
+_COREGL_EXT_SYMBOL_ALIAS(glCompressedTexImage3DOES, glCompressedTexImage3D) // Replaced to ES 3.0 API
+_COREGL_EXT_SYMBOL_ALIAS(glCompressedTexSubImage3DOES, glCompressedTexSubImage3D) // Replaced to ES 3.0 API
 _COREGL_EXT_SYMBOL(GL_TRUE, void, glFramebufferTexture3DOES, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset))
-_COREGL_EXT_SYMBOL_ALIAS(glFramebufferTexture3DOES, glFramebufferTexture3D)
 
 
-/* Verified extensions */
+/* Fastpath Verified extensions */
 
 // AMD_performance_monitor
 _COREGL_EXT_SYMBOL_FASTPATH_PASS(glGetPerfMonitorGroupsAMD)
@@ -411,7 +368,8 @@ _COREGL_EXT_SYMBOL_FASTPATH_PASS(glDisableDriverControlQCOM)
 _COREGL_EXT_SYMBOL_FASTPATH_PASS(glStartTilingQCOM)
 _COREGL_EXT_SYMBOL_FASTPATH_PASS(glEndTilingQCOM)
 
-/* Blocked extensions */
+
+/* Fastpath Blocked extensions */
 _COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glMapBufferRange)
 _COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glUnmapBuffer)
 _COREGL_EXT_SYMBOL_FASTPATH_BLOCK(glGetBufferPointerv)
index c1998ad..8408c16 100644 (file)
@@ -1326,11 +1326,11 @@ fastpath_eglGetProcAddress(const char* procname)
                goto finish; \
        }
 
-#define _COREGL_EXT_SYMBOL_ALIAS(FUNC_NAME, ALIAS_NAME) \
+#define _COREGL_EXT_SYMBOL_ALIAS(ALIAS_NAME, FUNC_NAME) \
        if (strcmp(procname, #ALIAS_NAME) == 0) \
        { \
                _eng_fn ret_orig = NULL; \
-               ret_orig = _orig_fastpath_eglGetProcAddress(#FUNC_NAME); \
+               ret_orig = _orig_fastpath_eglGetProcAddress(#ALIAS_NAME); \
                if (ret_orig != NULL) \
                        ret = (_eng_fn)ovr_##FUNC_NAME; \
                goto finish; \
index c3c29df..d6feb1d 100644 (file)
@@ -254,6 +254,60 @@ finish:
        return ret;
 }
 
+const GLubyte *
+fastpath_glGetString(GLenum name)
+{
+       const GLubyte *ret = NULL;
+       static const GLubyte *string_gles20 = "OpenGL ES 2.0";
+       static GLubyte string_extensions[2048] = { 0 };
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       switch (name)
+       {
+               case GL_VERSION:
+                       IF_GL_SUCCESS(ret = _orig_fastpath_glGetString(name))
+                       {
+                               if (!strcmp(ret, "OpenGL ES 2.0"))
+                               {
+                                       COREGL_WRN("\E[40;31;1mFastpath can't support %s (Fixed to %s)\E[0m\n", ret, string_gles20);
+                                       ret = string_gles20;
+                               }
+                       }
+                       break;
+               case GL_EXTENSIONS:
+                       IF_GL_SUCCESS(ret = _orig_fastpath_glGetString(name))
+                       {
+                               if (string_extensions[0] == NULL)
+                               {
+                                       char tmp[64] = { 0 }, *tmpp = NULL;
+                                       strncpy(tmp, get_env_setting("COREGL_TRACE_SURFACE_FILTER_PERIOD"), 64);
+                                       for (tmpp = &tmp[0]; ; tmpp++)
+                                       {
+                                               if (*tmpp == 0x00) break;
+                                               if (*tmpp == '~')
+                                               {
+                                                       *tmpp = 0x00;
+                                                       trace_surface_filter_period_begin = atoi(tmp);
+                                                       trace_surface_filter_period_end = atoi(tmpp + 1);
+                                                       break;
+                                               }
+                                       }
+                               }
+                               ret = string_extensions;
+                       }
+                       break;
+       }
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+       return ret;
+}
+
 ////////////////////////////////////////////////////////////////////////
 
 void
@@ -300,11 +354,12 @@ fastpath_glGenTextures(GLsizei n, GLuint* textures)
 
        objid_array = (GLuint *)calloc(1, sizeof(GLuint) * n);
 
-       _orig_fastpath_glGenTextures(n, objid_array);
-
-       for (i = 0; i < n; i++)
+       IF_GL_SUCCESS(_orig_fastpath_glGenTextures(n, objid_array))
        {
-               textures[i] = fastpath_sostate_create_object(current_ctx->sostate, GL_OBJECT_TYPE_TEXTURE, objid_array[i]);
+               for (i = 0; i < n; i++)
+               {
+                       textures[i] = fastpath_sostate_create_object(current_ctx->sostate, GL_OBJECT_TYPE_TEXTURE, objid_array[i]);
+               }
        }
 
        goto finish;
index 1bc186c..7e5836e 100644 (file)
@@ -862,11 +862,11 @@ tracepath_eglGetProcAddress(const char* procname)
                goto finish; \
        }
 
-#define _COREGL_EXT_SYMBOL_ALIAS(FUNC_NAME, ALIAS_NAME) \
+#define _COREGL_EXT_SYMBOL_ALIAS(ALIAS_NAME, FUNC_NAME) \
    if (strcmp(procname, #ALIAS_NAME) == 0) \
    { \
                _eng_fn ret_orig = NULL; \
-               ret_orig = _orig_tracepath_eglGetProcAddress(#FUNC_NAME); \
+               ret_orig = _orig_tracepath_eglGetProcAddress(#ALIAS_NAME); \
                if (ret_orig != NULL) \
                        ret = (_eng_fn)ovr_##FUNC_NAME; \
                goto finish; \