Add support for GLES 3.2 43/78843/2
authorZhaowei Yuan <zhaowei.yuan@samsung.com>
Wed, 6 Jul 2016 17:53:17 +0000 (01:53 +0800)
committerZhaowei Yuan <zhaowei.yuan@samsung.com>
Wed, 13 Jul 2016 19:01:53 +0000 (03:01 +0800)
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
Change-Id: I3f7b9a3d5f19408c537945b6c7a7fd0cb9a1b7ef

src/coregl.c
src/coregl_export_gl.c
src/coregl_internal.h
src/headers/gl.h
src/headers/sym_gl2.h
src/modules/fastpath/coregl_fastpath.c
src/modules/fastpath/coregl_fastpath_gl.c
src/modules/tracepath/coregl_tracepath_gl.c
src/wraps/coregl_gl2.c

index b0f486b..e94d1c9 100644 (file)
@@ -212,8 +212,11 @@ _gl_lib_init(void)
                                return 0;
                        }
 
-                       // test for a GLES 3.0 symbol
-                       if (dlsym(gl_lib_handle, "glBindProgramPipeline")) {
+                       // test for a GLES 3.x symbol
+                       if (dlsym(gl_lib_handle, "glBlendBarrier")) {
+                               COREGL_LOG("[CoreGL] Driver GL version 3.2 \n");
+                               driver_gl_version = COREGL_GLAPI_32;
+                       }else if (dlsym(gl_lib_handle, "glBindProgramPipeline")) {
                                COREGL_LOG("[CoreGL] Driver GL version 3.1 \n");
                                driver_gl_version = COREGL_GLAPI_31;
                        } else if (dlsym(gl_lib_handle, "glReadBuffer")) {
index 0deda45..92c19f3 100644 (file)
@@ -2589,5 +2589,274 @@ coregl_api_glGetPointerv(GLenum pname, GLvoid **params)
        ovr_glGetPointerv(pname, params);
 }
 
+/* GLES3.2 API */
+void
+coregl_api_glBlendBarrier(void)
+{
+       ovr_glBlendBarrier();
+}
+
+void
+coregl_api_glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY,
+GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ,
+GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)
+{
+       ovr_glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel,
+dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
+}
+
+void
+coregl_api_glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count,
+const GLuint *ids, GLboolean enabled)
+{
+       ovr_glDebugMessageControl (source, type, severity, count, ids, enabled);
+}
 
+void
+coregl_api_glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length,
+const GLchar *buf)
+{
+       ovr_glDebugMessageInsert(source, type, id, severity, length, buf);
+}
+
+void
+coregl_api_glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam)
+{
+       ovr_glDebugMessageCallback(callback, userParam);
+}
+
+GLuint
+coregl_api_glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types,
+GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
+{
+       return ovr_glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog);
+}
 
+void
+coregl_api_glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message)
+{
+       ovr_glPushDebugGroup(source, id, length, message);
+}
+
+void
+coregl_api_glPopDebugGroup(void)
+{
+       ovr_glPopDebugGroup();
+}
+
+void
+coregl_api_glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
+{
+       ovr_glObjectLabel(identifier, name, length, label);
+}
+
+void
+coregl_api_glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)
+{
+       ovr_glGetObjectLabel(identifier, name, bufSize, length, label);
+}
+
+void
+coregl_api_glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label)
+{
+       ovr_glObjectPtrLabel(ptr, length, label);
+}
+
+void
+coregl_api_glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label)
+{
+       ovr_glGetObjectPtrLabel(ptr, bufSize, length, label);
+}
+
+void
+coregl_api_glEnablei(GLenum target, GLuint index)
+{
+       ovr_glEnablei(target, index);
+}
+
+void
+coregl_api_glDisablei(GLenum target, GLuint index)
+{
+       ovr_glDisablei(target, index);
+}
+
+void
+coregl_api_glBlendEquationi(GLuint buf, GLenum mode)
+{
+       ovr_glBlendEquationi(buf, mode);
+}
+
+void
+coregl_api_glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
+{
+       ovr_glBlendEquationSeparatei(buf, modeRGB, modeAlpha);
+}
+
+void
+coregl_api_glBlendFunci(GLuint buf, GLenum src, GLenum dst)
+{
+       ovr_glBlendFunci(buf, src, dst);
+}
+
+void
+coregl_api_glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
+{
+       ovr_glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
+}
+
+void
+coregl_api_glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
+{
+       ovr_glColorMaski(index, r, g, b, a);
+}
+
+GLboolean
+coregl_api_glIsEnabledi(GLenum target, GLuint index)
+{
+       return ovr_glIsEnabledi(target, index);
+}
+
+void
+coregl_api_glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices,
+GLint basevertex)
+{
+       ovr_glDrawElementsBaseVertex(mode, count, type, indices, basevertex);
+}
+
+void
+coregl_api_glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count,
+GLenum type, const void *indices, GLint basevertex)
+{
+       ovr_glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
+}
+
+void
+coregl_api_glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type,
+const void *indices, GLsizei instancecount, GLint basevertex)
+{
+       ovr_glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
+}
+
+void
+coregl_api_glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
+{
+       ovr_glFramebufferTexture(target, attachment, texture, level);
+}
+
+void
+coregl_api_glPrimitiveBoundingBox(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW,
+GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW)
+{
+       ovr_glPrimitiveBoundingBox(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
+}
+
+GLenum
+coregl_api_glGetGraphicsResetStatus(void)
+{
+       return ovr_glGetGraphicsResetStatus();
+}
+
+void
+coregl_api_glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type,
+GLsizei bufSize, void *data)
+{
+       ovr_glReadnPixels(x, y, width, height, format, type, bufSize, data);
+}
+
+void
+coregl_api_glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params)
+{
+       ovr_glGetnUniformfv(program, location, bufSize, params);
+}
+
+void
+coregl_api_glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint *params)
+{
+       ovr_glGetnUniformiv(program, location, bufSize, params);
+}
+
+void
+coregl_api_glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint *params)
+{
+       ovr_glGetnUniformuiv(program, location, bufSize, params);
+}
+
+void
+coregl_api_glMinSampleShading(GLfloat value)
+{
+       ovr_glMinSampleShading(value);
+}
+
+void
+coregl_api_glPatchParameteri(GLenum pname, GLint value)
+{
+       ovr_glPatchParameteri(pname, value);
+}
+
+void
+coregl_api_glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
+{
+       ovr_glTexParameterIiv(target, pname, params);
+}
+
+void
+coregl_api_glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
+{
+       ovr_glTexParameterIuiv(target, pname, params);
+}
+
+void
+coregl_api_glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
+{
+       ovr_glGetTexParameterIiv(target, pname, params);
+}
+
+void
+coregl_api_glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
+{
+       ovr_glGetTexParameterIuiv(target, pname, params);
+}
+
+void
+coregl_api_glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param)
+{
+       ovr_glSamplerParameterIiv(sampler, pname, param);
+}
+
+void
+coregl_api_glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param)
+{
+       ovr_glSamplerParameterIuiv(sampler, pname, param);
+}
+
+void
+coregl_api_glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
+{
+       ovr_glGetSamplerParameterIiv(sampler, pname, params);
+}
+
+void
+coregl_api_glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
+{
+       ovr_glGetSamplerParameterIuiv(sampler, pname, params);
+}
+
+void
+coregl_api_glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
+{
+       ovr_glTexBuffer(target, internalformat, buffer);
+}
+
+void
+coregl_api_glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset,
+GLsizeiptr size)
+{
+       ovr_glTexBufferRange(target, internalformat, buffer, offset, size);
+}
+
+void
+coregl_api_glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat,
+GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
+{
+       ovr_glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
+}
index c1a8965..b1cfc51 100644 (file)
@@ -75,6 +75,7 @@ static inline GLuint GET_UINT_FROM_FLOAT(GLfloat value)
 typedef GLvoid      *GLvoidptr;
 typedef GLuint       GLuintmask;
 
+#define COREGL_GLAPI_32        5
 #define COREGL_GLAPI_31        4
 #define COREGL_GLAPI_3 3
 #define COREGL_GLAPI_2 2
index a56ac06..59bdef7 100644 (file)
@@ -778,6 +778,9 @@ typedef struct __GLsync *GLsync;
 #define GL_PROGRAM_PIPELINE_BINDING       0x825A
 #define GL_MAX_COMPUTE_WORK_GROUP_COUNT   0x91BE
 
+/* GLES 3.2 */
+typedef void (GL_APIENTRY  *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity,
+GLsizei length, const GLchar *message, const void *userParam);
 
 //---------------------------//
 // GLES extension defines
index 371f2b4..d43f8a6 100644 (file)
@@ -219,20 +219,7 @@ _COREGL_EXT_SYMBOL(void, glFrustumfOES, (GLfloat left, GLfloat right,
 _COREGL_EXT_SYMBOL(void, glGenerateMipmapOES, (GLenum target))
 _COREGL_EXT_SYMBOL(void, glGetClipPlanefOES, (GLenum pname, GLfloat eqn[4]))
 _COREGL_EXT_SYMBOL(void, glGetClipPlanexOES, (GLenum pname, GLfixed eqn[4]))
-_COREGL_EXT_SYMBOL(GLuint, glGetDebugMessageLog, (GLuint count, GLsizei bufsize,
-                  GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities,
-                  GLsizei *lengths, GLchar *messageLog))
-_COREGL_EXT_SYMBOL(void, glGetObjectLabel, (GLenum identifier, GLuint name,
-                  GLsizei bufSize, GLsizei *length, GLchar *label))
-_COREGL_EXT_SYMBOL(void, glGetObjectPtrLabel, (void const *ptr, GLsizei bufSize,
-                  GLsizei *length, GLchar *label))
 _COREGL_EXT_SYMBOL(void, glGetPointervKHR, (GLenum pname, GLvoid **params))
-_COREGL_EXT_SYMBOL(void, glDebugMessageCallback, (GLDEBUGPROCKHR callback,
-                  void const *userParam))
-_COREGL_EXT_SYMBOL(void, glDebugMessageControl, (GLenum source, GLenum type,
-                  GLenum severity, GLsizei count, GLuint const *ids, GLboolean enabled))
-_COREGL_EXT_SYMBOL(void, glDebugMessageInsert, (GLenum source, GLenum type,
-                  GLuint id, GLenum severity, GLsizei length, GLchar const *buf))
 _COREGL_EXT_SYMBOL(void, glDebugMessageCallbackKHR, (GLDEBUGPROCKHR callback,
                   void const *userParam))
 _COREGL_EXT_SYMBOL(void, glDebugMessageControlKHR, (GLenum source, GLenum type,
@@ -283,10 +270,6 @@ _COREGL_EXT_SYMBOL(void, glMultiTexCoord4bOES, (GLenum target, GLbyte s,
 _COREGL_EXT_SYMBOL(void, glMultiTexCoord4xOES, (GLenum target, GLfixed s,
                   GLfixed t, GLfixed r, GLfixed q))
 _COREGL_EXT_SYMBOL(void, glNormal3xOES, (GLfixed nx, GLfixed ny, GLfixed nz))
-_COREGL_EXT_SYMBOL(void, glObjectLabel, (GLenum identifier, GLuint name,
-                  GLsizei length, const GLchar *label))
-_COREGL_EXT_SYMBOL(void, glObjectPtrLabel, (const void *ptr, GLsizei length,
-                  const GLchar *label))
 _COREGL_EXT_SYMBOL(void, glOrthofOES, (GLfloat left, GLfloat right,
                                       GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar))
 _COREGL_EXT_SYMBOL(void, glOrthoxOES, (GLfixed left, GLfixed right,
@@ -296,9 +279,6 @@ _COREGL_EXT_SYMBOL(void, glPointParameterxvOES, (GLenum pname,
                   const GLfixed *params))
 _COREGL_EXT_SYMBOL(void, glPointSizexOES, (GLfixed size))
 _COREGL_EXT_SYMBOL(void, glPolygonOffsetxOES, (GLfixed factor, GLfixed units))
-_COREGL_EXT_SYMBOL(void, glPopDebugGroup, (void))
-_COREGL_EXT_SYMBOL(void, glPushDebugGroup, (GLenum source, GLuint id,
-                  GLsizei length, const GLchar *message))
 _COREGL_EXT_SYMBOL(void, glQueryCounterEXT, (GLuint id, GLenum target))
 _COREGL_EXT_SYMBOL(void, glRenderbufferStorageOES, (GLenum target,
                   GLenum internalformat, GLsizei width, GLsizei height))
@@ -646,7 +626,76 @@ _COREGL_SYMBOL(void, glVertexAttribBinding, (GLuint attribindex,
 _COREGL_SYMBOL(void, glVertexBindingDivisor, (GLuint bindingindex,
                GLuint divisor))
 _COREGL_END_API(COREGL_GLAPI_31)
-/* Extensions */
+
+/* OpenGL ES 3.2 */
+_COREGL_START_API(COREGL_GLAPI_32)
+_COREGL_SYMBOL(void, glBlendBarrier, (void))
+_COREGL_SYMBOL(void, glCopyImageSubData, (GLuint srcName, GLenum srcTarget,
+               GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName,
+               GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ,
+               GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth))
+_COREGL_SYMBOL(void, glDebugMessageControl, (GLenum source, GLenum type,
+               GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled))
+_COREGL_SYMBOL(void, glDebugMessageInsert, (GLenum source, GLenum type,
+               GLuint id, GLenum severity, GLsizei length, const GLchar *buf))
+_COREGL_SYMBOL(void, glDebugMessageCallback, (GLDEBUGPROC callback, const void *userParam))
+_COREGL_SYMBOL(GLuint, glGetDebugMessageLog, (GLuint count, GLsizei bufSize,
+               GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities,
+               GLsizei *lengths, GLchar *messageLog))
+_COREGL_SYMBOL(void, glPushDebugGroup, (GLenum source, GLuint id, GLsizei length,
+               const GLchar *message))
+_COREGL_SYMBOL(void, glPopDebugGroup, (void))
+_COREGL_SYMBOL(void, glObjectLabel, (GLenum identifier, GLuint name,
+               GLsizei length, const GLchar *label))
+_COREGL_SYMBOL(void, glGetObjectLabel, (GLenum identifier, GLuint name,
+               GLsizei bufSize, GLsizei *length, GLchar *label))
+_COREGL_SYMBOL(void, glObjectPtrLabel, (const void *ptr, GLsizei length,
+               const GLchar *label))
+_COREGL_SYMBOL(void, glGetObjectPtrLabel, (const void *ptr, GLsizei bufSize,
+               GLsizei *length, GLchar *label))
+_COREGL_SYMBOL(void, glEnablei, (GLenum target, GLuint index))
+_COREGL_SYMBOL(void, glDisablei, (GLenum target, GLuint index))
+_COREGL_SYMBOL(void, glBlendEquationi, (GLuint buf, GLenum mode))
+_COREGL_SYMBOL(void, glBlendEquationSeparatei, (GLuint buf, GLenum modeRGB,
+               GLenum modeAlpha))
+_COREGL_SYMBOL(void, glBlendFunci, (GLuint buf, GLenum src, GLenum dst))
+_COREGL_SYMBOL(void, glBlendFuncSeparatei, (GLuint buf, GLenum srcRGB, GLenum dstRGB,
+               GLenum srcAlpha, GLenum dstAlpha))
+_COREGL_SYMBOL(void, glColorMaski, (GLuint index, GLboolean r, GLboolean g, GLboolean b,
+               GLboolean a))
+_COREGL_SYMBOL(GLboolean, glIsEnabledi, (GLenum target, GLuint index))
+_COREGL_SYMBOL(void, glDrawElementsBaseVertex, (GLenum mode, GLsizei count, GLenum type,
+               const void *indices, GLint basevertex))
+_COREGL_SYMBOL(void, glDrawRangeElementsBaseVertex, (GLenum mode, GLuint start, GLuint end,
+               GLsizei count, GLenum type, const void *indices, GLint basevertex))
+_COREGL_SYMBOL(void, glDrawElementsInstancedBaseVertex, (GLenum mode, GLsizei count, GLenum type,
+               const void *indices, GLsizei instancecount, GLint basevertex))
+_COREGL_SYMBOL(void, glFramebufferTexture, (GLenum target, GLenum attachment, GLuint texture,
+               GLint level))
+_COREGL_SYMBOL(void, glPrimitiveBoundingBox, (GLfloat minX, GLfloat minY, GLfloat minZ,
+               GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW))
+_COREGL_SYMBOL(GLenum, glGetGraphicsResetStatus, (void))
+_COREGL_SYMBOL(void, glReadnPixels, (GLint x, GLint y, GLsizei width, GLsizei height,
+               GLenum format, GLenum type, GLsizei bufSize, void *data))
+_COREGL_SYMBOL(void, glGetnUniformfv, (GLuint program, GLint location, GLsizei bufSize, GLfloat *params))
+_COREGL_SYMBOL(void, glGetnUniformiv, (GLuint program, GLint location, GLsizei bufSize, GLint *params))
+_COREGL_SYMBOL(void, glGetnUniformuiv, (GLuint program, GLint location, GLsizei bufSize, GLuint *params))
+_COREGL_SYMBOL(void, glMinSampleShading, (GLfloat value))
+_COREGL_SYMBOL(void, glPatchParameteri, (GLenum pname, GLint value))
+_COREGL_SYMBOL(void, glTexParameterIiv, (GLenum target, GLenum pname, const GLint *params))
+_COREGL_SYMBOL(void, glTexParameterIuiv, (GLenum target, GLenum pname, const GLuint *params))
+_COREGL_SYMBOL(void, glGetTexParameterIiv, (GLenum target, GLenum pname, GLint *params))
+_COREGL_SYMBOL(void, glGetTexParameterIuiv, (GLenum target, GLenum pname, GLuint *params))
+_COREGL_SYMBOL(void, glSamplerParameterIiv, (GLuint sampler, GLenum pname, const GLint *param))
+_COREGL_SYMBOL(void, glSamplerParameterIuiv, (GLuint sampler, GLenum pname, const GLuint *param))
+_COREGL_SYMBOL(void, glGetSamplerParameterIiv, (GLuint sampler, GLenum pname, GLint *params))
+_COREGL_SYMBOL(void, glGetSamplerParameterIuiv, (GLuint sampler, GLenum pname, GLuint *params))
+_COREGL_SYMBOL(void, glTexBuffer, (GLenum target, GLenum internalformat, GLuint buffer))
+_COREGL_SYMBOL(void, glTexBufferRange, (GLenum target, GLenum internalformat, GLuint buffer,
+               GLintptr offset, GLsizeiptr size))
+_COREGL_SYMBOL(void, glTexStorage3DMultisample, (GLenum target, GLsizei samples, GLenum internalformat,
+               GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations))
+_COREGL_END_API(COREGL_GLAPI_32)
 
 _COREGL_FASTPATH_SUPPORTED_EXTENSION("GL_OES_EGL_image", 1.1, -1)
 _COREGL_EXT_SYMBOL(void, glEGLImageTargetTexture2DOES, (GLenum target,
index 995102b..561185c 100644 (file)
@@ -585,6 +585,21 @@ fastpath_apply_overrides_gl(int enable)
                        COREGL_OVERRIDE(fastpath_, glVertexAttribBinding);
                        COREGL_OVERRIDE(fastpath_, glVertexBindingDivisor);
                }
+
+               if(driver_gl_version >= COREGL_GLAPI_32) {
+                       COREGL_OVERRIDE(fastpath_, glBlendEquationi);
+                       COREGL_OVERRIDE(fastpath_, glBlendEquationSeparatei);
+                       COREGL_OVERRIDE(fastpath_, glTexBuffer);
+                       COREGL_OVERRIDE(fastpath_, glTexBufferRange);
+                       COREGL_OVERRIDE(fastpath_, glFramebufferTexture);
+                       COREGL_OVERRIDE(fastpath_, glGetnUniformfv);
+                       COREGL_OVERRIDE(fastpath_, glGetnUniformiv);
+                       COREGL_OVERRIDE(fastpath_, glGetnUniformuiv);
+                       COREGL_OVERRIDE(fastpath_, glSamplerParameterIiv);
+                       COREGL_OVERRIDE(fastpath_, glSamplerParameterIuiv);
+                       COREGL_OVERRIDE(fastpath_, glGetSamplerParameterIiv);
+                       COREGL_OVERRIDE(fastpath_, glGetSamplerParameterIuiv);
+               }
        } else {
                COREGL_LOG("\E[40;35;1m[CoreGL] SKIP GL FASTPATH...\E[0m\n");
        }
index 8b91d3e..d2517e4 100644 (file)
@@ -8429,3 +8429,247 @@ fastpath_glClearDepthxOES(GLclampx depth)
 finish:
        _COREGL_FASTPATH_FUNC_END();
 }
+
+/* GLES3.2 API */
+void
+fastpath_glBlendEquationi(GLuint buf, GLenum mode)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buf, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+        _orig_fastpath_glBlendEquationi(real_obj, mode);
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buf, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+       _orig_fastpath_glBlendEquationSeparatei(real_obj, modeRGB, modeAlpha);
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buffer, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+       _orig_fastpath_glTexBuffer(target, internalformat, real_obj);
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_BUFFER, buffer, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+       _orig_fastpath_glTexBufferRange(target, internalformat, real_obj, offset, size);
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_PROGRAM, program, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+       _orig_fastpath_glGetnUniformfv(real_obj, location, bufSize, params);
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint *params)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_PROGRAM, program, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+       _orig_fastpath_glGetnUniformiv(real_obj, location, bufSize, params);
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint *params)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_PROGRAM, program, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+       _orig_fastpath_glGetnUniformuiv(real_obj, location, bufSize, params);
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+
+       _orig_fastpath_glSamplerParameterIiv(real_obj, pname, param);
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+       _orig_fastpath_glSamplerParameterIuiv(real_obj, pname, param);
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+       _orig_fastpath_glGetSamplerParameterIiv(real_obj, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_SAMPLER, sampler, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+       _orig_fastpath_glGetSamplerParameterIuiv(real_obj, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
+
+void
+fastpath_glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
+{
+       GLuint real_obj;
+
+       DEFINE_FASTPAH_GL_FUNC();
+       _COREGL_FASTPATH_FUNC_BEGIN();
+       INIT_FASTPATH_GL_FUNC();
+
+       if (GET_REAL_OBJ(GL_OBJECT_TYPE_TEXTURE, texture, &real_obj) != 1) {
+               _set_gl_error(GL_INVALID_VALUE);
+               goto finish;
+       }
+
+       _orig_fastpath_glFramebufferTexture(target, attachment, real_obj, level);
+
+       goto finish;
+
+finish:
+       _COREGL_FASTPATH_FUNC_END();
+}
index 271aee1..2d1b929 100644 (file)
@@ -6323,43 +6323,6 @@ finish:
        _COREGL_TRACEPATH_FUNC_END();
 }
 
-void tracepath_glDebugMessageCallback(GLDEBUGPROCKHR callback,
-                                     void const *userParam)
-{
-       _COREGL_TRACEPATH_FUNC_BEGIN();
-       _orig_tracepath_glDebugMessageCallback(callback, userParam);
-
-       goto finish;
-
-finish:
-       _COREGL_TRACEPATH_FUNC_END();
-}
-
-void tracepath_glDebugMessageInsert(GLenum source, GLenum type, GLuint id,
-                                   GLenum severity, GLsizei length, GLchar const *buf)
-{
-       _COREGL_TRACEPATH_FUNC_BEGIN();
-       _orig_tracepath_glDebugMessageInsert(source, type, id, severity, length, buf);
-
-       goto finish;
-
-finish:
-       _COREGL_TRACEPATH_FUNC_END();
-}
-
-void tracepath_glDebugMessageControl(GLenum source, GLenum type,
-                                    GLenum severity, GLsizei count, GLuint const *ids, GLboolean enabled)
-{
-       _COREGL_TRACEPATH_FUNC_BEGIN();
-       _orig_tracepath_glDebugMessageControl(source, type, severity, count, ids,
-                                             enabled);
-
-       goto finish;
-
-finish:
-       _COREGL_TRACEPATH_FUNC_END();
-}
-
 void tracepath_glFogxOES(GLenum pname, GLfixed param)
 {
        _COREGL_TRACEPATH_FUNC_BEGIN();
@@ -6439,21 +6402,6 @@ finish:
        _COREGL_TRACEPATH_FUNC_END();
 }
 
-GLuint tracepath_glGetDebugMessageLog(GLuint count, GLsizei bufsize,
-                                     GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities,
-                                     GLsizei *lengths, GLchar *messageLog)
-{
-       GLuint ret = GL_INVALID_INDEX;
-       _COREGL_TRACEPATH_FUNC_BEGIN();
-       ret =  _orig_tracepath_glGetDebugMessageLog(count, bufsize, sources, types, ids,
-                       severities, lengths, messageLog);
-       goto finish;
-
-finish:
-       _COREGL_TRACEPATH_FUNC_END();
-       return ret;
-}
-
 void tracepath_glGetFixedvOES(GLenum pname, GLfixed *params)
 {
        _COREGL_TRACEPATH_FUNC_BEGIN();
@@ -6487,30 +6435,6 @@ finish:
        _COREGL_TRACEPATH_FUNC_END();
 }
 
-void tracepath_glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize,
-                               GLsizei *length, GLchar *label)
-{
-       _COREGL_TRACEPATH_FUNC_BEGIN();
-       _orig_tracepath_glGetObjectLabel(identifier, name, bufSize, length, label);
-
-       goto finish;
-
-finish:
-       _COREGL_TRACEPATH_FUNC_END();
-}
-
-void tracepath_glGetObjectPtrLabel(void const *ptr, GLsizei bufSize,
-                                  GLsizei *length, GLchar *label)
-{
-       _COREGL_TRACEPATH_FUNC_BEGIN();
-       _orig_tracepath_glGetObjectPtrLabel(ptr, bufSize, length, label);
-
-       goto finish;
-
-finish:
-       _COREGL_TRACEPATH_FUNC_END();
-}
-
 void tracepath_glGetPointervKHR(GLenum pname, GLvoid **params)
 {
        _COREGL_TRACEPATH_FUNC_BEGIN();
@@ -6707,31 +6631,6 @@ finish:
 }
 
 void
-tracepath_glObjectLabel (GLenum identifier, GLuint name, GLsizei length,
-                        const GLchar *label)
-{
-       _COREGL_TRACEPATH_FUNC_BEGIN();
-       _orig_tracepath_glObjectLabel (identifier, name, length, label);
-       goto finish;
-
-finish:
-       _COREGL_TRACEPATH_FUNC_END();
-}
-
-void
-tracepath_glObjectPtrLabel (const void *ptr, GLsizei length,
-                           const GLchar *label)
-{
-       _COREGL_TRACEPATH_FUNC_BEGIN();
-       _orig_tracepath_glObjectPtrLabel (ptr, length, label);
-
-       goto finish;
-
-finish:
-       _COREGL_TRACEPATH_FUNC_END();
-}
-
-void
 tracepath_glOrthofOES (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top,
                       GLfloat zNear, GLfloat zFar)
 {
@@ -6806,31 +6705,6 @@ finish:
 }
 
 void
-tracepath_glPopDebugGroup (void)
-{
-       _COREGL_TRACEPATH_FUNC_BEGIN();
-       _orig_tracepath_glPopDebugGroup ();
-
-       goto finish;
-
-finish:
-       _COREGL_TRACEPATH_FUNC_END();
-}
-
-void
-tracepath_glPushDebugGroup (GLenum source, GLuint id, GLsizei length,
-                           const GLchar *message)
-{
-       _COREGL_TRACEPATH_FUNC_BEGIN();
-       _orig_tracepath_glPushDebugGroup (source, id, length, message);
-
-       goto finish;
-
-finish:
-       _COREGL_TRACEPATH_FUNC_END();
-}
-
-void
 tracepath_glQueryCounterEXT (GLuint id, GLenum target)
 {
        _COREGL_TRACEPATH_FUNC_BEGIN();
@@ -7187,3 +7061,482 @@ finish:
        _COREGL_TRACEPATH_FUNC_END();
 }
 
+/* GLES3.2 API*/
+void
+tracepath_glBlendBarrier(void)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glBlendBarrier();
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glDebugMessageControl (source, type, severity, count, ids, enabled);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glDebugMessageInsert(source, type, id, severity, length, buf);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glDebugMessageCallback(callback, userParam);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+GLuint
+tracepath_glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
+{
+       GLuint ret = _COREGL_INT_INIT_VALUE;
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       ret = _orig_tracepath_glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+       return ret;
+}
+
+void
+tracepath_glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glPushDebugGroup(source, id, length, message);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPopDebugGroup(void)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glPopDebugGroup();
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glObjectLabel(identifier, name, length, label);
+       goto finish;
+
+       finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetObjectLabel(identifier, name, bufSize, length, label);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glObjectPtrLabel(ptr, length, label);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetObjectPtrLabel(ptr, bufSize, length, label);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glEnablei(GLenum target, GLuint index)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glEnablei(target, index);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glDisablei(GLenum target, GLuint index)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glDisablei(target, index);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glBlendEquationi(GLuint buf, GLenum mode)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glBlendEquationi(buf, mode);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glBlendEquationSeparatei(buf, modeRGB, modeAlpha);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glBlendFunci(GLuint buf, GLenum src, GLenum dst)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glBlendFunci(buf, src, dst);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glColorMaski(index, r, g, b, a);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+GLboolean
+tracepath_glIsEnabledi(GLenum target, GLuint index)
+{
+       GLboolean ret = GL_FALSE;
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       ret = _orig_tracepath_glIsEnabledi(target, index);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+       return ret;
+}
+
+void
+tracepath_glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glDrawElementsBaseVertex(mode, count, type, indices, basevertex);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glFramebufferTexture(target, attachment, texture, level);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPrimitiveBoundingBox(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glPrimitiveBoundingBox(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+GLenum
+tracepath_glGetGraphicsResetStatus(void)
+{
+       GLenum ret = GL_NONE;
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       ret =  _orig_tracepath_glGetGraphicsResetStatus();
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+       return ret;
+}
+
+void
+tracepath_glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glReadnPixels(x, y, width, height, format, type, bufSize, data);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetnUniformfv(program, location, bufSize, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetnUniformiv(program, location, bufSize, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetnUniformuiv(program, location, bufSize, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glMinSampleShading(GLfloat value)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glMinSampleShading(value);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glPatchParameteri(GLenum pname, GLint value)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glPatchParameteri(pname, value);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexParameterIiv(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexParameterIuiv(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetTexParameterIiv(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetTexParameterIuiv(target, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glSamplerParameterIiv(sampler, pname, param);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glSamplerParameterIuiv(sampler, pname, param);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetSamplerParameterIiv(sampler, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glGetSamplerParameterIuiv(sampler, pname, params);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexBuffer(target, internalformat, buffer);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexBufferRange(target, internalformat, buffer, offset, size);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
+
+void
+tracepath_glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
+{
+       _COREGL_TRACEPATH_FUNC_BEGIN();
+       _orig_tracepath_glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
+       goto finish;
+
+finish:
+       _COREGL_TRACEPATH_FUNC_END();
+}
index 1596701..e98aab8 100644 (file)
@@ -1757,3 +1757,260 @@ glVertexBindingDivisor (GLuint bindingindex, GLuint divisor)
 {
        ovr_glVertexBindingDivisor (bindingindex, divisor);
 }
+
+/* GLES3.2 API */
+void
+glBlendBarrier(void)
+{
+       ovr_glBlendBarrier();
+}
+
+void
+glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)
+{
+       ovr_glCopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
+}
+
+void
+glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)
+{
+       ovr_glDebugMessageControl (source, type, severity, count, ids, enabled);
+}
+
+void
+glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)
+{
+       ovr_glDebugMessageInsert(source, type, id, severity, length, buf);
+}
+
+void
+glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam)
+{
+       ovr_glDebugMessageCallback(callback, userParam);
+}
+
+GLuint
+glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)
+{
+       return ovr_glGetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog);
+}
+
+void
+glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message)
+{
+       ovr_glPushDebugGroup(source, id, length, message);
+}
+
+void
+glPopDebugGroup(void)
+{
+       ovr_glPopDebugGroup();
+}
+
+void
+glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label)
+{
+       ovr_glObjectLabel(identifier, name, length, label);
+}
+
+void
+glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)
+{
+       ovr_glGetObjectLabel(identifier, name, bufSize, length, label);
+}
+
+void
+glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label)
+{
+       ovr_glObjectPtrLabel(ptr, length, label);
+}
+
+void
+glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label)
+{
+       ovr_glGetObjectPtrLabel(ptr, bufSize, length, label);
+}
+
+void
+glEnablei(GLenum target, GLuint index)
+{
+       ovr_glEnablei(target, index);
+}
+
+void
+glDisablei(GLenum target, GLuint index)
+{
+       ovr_glDisablei(target, index);
+}
+
+void
+glBlendEquationi(GLuint buf, GLenum mode)
+{
+       ovr_glBlendEquationi(buf, mode);
+}
+
+void
+glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha)
+{
+       ovr_glBlendEquationSeparatei(buf, modeRGB, modeAlpha);
+}
+
+void
+glBlendFunci(GLuint buf, GLenum src, GLenum dst)
+{
+       ovr_glBlendFunci(buf, src, dst);
+}
+
+void
+glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
+{
+       ovr_glBlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
+}
+
+void
+glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)
+{
+       ovr_glColorMaski(index, r, g, b, a);
+}
+
+GLboolean
+glIsEnabledi(GLenum target, GLuint index)
+{
+       return ovr_glIsEnabledi(target, index);
+}
+
+void
+glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex)
+{
+       ovr_glDrawElementsBaseVertex(mode, count, type, indices, basevertex);
+}
+
+void
+glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex)
+{
+       ovr_glDrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
+}
+
+void
+glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex)
+{
+       ovr_glDrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
+}
+void
+glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level)
+{
+       ovr_glFramebufferTexture(target, attachment, texture, level);
+}
+
+void
+glPrimitiveBoundingBox(GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW)
+{
+       ovr_glPrimitiveBoundingBox(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
+}
+
+GLenum
+glGetGraphicsResetStatus(void)
+{
+       return ovr_glGetGraphicsResetStatus();
+}
+void
+glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data)
+{
+       ovr_glReadnPixels(x, y, width, height, format, type, bufSize, data);
+}
+
+void
+glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params)
+{
+       ovr_glGetnUniformfv(program, location, bufSize, params);
+}
+
+void
+glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint *params)
+{
+       ovr_glGetnUniformiv(program, location, bufSize, params);
+}
+
+void
+glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint *params)
+{
+       ovr_glGetnUniformuiv(program, location, bufSize, params);
+}
+
+void
+glMinSampleShading(GLfloat value)
+{
+       ovr_glMinSampleShading(value);
+}
+
+void
+glPatchParameteri(GLenum pname, GLint value)
+{
+       ovr_glPatchParameteri(pname, value);
+}
+
+void
+glTexParameterIiv(GLenum target, GLenum pname, const GLint *params)
+{
+       ovr_glTexParameterIiv(target, pname, params);
+}
+
+void
+glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
+{
+       ovr_glTexParameterIuiv(target, pname, params);
+}
+
+void
+glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
+{
+       ovr_glGetTexParameterIiv(target, pname, params);
+}
+
+void
+glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
+{
+       ovr_glGetTexParameterIuiv(target, pname, params);
+}
+
+void
+glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param)
+{
+       ovr_glSamplerParameterIiv(sampler, pname, param);
+}
+
+void
+glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param)
+{
+       ovr_glSamplerParameterIuiv(sampler, pname, param);
+}
+
+void
+glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params)
+{
+       ovr_glGetSamplerParameterIiv(sampler, pname, params);
+}
+
+void
+glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params)
+{
+       ovr_glGetSamplerParameterIuiv(sampler, pname, params);
+}
+
+void
+glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer)
+{
+       ovr_glTexBuffer(target, internalformat, buffer);
+}
+
+void
+glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
+{
+       ovr_glTexBufferRange(target, internalformat, buffer, offset, size);
+}
+
+void
+glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
+{
+       ovr_glTexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
+}