Tizen Native API
_Evas_GL_API Struct Reference

Public Attributes

int version
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 **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.
void(* glEvasGLImageTargetRenderbufferStorageOES )(GLenum target, EvasGLImage image)
 Requires the GL_OES_EGL_image extension, similar to glEGLImageTargetRenderbufferStorageOES.
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)
 Create an EvasGLImage for the current context.
void(* evasglDestroyImage )(EvasGLImage image)
 Destroys an EvasGLImage. Destroy an image created by either evasglCreateImage or evasglCreateImageForContext.
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.
OpenGL-ES 1.1

Evas_GL_API version 2.

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.

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
Since :
2.3.1
EvasGLSync(* evasglCreateSync )(Evas_GL *evas_gl, unsigned int type, const int *attrib_list)
 Requires the extension EGL_KHR_fence_sync, similar to eglCreateSyncKHR.
Eina_Bool(* evasglDestroySync )(Evas_GL *evas_gl, EvasGLSync sync)
 Requires the extension EGL_KHR_fence_sync, similar to eglDestroySyncKHR.
int(* evasglClientWaitSync )(Evas_GL *evas_gl, EvasGLSync sync, int flags, EvasGLTime timeout)
 Requires the extension EGL_KHR_fence_sync, similar to eglClientWaitSyncKHR.
Eina_Bool(* evasglSignalSync )(Evas_GL *evas_gl, EvasGLSync sync, unsigned mode)
 Requires the extension EGL_KHR_reusable_sync, similar to eglSignalSyncKHR.
Eina_Bool(* evasglGetSyncAttrib )(Evas_GL *evas_gl, EvasGLSync sync, int attribute, int *value)
 Requires the extension EGL_KHR_fence_sync, similar to eglGetSyncAttribKHR.
int(* evasglWaitSync )(Evas_GL *evas_gl, EvasGLSync sync, int flags)
 Requires the extension EGL_KHR_wait_sync, similar to eglWaitSyncKHR.

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.


Member Data Documentation

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

Requires the extension EGL_KHR_fence_sync, similar to eglClientWaitSyncKHR.

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

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.
Note:
Please consider using evasglCreateImageForContext instead.
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_glThe current Evas GL object,
[in]ctxA context to create this image for,
[in]targetOne of EVAS_GL_TEXTURE_2D and EVAS_GL_NATIVE_SURFACE_TIZEN,
[in]bufferA pointer to a buffer, see below,
[in]attrib_listAn 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.
Since :
2.3.1
EvasGLSync(* _Evas_GL_API::evasglCreateSync)(Evas_GL *evas_gl, unsigned int type, const int *attrib_list)

Requires the extension EGL_KHR_fence_sync, similar to eglCreateSyncKHR.

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

Requires the EVAS_GL_image extension.

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

Requires the extension EGL_KHR_fence_sync, similar to eglDestroySyncKHR.

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

Requires the extension EGL_KHR_fence_sync, similar to eglGetSyncAttribKHR.

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

Requires the extension EGL_KHR_reusable_sync, similar to eglSignalSyncKHR.

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

Requires the extension EGL_KHR_wait_sync, similar to eglWaitSyncKHR.

The current version number is EVAS_GL_API_VERSION (2). This should not be confused with the OpenGL-ES context version.