_Evas_GL_API Struct Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files
- Examples

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Data Fields
_Evas_GL_API Struct Reference
Evas » Canvas Functions » Rendering GL on Evas

The Evas GL API This structure contains function pointers to the available GL functions. More...

## Data Fields
int | version
| The current version number is `EVAS_GL_API_VERSION` (4). More...
OpenGL-ES 2.0.
Evas_GL_API version 1. The following functions are supported in all OpenGL-ES 2.0 contexts.
void(* | glActiveTexture )(GLenum texture)
void(* | glAttachShader )(GLuint program, GLuint shader)
void(* | glBindAttribLocation )(GLuint program, GLuint index, const char *name)
void(* | glBindBuffer )(GLenum target, GLuint buffer)
void(* | glBindFramebuffer )(GLenum target, GLuint framebuffer)
void(* | glBindRenderbuffer )(GLenum target, GLuint renderbuffer)
void(* | glBindTexture )(GLenum target, GLuint texture)
void(* | glBlendColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
void(* | glBlendEquation )(GLenum mode)
void(* | glBlendEquationSeparate )(GLenum modeRGB, GLenum modeAlpha)
void(* | glBlendFunc )(GLenum sfactor, GLenum dfactor)
void(* | glBlendFuncSeparate )(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
void(* | glBufferData )(GLenum target, GLsizeiptr size, const void *data, GLenum usage)
void(* | glBufferSubData )(GLenum target, GLintptr offset, GLsizeiptr size, const void *data)
GLenum(* | glCheckFramebufferStatus )(GLenum target)
void(* | glClear )(GLbitfield mask)
void(* | glClearColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
void(* | glClearDepthf )(GLclampf depth)
void(* | glClearStencil )(GLint s)
void(* | glColorMask )(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
void(* | glCompileShader )(GLuint shader)
void(* | glCompressedTexImage2D )(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data)
void(* | glCompressedTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data)
void(* | glCopyTexImage2D )(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
void(* | glCopyTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
GLuint(* | glCreateProgram )(void)
GLuint(* | glCreateShader )(GLenum type)
void(* | glCullFace )(GLenum mode)
void(* | glDeleteBuffers )(GLsizei n, const GLuint *buffers)
void(* | glDeleteFramebuffers )(GLsizei n, const GLuint *framebuffers)
void(* | glDeleteProgram )(GLuint program)
void(* | glDeleteRenderbuffers )(GLsizei n, const GLuint *renderbuffers)
void(* | glDeleteShader )(GLuint shader)
void(* | glDeleteTextures )(GLsizei n, const GLuint *textures)
void(* | glDepthFunc )(GLenum func)
void(* | glDepthMask )(GLboolean flag)
void(* | glDepthRangef )(GLclampf zNear, GLclampf zFar)
void(* | glDetachShader )(GLuint program, GLuint shader)
void(* | glDisable )(GLenum cap)
void(* | glDisableVertexAttribArray )(GLuint index)
void(* | glDrawArrays )(GLenum mode, GLint first, GLsizei count)
void(* | glDrawElements )(GLenum mode, GLsizei count, GLenum type, const void *indices)
void(* | glEnable )(GLenum cap)
void(* | glEnableVertexAttribArray )(GLuint index)
void(* | glFinish )(void)
void(* | glFlush )(void)
void(* | glFramebufferRenderbuffer )(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
void(* | glFramebufferTexture2D )(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
void(* | glFrontFace )(GLenum mode)
void(* | glGenBuffers )(GLsizei n, GLuint *buffers)
void(* | glGenerateMipmap )(GLenum target)
void(* | glGenFramebuffers )(GLsizei n, GLuint *framebuffers)
void(* | glGenRenderbuffers )(GLsizei n, GLuint *renderbuffers)
void(* | glGenTextures )(GLsizei n, GLuint *textures)
void(* | glGetActiveAttrib )(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name)
void(* | glGetActiveUniform )(GLuint program, GLuint index, GLsizei bufsize, GLsizei *length, GLint *size, GLenum *type, char *name)
void(* | glGetAttachedShaders )(GLuint program, GLsizei maxcount, GLsizei *count, GLuint *shaders)
int(* | glGetAttribLocation )(GLuint program, const char *name)
void(* | glGetBooleanv )(GLenum pname, GLboolean *params)
void(* | glGetBufferParameteriv )(GLenum target, GLenum pname, GLint *params)
GLenum(* | glGetError )(void)
void(* | glGetFloatv )(GLenum pname, GLfloat *params)
void(* | glGetFramebufferAttachmentParameteriv )(GLenum target, GLenum attachment, GLenum pname, GLint *params)
void(* | glGetIntegerv )(GLenum pname, GLint *params)
void(* | glGetProgramiv )(GLuint program, GLenum pname, GLint *params)
void(* | glGetProgramInfoLog )(GLuint program, GLsizei bufsize, GLsizei *length, char *infolog)
void(* | glGetRenderbufferParameteriv )(GLenum target, GLenum pname, GLint *params)
void(* | glGetShaderiv )(GLuint shader, GLenum pname, GLint *params)
void(* | glGetShaderInfoLog )(GLuint shader, GLsizei bufsize, GLsizei *length, char *infolog)
void(* | glGetShaderPrecisionFormat )(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)
void(* | glGetShaderSource )(GLuint shader, GLsizei bufsize, GLsizei *length, char *source)
const GLubyte *(* | glGetString )(GLenum name)
void(* | glGetTexParameterfv )(GLenum target, GLenum pname, GLfloat *params)
void(* | glGetTexParameteriv )(GLenum target, GLenum pname, GLint *params)
void(* | glGetUniformfv )(GLuint program, GLint location, GLfloat *params)
void(* | glGetUniformiv )(GLuint program, GLint location, GLint *params)
int(* | glGetUniformLocation )(GLuint program, const char *name)
void(* | glGetVertexAttribfv )(GLuint index, GLenum pname, GLfloat *params)
void(* | glGetVertexAttribiv )(GLuint index, GLenum pname, GLint *params)
void(* | glGetVertexAttribPointerv )(GLuint index, GLenum pname, void **pointer)
void(* | glHint )(GLenum target, GLenum mode)
GLboolean(* | glIsBuffer )(GLuint buffer)
GLboolean(* | glIsEnabled )(GLenum cap)
GLboolean(* | glIsFramebuffer )(GLuint framebuffer)
GLboolean(* | glIsProgram )(GLuint program)
GLboolean(* | glIsRenderbuffer )(GLuint renderbuffer)
GLboolean(* | glIsShader )(GLuint shader)
GLboolean(* | glIsTexture )(GLuint texture)
void(* | glLineWidth )(GLfloat width)
void(* | glLinkProgram )(GLuint program)
void(* | glPixelStorei )(GLenum pname, GLint param)
void(* | glPolygonOffset )(GLfloat factor, GLfloat units)
void(* | glReadPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels)
void(* | glReleaseShaderCompiler )(void)
void(* | glRenderbufferStorage )(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
void(* | glSampleCoverage )(GLclampf value, GLboolean invert)
void(* | glScissor )(GLint x, GLint y, GLsizei width, GLsizei height)
void(* | glShaderBinary )(GLsizei n, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length)
void(* | glShaderSource )(GLuint shader, GLsizei count, const char *const *string, const GLint *length)
void(* | glStencilFunc )(GLenum func, GLint ref, GLuint mask)
void(* | glStencilFuncSeparate )(GLenum face, GLenum func, GLint ref, GLuint mask)
void(* | glStencilMask )(GLuint mask)
void(* | glStencilMaskSeparate )(GLenum face, GLuint mask)
void(* | glStencilOp )(GLenum fail, GLenum zfail, GLenum zpass)
void(* | glStencilOpSeparate )(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
void(* | glTexImage2D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels)
void(* | glTexParameterf )(GLenum target, GLenum pname, GLfloat param)
void(* | glTexParameterfv )(GLenum target, GLenum pname, const GLfloat *params)
void(* | glTexParameteri )(GLenum target, GLenum pname, GLint param)
void(* | glTexParameteriv )(GLenum target, GLenum pname, const GLint *params)
void(* | glTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)
void(* | glUniform1f )(GLint location, GLfloat x)
void(* | glUniform1fv )(GLint location, GLsizei count, const GLfloat *v)
void(* | glUniform1i )(GLint location, GLint x)
void(* | glUniform1iv )(GLint location, GLsizei count, const GLint *v)
void(* | glUniform2f )(GLint location, GLfloat x, GLfloat y)
void(* | glUniform2fv )(GLint location, GLsizei count, const GLfloat *v)
void(* | glUniform2i )(GLint location, GLint x, GLint y)
void(* | glUniform2iv )(GLint location, GLsizei count, const GLint *v)
void(* | glUniform3f )(GLint location, GLfloat x, GLfloat y, GLfloat z)
void(* | glUniform3fv )(GLint location, GLsizei count, const GLfloat *v)
void(* | glUniform3i )(GLint location, GLint x, GLint y, GLint z)
void(* | glUniform3iv )(GLint location, GLsizei count, const GLint *v)
void(* | glUniform4f )(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
void(* | glUniform4fv )(GLint location, GLsizei count, const GLfloat *v)
void(* | glUniform4i )(GLint location, GLint x, GLint y, GLint z, GLint w)
void(* | glUniform4iv )(GLint location, GLsizei count, const GLint *v)
void(* | glUniformMatrix2fv )(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void(* | glUniformMatrix3fv )(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void(* | glUniformMatrix4fv )(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void(* | glUseProgram )(GLuint program)
void(* | glValidateProgram )(GLuint program)
void(* | glVertexAttrib1f )(GLuint indx, GLfloat x)
void(* | glVertexAttrib1fv )(GLuint indx, const GLfloat *values)
void(* | glVertexAttrib2f )(GLuint indx, GLfloat x, GLfloat y)
void(* | glVertexAttrib2fv )(GLuint indx, const GLfloat *values)
void(* | glVertexAttrib3f )(GLuint indx, GLfloat x, GLfloat y, GLfloat z)
void(* | glVertexAttrib3fv )(GLuint indx, const GLfloat *values)
void(* | glVertexAttrib4f )(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
void(* | glVertexAttrib4fv )(GLuint indx, const GLfloat *values)
void(* | glVertexAttribPointer )(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *ptr)
void(* | glViewport )(GLint x, GLint y, GLsizei width, GLsizei height)
OpenGL-ES 2.0 extensions.
Evas_GL_API version 1 The following functions may be supported in OpenGL-ES 2.0 contexts, depending on which extensions Evas has decided to support.
void(* | glEvasGLImageTargetTexture2DOES )(GLenum target, EvasGLImage image)
| Requires the `GL_OES_EGL_image` extension, similar to `glEGLImageTargetTexture2DOES`. More...
void(* | glEvasGLImageTargetRenderbufferStorageOES )(GLenum target, EvasGLImage image)
| Requires the `GL_OES_EGL_image` extension, similar to `glEGLImageTargetRenderbufferStorageOES`. More...
void(* | glGetProgramBinaryOES )(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary)
void(* | glProgramBinaryOES )(GLuint program, GLenum binaryFormat, const void *binary, GLint length)
void *(* | glMapBufferOES )(GLenum target, GLenum access)
GLboolean(* | glUnmapBufferOES )(GLenum target)
void(* | glGetBufferPointervOES )(GLenum target, GLenum pname, void **params)
void(* | glTexImage3DOES )(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)
void(* | glTexSubImage3DOES )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)
void(* | glCopyTexSubImage3DOES )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void(* | glCompressedTexImage3DOES )(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)
void(* | glCompressedTexSubImage3DOES )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)
void(* | glFramebufferTexture3DOES )(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)
void(* | glGetPerfMonitorGroupsAMD )(GLint *numGroups, GLsizei groupsSize, GLuint *groups)
void(* | glGetPerfMonitorCountersAMD )(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters)
void(* | glGetPerfMonitorGroupStringAMD )(GLuint group, GLsizei bufSize, GLsizei *length, char *groupString)
void(* | glGetPerfMonitorCounterStringAMD )(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, char *counterString)
void(* | glGetPerfMonitorCounterInfoAMD )(GLuint group, GLuint counter, GLenum pname, void *data)
void(* | glGenPerfMonitorsAMD )(GLsizei n, GLuint *monitors)
void(* | glDeletePerfMonitorsAMD )(GLsizei n, GLuint *monitors)
void(* | glSelectPerfMonitorCountersAMD )(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList)
void(* | glBeginPerfMonitorAMD )(GLuint monitor)
void(* | glEndPerfMonitorAMD )(GLuint monitor)
void(* | glGetPerfMonitorCounterDataAMD )(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten)
void(* | glDiscardFramebufferEXT )(GLenum target, GLsizei numAttachments, const GLenum *attachments)
void(* | glMultiDrawArraysEXT )(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount)
void(* | glMultiDrawElementsEXT )(GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount)
void(* | glDeleteFencesNV )(GLsizei n, const GLuint *fences)
void(* | glGenFencesNV )(GLsizei n, GLuint *fences)
GLboolean(* | glIsFenceNV )(GLuint fence)
GLboolean(* | glTestFenceNV )(GLuint fence)
void(* | glGetFenceivNV )(GLuint fence, GLenum pname, GLint *params)
void(* | glFinishFenceNV )(GLuint fence)
void(* | glSetFenceNV )(GLuint, GLenum)
void(* | glGetDriverControlsQCOM )(GLint *num, GLsizei size, GLuint *driverControls)
void(* | glGetDriverControlStringQCOM )(GLuint driverControl, GLsizei bufSize, GLsizei *length, char *driverControlString)
void(* | glEnableDriverControlQCOM )(GLuint driverControl)
void(* | glDisableDriverControlQCOM )(GLuint driverControl)
void(* | glExtGetTexturesQCOM )(GLuint *textures, GLint maxTextures, GLint *numTextures)
void(* | glExtGetBuffersQCOM )(GLuint *buffers, GLint maxBuffers, GLint *numBuffers)
void(* | glExtGetRenderbuffersQCOM )(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers)
void(* | glExtGetFramebuffersQCOM )(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers)
void(* | glExtGetTexLevelParameterivQCOM )(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params)
void(* | glExtTexObjectStateOverrideiQCOM )(GLenum target, GLenum pname, GLint param)
void(* | glExtGetTexSubImageQCOM )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels)
void(* | glExtGetBufferPointervQCOM )(GLenum target, void **params)
void(* | glExtGetShadersQCOM )(GLuint *shaders, GLint maxShaders, GLint *numShaders)
void(* | glExtGetProgramsQCOM )(GLuint *programs, GLint maxPrograms, GLint *numPrograms)
GLboolean(* | glExtIsProgramBinaryQCOM )(GLuint program)
void(* | glExtGetProgramBinarySourceQCOM )(GLuint program, GLenum shadertype, char *source, GLint *length)
EGL-related extensions
Evas_GL_API version 1.
EvasGLImage(* | evasglCreateImage )(int target, void *buffer, const int *attrib_list) EINA_DEPRECATED
| Create an EvasGLImage for the current context. More...
void(* | evasglDestroyImage )(EvasGLImage image)
| Destroys an EvasGLImage. Destroy an image created by either evasglCreateImage or evasglCreateImageForContext. More...
EvasGLImage(* | evasglCreateImageForContext )(Evas_GL *evas_gl, Evas_GL_Context *ctx, int target, void *buffer, const int *attrib_list)
| Create an EvasGLImage for a given context. More...
OpenGL-ES 1.1
Evas_GL_API version 2 or more. The following functions are some of the standard OpenGL-ES 1.0 functions, that are not also present in the OpenGL-ES 2.0 APIs.
void(* | glAlphaFunc )(GLenum func, GLclampf ref)
void(* | glClipPlanef )(GLenum plane, const GLfloat *equation)
void(* | glColor4f )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
void(* | glFogf )(GLenum pname, GLfloat param)
void(* | glFogfv )(GLenum pname, const GLfloat *params)
void(* | glFrustumf )(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
void(* | glGetClipPlanef )(GLenum pname, GLfloat eqn[4])
void(* | glGetLightfv )(GLenum light, GLenum pname, GLfloat *params)
void(* | glGetMaterialfv )(GLenum face, GLenum pname, GLfloat *params)
void(* | glGetTexEnvfv )(GLenum env, GLenum pname, GLfloat *params)
void(* | glLightModelf )(GLenum pname, GLfloat param)
void(* | glLightModelfv )(GLenum pname, const GLfloat *params)
void(* | glLightf )(GLenum light, GLenum pname, GLfloat param)
void(* | glLightfv )(GLenum light, GLenum pname, const GLfloat *params)
void(* | glLoadMatrixf )(const GLfloat *m)
void(* | glMaterialf )(GLenum face, GLenum pname, GLfloat param)
void(* | glMaterialfv )(GLenum face, GLenum pname, const GLfloat *params)
void(* | glMultMatrixf )(const GLfloat *m)
void(* | glMultiTexCoord4f )(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
void(* | glNormal3f )(GLfloat nx, GLfloat ny, GLfloat nz)
void(* | glOrthof )(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
void(* | glPointParameterf )(GLenum pname, GLfloat param)
void(* | glPointParameterfv )(GLenum pname, const GLfloat *params)
void(* | glPointSize )(GLfloat size)
void(* | glPointSizePointerOES )(GLenum type, GLsizei stride, const GLvoid *pointer)
void(* | glRotatef )(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
void(* | glScalef )(GLfloat x, GLfloat y, GLfloat z)
void(* | glTexEnvf )(GLenum target, GLenum pname, GLfloat param)
void(* | glTexEnvfv )(GLenum target, GLenum pname, const GLfloat *params)
void(* | glTranslatef )(GLfloat x, GLfloat y, GLfloat z)
void(* | glAlphaFuncx )(GLenum func, GLclampx ref)
void(* | glClearColorx )(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha)
void(* | glClearDepthx )(GLclampx depth)
void(* | glClientActiveTexture )(GLenum texture)
void(* | glClipPlanex )(GLenum plane, const GLfixed *equation)
void(* | glColor4ub )(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
void(* | glColor4x )(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)
void(* | glColorPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
void(* | glDepthRangex )(GLclampx zNear, GLclampx zFar)
void(* | glDisableClientState )(GLenum array)
void(* | glEnableClientState )(GLenum array)
void(* | glFogx )(GLenum pname, GLfixed param)
void(* | glFogxv )(GLenum pname, const GLfixed *params)
void(* | glFrustumx )(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
void(* | glGetClipPlanex )(GLenum pname, GLfixed eqn[4])
void(* | glGetFixedv )(GLenum pname, GLfixed *params)
void(* | glGetLightxv )(GLenum light, GLenum pname, GLfixed *params)
void(* | glGetMaterialxv )(GLenum face, GLenum pname, GLfixed *params)
void(* | glGetPointerv )(GLenum pname, GLvoid **params)
void(* | glGetTexEnviv )(GLenum env, GLenum pname, GLint *params)
void(* | glGetTexEnvxv )(GLenum env, GLenum pname, GLfixed *params)
void(* | glGetTexParameterxv )(GLenum target, GLenum pname, GLfixed *params)
void(* | glLightModelx )(GLenum pname, GLfixed param)
void(* | glLightModelxv )(GLenum pname, const GLfixed *params)
void(* | glLightx )(GLenum light, GLenum pname, GLfixed param)
void(* | glLightxv )(GLenum light, GLenum pname, const GLfixed *params)
void(* | glLineWidthx )(GLfixed width)
void(* | glLoadIdentity )(void)
void(* | glLoadMatrixx )(const GLfixed *m)
void(* | glLogicOp )(GLenum opcode)
void(* | glMaterialx )(GLenum face, GLenum pname, GLfixed param)
void(* | glMaterialxv )(GLenum face, GLenum pname, const GLfixed *params)
void(* | glMatrixMode )(GLenum mode)
void(* | glMultMatrixx )(const GLfixed *m)
void(* | glMultiTexCoord4x )(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q)
void(* | glNormal3x )(GLfixed nx, GLfixed ny, GLfixed nz)
void(* | glNormalPointer )(GLenum type, GLsizei stride, const GLvoid *pointer)
void(* | glOrthox )(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
void(* | glPointParameterx )(GLenum pname, GLfixed param)
void(* | glPointParameterxv )(GLenum pname, const GLfixed *params)
void(* | glPointSizex )(GLfixed size)
void(* | glPolygonOffsetx )(GLfixed factor, GLfixed units)
void(* | glPopMatrix )(void)
void(* | glPushMatrix )(void)
void(* | glRotatex )(GLfixed angle, GLfixed x, GLfixed y, GLfixed z)
void(* | glSampleCoveragex )(GLclampx value, GLboolean invert)
void(* | glScalex )(GLfixed x, GLfixed y, GLfixed z)
void(* | glShadeModel )(GLenum mode)
void(* | glTexCoordPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
void(* | glTexEnvi )(GLenum target, GLenum pname, GLint param)
void(* | glTexEnvx )(GLenum target, GLenum pname, GLfixed param)
void(* | glTexEnviv )(GLenum target, GLenum pname, const GLint *params)
void(* | glTexEnvxv )(GLenum target, GLenum pname, const GLfixed *params)
void(* | glTexParameterx )(GLenum target, GLenum pname, GLfixed param)
void(* | glTexParameterxv )(GLenum target, GLenum pname, const GLfixed *params)
void(* | glTranslatex )(GLfixed x, GLfixed y, GLfixed z)
void(* | glVertexPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
OpenGL-ES 1.1 extensions
Evas_GL_API version 2 or more. OpenGL-ES 1.1 specifies a set of extensions on top of OpenGL-ES 1.0. When available, Evas GL will expose these extensions with the following function pointers.
void(* | glBlendEquationSeparateOES )(GLenum modeRGB, GLenum modeAlpha)
void(* | glBlendFuncSeparateOES )(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
void(* | glBlendEquationOES )(GLenum mode)
void(* | glDrawTexsOES )(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height)
void(* | glDrawTexiOES )(GLint x, GLint y, GLint z, GLint width, GLint height)
void(* | glDrawTexxOES )(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height)
void(* | glDrawTexsvOES )(const GLshort *coords)
void(* | glDrawTexivOES )(const GLint *coords)
void(* | glDrawTexxvOES )(const GLfixed *coords)
void(* | glDrawTexfOES )(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height)
void(* | glDrawTexfvOES )(const GLfloat *coords)
void(* | glAlphaFuncxOES )(GLenum func, GLclampx ref)
void(* | glClearColorxOES )(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha)
void(* | glClearDepthxOES )(GLclampx depth)
void(* | glClipPlanexOES )(GLenum plane, const GLfixed *equation)
void(* | glColor4xOES )(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)
void(* | glDepthRangexOES )(GLclampx zNear, GLclampx zFar)
void(* | glFogxOES )(GLenum pname, GLfixed param)
void(* | glFogxvOES )(GLenum pname, const GLfixed *params)
void(* | glFrustumxOES )(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
void(* | glGetClipPlanexOES )(GLenum pname, GLfixed eqn[4])
void(* | glGetFixedvOES )(GLenum pname, GLfixed *params)
void(* | glGetLightxvOES )(GLenum light, GLenum pname, GLfixed *params)
void(* | glGetMaterialxvOES )(GLenum face, GLenum pname, GLfixed *params)
void(* | glGetTexEnvxvOES )(GLenum env, GLenum pname, GLfixed *params)
void(* | glGetTexParameterxvOES )(GLenum target, GLenum pname, GLfixed *params)
void(* | glLightModelxOES )(GLenum pname, GLfixed param)
void(* | glLightModelxvOES )(GLenum pname, const GLfixed *params)
void(* | glLightxOES )(GLenum light, GLenum pname, GLfixed param)
void(* | glLightxvOES )(GLenum light, GLenum pname, const GLfixed *params)
void(* | glLineWidthxOES )(GLfixed width)
void(* | glLoadMatrixxOES )(const GLfixed *m)
void(* | glMaterialxOES )(GLenum face, GLenum pname, GLfixed param)
void(* | glMaterialxvOES )(GLenum face, GLenum pname, const GLfixed *params)
void(* | glMultMatrixxOES )(const GLfixed *m)
void(* | glMultiTexCoord4xOES )(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q)
void(* | glNormal3xOES )(GLfixed nx, GLfixed ny, GLfixed nz)
void(* | glOrthoxOES )(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
void(* | glPointParameterxOES )(GLenum pname, GLfixed param)
void(* | glPointParameterxvOES )(GLenum pname, const GLfixed *params)
void(* | glPointSizexOES )(GLfixed size)
void(* | glPolygonOffsetxOES )(GLfixed factor, GLfixed units)
void(* | glRotatexOES )(GLfixed angle, GLfixed x, GLfixed y, GLfixed z)
void(* | glSampleCoveragexOES )(GLclampx value, GLboolean invert)
void(* | glScalexOES )(GLfixed x, GLfixed y, GLfixed z)
void(* | glTexEnvxOES )(GLenum target, GLenum pname, GLfixed param)
void(* | glTexEnvxvOES )(GLenum target, GLenum pname, const GLfixed *params)
void(* | glTexParameterxOES )(GLenum target, GLenum pname, GLfixed param)
void(* | glTexParameterxvOES )(GLenum target, GLenum pname, const GLfixed *params)
void(* | glTranslatexOES )(GLfixed x, GLfixed y, GLfixed z)
GLboolean(* | glIsRenderbufferOES )(GLuint renderbuffer)
void(* | glBindRenderbufferOES )(GLenum target, GLuint renderbuffer)
void(* | glDeleteRenderbuffersOES )(GLsizei n, const GLuint *renderbuffers)
void(* | glGenRenderbuffersOES )(GLsizei n, GLuint *renderbuffers)
void(* | glRenderbufferStorageOES )(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
void(* | glGetRenderbufferParameterivOES )(GLenum target, GLenum pname, GLint *params)
GLboolean(* | glIsFramebufferOES )(GLuint framebuffer)
void(* | glBindFramebufferOES )(GLenum target, GLuint framebuffer)
void(* | glDeleteFramebuffersOES )(GLsizei n, const GLuint *framebuffers)
void(* | glGenFramebuffersOES )(GLsizei n, GLuint *framebuffers)
GLenum(* | glCheckFramebufferStatusOES )(GLenum target)
void(* | glFramebufferRenderbufferOES )(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
void(* | glFramebufferTexture2DOES )(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
void(* | glGetFramebufferAttachmentParameterivOES )(GLenum target, GLenum attachment, GLenum pname, GLint *params)
void(* | glGenerateMipmapOES )(GLenum target)
void(* | glCurrentPaletteMatrixOES )(GLuint matrixpaletteindex)
void(* | glLoadPaletteFromModelViewMatrixOES )(void)
void(* | glMatrixIndexPointerOES )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
void(* | glWeightPointerOES )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
GLbitfield(* | glQueryMatrixxOES )(GLfixed mantissa[16], GLint exponent[16])
void(* | glDepthRangefOES )(GLclampf zNear, GLclampf zFar)
void(* | glFrustumfOES )(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
void(* | glOrthofOES )(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
void(* | glClipPlanefOES )(GLenum plane, const GLfloat *equation)
void(* | glGetClipPlanefOES )(GLenum pname, GLfloat eqn[4])
void(* | glClearDepthfOES )(GLclampf depth)
void(* | glTexGenfOES )(GLenum coord, GLenum pname, GLfloat param)
void(* | glTexGenfvOES )(GLenum coord, GLenum pname, const GLfloat *params)
void(* | glTexGeniOES )(GLenum coord, GLenum pname, GLint param)
void(* | glTexGenivOES )(GLenum coord, GLenum pname, const GLint *params)
void(* | glTexGenxOES )(GLenum coord, GLenum pname, GLfixed param)
void(* | glTexGenxvOES )(GLenum coord, GLenum pname, const GLfixed *params)
void(* | glGetTexGenfvOES )(GLenum coord, GLenum pname, GLfloat *params)
void(* | glGetTexGenivOES )(GLenum coord, GLenum pname, GLint *params)
void(* | glGetTexGenxvOES )(GLenum coord, GLenum pname, GLfixed *params)
void(* | glBindVertexArrayOES )(GLuint array)
void(* | glDeleteVertexArraysOES )(GLsizei n, const GLuint *arrays)
void(* | glGenVertexArraysOES )(GLsizei n, GLuint *arrays)
GLboolean(* | glIsVertexArrayOES )(GLuint array)
void(* | glCopyTextureLevelsAPPLE )(GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount)
void(* | glRenderbufferStorageMultisampleAPPLE )(GLenum, GLsizei, GLenum, GLsizei, GLsizei)
void(* | glResolveMultisampleFramebufferAPPLE )(void)
GLsync(* | glFenceSyncAPPLE )(GLenum condition, GLbitfield flags)
GLboolean(* | glIsSyncAPPLE )(GLsync sync)
void(* | glDeleteSyncAPPLE )(GLsync sync)
GLenum(* | glClientWaitSyncAPPLE )(GLsync sync, GLbitfield flags, EvasGLuint64 timeout)
void(* | glWaitSyncAPPLE )(GLsync sync, GLbitfield flags, EvasGLuint64 timeout)
void(* | glGetInteger64vAPPLE )(GLenum pname, EvasGLint64 *params)
void(* | glGetSyncivAPPLE )(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)
void *(* | glMapBufferRangeEXT )(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
void(* | glFlushMappedBufferRangeEXT )(GLenum target, GLintptr offset, GLsizeiptr length)
void(* | glRenderbufferStorageMultisampleEXT )(GLenum, GLsizei, GLenum, GLsizei, GLsizei)
void(* | glFramebufferTexture2DMultisampleEXT )(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei)
GLenum(* | glGetGraphicsResetStatusEXT )(void)
void(* | glReadnPixelsEXT )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data)
void(* | glGetnUniformfvEXT )(GLuint program, GLint location, GLsizei bufSize, float *params)
void(* | glGetnUniformivEXT )(GLuint program, GLint location, GLsizei bufSize, GLint *params)
void(* | glTexStorage1DEXT )(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)
void(* | glTexStorage2DEXT )(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
void(* | glTexStorage3DEXT )(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
void(* | glTextureStorage1DEXT )(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)
void(* | glTextureStorage2DEXT )(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
void(* | glTextureStorage3DEXT )(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
void(* | glClipPlanefIMG )(GLenum, const GLfloat *)
void(* | glClipPlanexIMG )(GLenum, const GLfixed *)
void(* | glRenderbufferStorageMultisampleIMG )(GLenum, GLsizei, GLenum, GLsizei, GLsizei)
void(* | glFramebufferTexture2DMultisampleIMG )(GLenum, GLenum, GLenum, GLuint, GLint, GLsizei)
void(* | glStartTilingQCOM )(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask)
void(* | glEndTilingQCOM )(GLbitfield preserveMask)
Evas GL Sync object functions
2.3 Since 1.12
EvasGLSync(* | evasglCreateSync )(Evas_GL *evas_gl, unsigned int type, const int *attrib_list)
| Create a synchronization primitive which can be tested or waited upon. More...
Eina_Bool(* | evasglDestroySync )(Evas_GL *evas_gl, EvasGLSync sync)
| Destroys a sync object created by `evasglCreateSync`. More...
int(* | evasglClientWaitSync )(Evas_GL *evas_gl, EvasGLSync sync, int flags, EvasGLTime timeout)
| Block and wait until for sync object is signaled or timeout is reached. More...
Eina_Bool(* | evasglSignalSync )(Evas_GL *evas_gl, EvasGLSync sync, unsigned mode)
| Signal a sync object, unlocking all threads waiting on it. More...
Eina_Bool(* | evasglGetSyncAttrib )(Evas_GL *evas_gl, EvasGLSync sync, int attribute, int *value)
| Query a sync object for its properties. More...
int(* | evasglWaitSync )(Evas_GL *evas_gl, EvasGLSync sync, int flags)
| Wait on an EvasGLSync without blocking, see `EGL_KHR_wait_sync` for more information. More...
Evas GL Wayland functions
Evas_GL_API version 3 or more. Since 1.13
Eina_Bool(* | evasglBindWaylandDisplay )(Evas_GL *evas_gl, void *wl_display)
| Requires the extension `EGL_WL_bind_wayland_display`, similar to eglBindWaylandDisplayWL. More...
Eina_Bool(* | evasglUnbindWaylandDisplay )(Evas_GL *evas_gl, void *wl_display)
| Requires the extension `EGL_WL_bind_wayland_display`, similar to eglUnbindWaylandDisplayWL. More...
Eina_Bool(* | evasglQueryWaylandBuffer )(Evas_GL *evas_gl, void *buffer, int attribute, int *value)
| Requires the extension `EGL_WL_bind_wayland_display`, similar to eglQueryWaylandBufferWL. More...
OpenGL-ES 3.0.
Evas_GL_API version 4. The following functions are supported in all OpenGL-ES 3.0 contexts.
void(* | glBeginQuery )(GLenum target, GLuint id)
void(* | glBeginTransformFeedback )(GLenum primitiveMode)
void(* | glBindBufferBase )(GLenum target, GLuint index, GLuint buffer)
void(* | glBindBufferRange )(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
void(* | glBindSampler )(GLuint unit, GLuint sampler)
void(* | glBindTransformFeedback )(GLenum target, GLuint id)
void(* | glBindVertexArray )(GLuint array)
void(* | glBlitFramebuffer )(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
void(* | glClearBufferfi )(GLenum buffer, GLint drawBuffer, GLfloat depth, GLint stencil)
void(* | glClearBufferfv )(GLenum buffer, GLint drawBuffer, const GLfloat *value)
void(* | glClearBufferiv )(GLenum buffer, GLint drawBuffer, const GLint *value)
void(* | glClearBufferuiv )(GLenum buffer, GLint drawBuffer, const GLuint *value)
GLenum(* | glClientWaitSync )(GLsync sync, GLbitfield flags, EvasGLuint64 timeout)
void(* | glCompressedTexImage3D )(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)
void(* | glCompressedTexSubImage3D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)
void(* | glCopyBufferSubData )(GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size)
void(* | glCopyTexSubImage3D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
void(* | glDeleteQueries )(GLsizei n, const GLuint *ids)
void(* | glDeleteSamplers )(GLsizei n, const GLuint *samplers)
void(* | glDeleteSync )(GLsync sync)
void(* | glDeleteTransformFeedbacks )(GLsizei n, const GLuint *ids)
void(* | glDeleteVertexArrays )(GLsizei n, const GLuint *arrays)
void(* | glDrawArraysInstanced )(GLenum mode, GLint first, GLsizei count, GLsizei primcount)
void(* | glDrawBuffers )(GLsizei n, const GLenum *bufs)
void(* | glDrawElementsInstanced )(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount)
void(* | glDrawRangeElements )(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)
void(* | glEndQuery )(GLenum target)
void(* | glEndTransformFeedback )(void)
GLsync(* | glFenceSync )(GLenum condition, GLbitfield flags)
GLsync(* | glFlushMappedBufferRange )(GLenum target, GLintptr offset, GLsizeiptr length)
void(* | glFramebufferTextureLayer )(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
void(* | glGenQueries )(GLsizei n, GLuint *ids)
void(* | glGenSamplers )(GLsizei n, GLuint *samplers)
void(* | glGenTransformFeedbacks )(GLsizei n, GLuint *ids)
void(* | glGenVertexArrays )(GLsizei n, GLuint *arrays)
void(* | glGetActiveUniformBlockiv )(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
void(* | glGetActiveUniformBlockName )(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)
void(* | glGetActiveUniformsiv )(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)
void(* | glGetBufferParameteri64v )(GLenum target, GLenum value, EvasGLint64 *data)
void(* | glGetBufferPointerv )(GLenum target, GLenum pname, GLvoid **params)
GLint(* | glGetFragDataLocation )(GLuint program, const char *name)
void(* | glGetInteger64i_v )(GLenum target, GLuint index, EvasGLint64 *data)
void(* | glGetInteger64v )(GLenum pname, EvasGLint64 *data)
void(* | glGetIntegeri_v )(GLenum target, GLuint index, GLint *data)
void(* | glGetInternalformativ )(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params)
void(* | glGetProgramBinary )(GLuint program, GLsizei bufsize, GLsizei *length, GLenum *binaryFormat, void *binary)
void(* | glGetQueryiv )(GLenum target, GLenum pname, GLint *params)
void(* | glGetQueryObjectuiv )(GLuint id, GLenum pname, GLuint *params)
void(* | glGetSamplerParameterfv )(GLuint sampler, GLenum pname, GLfloat *params)
void(* | glGetSamplerParameteriv )(GLuint sampler, GLenum pname, GLint *params)
const GLubyte *(* | glGetStringi )(GLenum name, GLuint index)
void(* | glGetSynciv )(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)
void(* | glGetTransformFeedbackVarying )(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, char *name)
GLuint(* | glGetUniformBlockIndex )(GLuint program, const GLchar *uniformBlockName)
void(* | glGetUniformIndices )(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices)
void(* | glGetUniformuiv )(GLuint program, GLint location, GLuint *params)
void(* | glGetVertexAttribIiv )(GLuint index, GLenum pname, GLint *params)
void(* | glGetVertexAttribIuiv )(GLuint index, GLenum pname, GLuint *params)
void(* | glInvalidateFramebuffer )(GLenum target, GLsizei numAttachments, const GLenum *attachments)
void(* | glInvalidateSubFramebuffer )(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height)
GLboolean(* | glIsQuery )(GLuint id)
GLboolean(* | glIsSampler )(GLuint id)
GLboolean(* | glIsSync )(GLsync sync)
GLboolean(* | glIsTransformFeedback )(GLuint id)
GLboolean(* | glIsVertexArray )(GLuint array)
void *(* | glMapBufferRange )(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
void(* | glPauseTransformFeedback )(void)
void(* | glProgramBinary )(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length)
void(* | glProgramParameteri )(GLuint program, GLenum pname, GLint value)
void(* | glReadBuffer )(GLenum src)
void(* | glRenderbufferStorageMultisample )(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
void(* | glResumeTransformFeedback )(void)
void(* | glSamplerParameterf )(GLuint sampler, GLenum pname, GLfloat param)
void(* | glSamplerParameterfv )(GLuint sampler, GLenum pname, const GLfloat *params)
void(* | glSamplerParameteri )(GLuint sampler, GLenum pname, GLint param)
void(* | glSamplerParameteriv )(GLuint sampler, GLenum pname, const GLint *params)
void(* | glTexImage3D )(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *data)
void(* | glTexStorage2D )(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
void(* | glTexStorage3D )(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
void(* | glTexSubImage3D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *data)
void(* | glTransformFeedbackVaryings )(GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode)
void(* | glUniform1ui )(GLint location, GLuint v0)
void(* | glUniform1uiv )(GLint location, GLsizei count, const GLuint *value)
void(* | glUniform2ui )(GLint location, GLuint v0, GLuint v1)
void(* | glUniform2uiv )(GLint location, GLsizei count, const GLuint *value)
void(* | glUniform3ui )(GLint location, GLuint v0, GLuint v1, GLuint v2)
void(* | glUniform3uiv )(GLint location, GLsizei count, const GLuint *value)
void(* | glUniform4ui )(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
void(* | glUniform4uiv )(GLint location, GLsizei count, const GLuint *value)
void(* | glUniformBlockBinding )(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
void(* | glUniformMatrix2x3fv )(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void(* | glUniformMatrix3x2fv )(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void(* | glUniformMatrix2x4fv )(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void(* | glUniformMatrix4x2fv )(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void(* | glUniformMatrix3x4fv )(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
void(* | glUniformMatrix4x3fv )(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)
GLboolean(* | glUnmapBuffer )(GLenum target)
void(* | glVertexAttribDivisor )(GLuint index, GLuint divisor)
void(* | glVertexAttribI4i )(GLuint index, GLint v0, GLint v1, GLint v2, GLint v3)
void(* | glVertexAttribI4iv )(GLuint index, const GLint *v)
void(* | glVertexAttribI4ui )(GLuint index, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
void(* | glVertexAttribI4uiv )(GLuint index, const GLuint *v)
void(* | glVertexAttribIPointer )(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
void(* | glWaitSync )(GLsync sync, GLbitfield flags, EvasGLuint64 timeout)

## Detailed Description

The Evas GL API This structure contains function pointers to the available GL functions.

Some of these functions may be wrapped internally by Evas GL.

## Field Documentation

int _Evas_GL_API::version

The current version number is `EVAS_GL_API_VERSION` (4).

This should not be confused with the OpenGL-ES context version.

void(* _Evas_GL_API::glEvasGLImageTargetTexture2DOES) (GLenum target, EvasGLImage image)

Requires the `GL_OES_EGL_image` extension, similar to `glEGLImageTargetTexture2DOES`.

void(* _Evas_GL_API::glEvasGLImageTargetRenderbufferStorageOES) (GLenum target, EvasGLImage image)

Requires the `GL_OES_EGL_image` extension, similar to `glEGLImageTargetRenderbufferStorageOES`.

EvasGLImage(* _Evas_GL_API::evasglCreateImage) (int target, void *buffer, const int *attrib_list) EINA_DEPRECATED

Create an EvasGLImage for the current context.

Common targets are:

- `EVAS_GL_TEXTURE_2D:`
  In case of `EVAS_GL_TEXTURE_2D` on EGL, the currently bound EGLContext will be used to create the image. The buffer argument must be a texture ID cast down to a void* pointer.
  Requires the `EVAS_GL_image` extension.

- `EVAS_GL_NATIVE_SURFACE_TIZEN` (Tizen platform only):
  Requires the `EVAS_GL_TIZEN_image_native_surface` extension.

Deprecated:

Note
  Please consider using evasglCreateImageForContext instead.

void(* _Evas_GL_API::evasglDestroyImage) (EvasGLImage image)

Destroys an EvasGLImage. Destroy an image created by either evasglCreateImage or evasglCreateImageForContext.

Requires the `EVAS_GL_image` extension.

Note
  Unlike in pure EGL, the display pointer needs not be passed in, as Evas GL will use the same EGLDisplay as used in the create function.

EvasGLImage(* _Evas_GL_API::evasglCreateImageForContext) (Evas_GL *evas_gl, Evas_GL_Context *ctx, int target, void *buffer, const int *attrib_list)

Create an EvasGLImage for a given context.

Parameters

  [in] | evas_gl | The current Evas GL object,
  [in] | ctx | A context to create this image for,
  [in] | target | One of `EVAS_GL_TEXTURE_2D` and `EVAS_GL_NATIVE_SURFACE_TIZEN`,
  [in] | buffer | A pointer to a buffer, see below,
  [in] | attrib_list | An array of key-value pairs terminated by 0 (see EVAS_GL_IMAGE_PRESERVED)

Common targets are:

- `EVAS_GL_TEXTURE_2D:`
  In case of `EVAS_GL_TEXTURE_2D`, the buffer argument must be a texture ID cast down to a void* pointer.
  Requires the `EVAS_GL_image` extension.

EvasGLImage *img = glapi->evasglCreateImageForContext
(evasgl, ctx, EVAS_GL_TEXTURE_2D, (void*)(intptr_t)texture_id, NULL);

- `EVAS_GL_NATIVE_SURFACE_TIZEN` (Tizen platform only):
  Requires the `EVAS_GL_TIZEN_image_native_surface` extension.

Note
  Evas_GL_API must have version 2 or more.

Since
  1.12

EvasGLSync(* _Evas_GL_API::evasglCreateSync) (Evas_GL *evas_gl, unsigned int type, const int *attrib_list)

Create a synchronization primitive which can be tested or waited upon.

Note
  Requires the extension `EGL_KHR_fence_sync`, similar to eglCreateSyncKHR.

Parameters

  evas_gl | The current Evas_GL connection
  type | One of: `EVAS_GL_SYNC_FENCE` or `EVAS_GL_SYNC_REUSABLE`
  attrib_list | Optional attributes list, terminated by `EVAS_GL_NONE` The supported attributes depend on the driver extensions, please refer to the EGL specifications for more information.

Returns
  A new sync object (EvasGLSync)

Since
  1.12

Eina_Bool(* _Evas_GL_API::evasglDestroySync) (Evas_GL *evas_gl, EvasGLSync sync)

Destroys a sync object created by `evasglCreateSync`.

Note
  Requires the extension `EGL_KHR_fence_sync`, similar to eglDestroySyncKHR.

Parameters

  evas_gl | The current Evas_GL connection
  sync | A valid sync object created by `evasglCreateSync`

Returns
  `EINA_TRUE` in case of success, `EINA_FALSE` in case of failure (in which case evas_gl_error_get() should return an error code)

Since
  1.12

int(* _Evas_GL_API::evasglClientWaitSync) (Evas_GL *evas_gl, EvasGLSync sync, int flags, EvasGLTime timeout)

Block and wait until for sync object is signaled or timeout is reached.

Parameters

  evas_gl | The current Evas_GL connection
  sync | A valid sync object created by evasglCreateSync
  timeout | A relative timeout in nanoseconds

Note
  Requires the extension `EGL_KHR_reusable_sync`, similarly to eglClientWaitSyncKHR.

Returns
  `EVAS_GL_TIMEOUT_EXPIRED` if the sync failed and timeout was reached, `EVAS_GL_CONDITION_SATISFIED` if the sync was signaled, or 0 in case of failure (in which case evas_gl_error_get() should return an error code)

Since
  1.12

Eina_Bool(* _Evas_GL_API::evasglSignalSync) (Evas_GL *evas_gl, EvasGLSync sync, unsigned mode)

Signal a sync object, unlocking all threads waiting on it.

Parameters

  evas_gl | The current Evas_GL connection
  sync | A valid sync object created by evasglCreateSync

Note
  Requires the extension `EGL_KHR_reusable_sync` or `EGL_KHR_wait_sync`, similarly to eglSignalSyncKHR.

Returns
  `EINA_TRUE` in case of success, or `EINA_FALSE` in case of failure (in which case evas_gl_error_get() should return an error code)

Since
  1.12

Eina_Bool(* _Evas_GL_API::evasglGetSyncAttrib) (Evas_GL *evas_gl, EvasGLSync sync, int attribute, int *value)

Query a sync object for its properties.

Parameters

  evas_gl | The current Evas_GL connection
  sync | A valid sync object created by evasglCreateSync
  attribute | Which attribute to query, can be one of: `EVAS_GL_SYNC_STATUS`, `EVAS_GL_SYNC_TYPE` or `EVAS_GL_SYNC_CONDITION`
  value | Return value or the query, see sync object.

Note
  Requires the extension `EGL_KHR_fence_sync`, similar to eglGetSyncAttribKHR.

Returns
  `EINA_TRUE` in case of success, or `EINA_FALSE` in case of failure (in which case evas_gl_error_get() should return an error code)

Since
  1.12

int(* _Evas_GL_API::evasglWaitSync) (Evas_GL *evas_gl, EvasGLSync sync, int flags)

Wait on an EvasGLSync without blocking, see `EGL_KHR_wait_sync` for more information.

Parameters

  evas_gl | The current Evas_GL connection
  sync | A valid sync object created by evasglCreateSync
  flags | Must be 0

Note
  Requires the extension `EGL_KHR_wait_sync`, similar to eglWaitSyncKHR.

Returns
  `EINA_TRUE` in case of success, or `EINA_FALSE` in case of failure (in which case evas_gl_error_get() should return an error code)

Since
  1.12

Eina_Bool(* _Evas_GL_API::evasglBindWaylandDisplay) (Evas_GL *evas_gl, void *wl_display)

Requires the extension `EGL_WL_bind_wayland_display`, similar to eglBindWaylandDisplayWL.

Eina_Bool(* _Evas_GL_API::evasglUnbindWaylandDisplay) (Evas_GL *evas_gl, void *wl_display)

Requires the extension `EGL_WL_bind_wayland_display`, similar to eglUnbindWaylandDisplayWL.

Eina_Bool(* _Evas_GL_API::evasglQueryWaylandBuffer) (Evas_GL *evas_gl, void *buffer, int attribute, int *value)

Requires the extension `EGL_WL_bind_wayland_display`, similar to eglQueryWaylandBufferWL.