EvasGL: Add support for Evas GL 3.1
Summary: 2 wrapper functions are added. (glFramebufferParameteri, glGetFramebufferParameteriv) update gl2ext.h(generated 20160209) in evas_gl.h Test Plan: OpenGL ES Conformance Test Reviewers: jpeg Subscribers: spacegrapher, wonsik, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D3782
This commit is contained in:
parent
4ee015f755
commit
8b5d5a5a8d
File diff suppressed because it is too large
Load Diff
|
@ -750,6 +750,56 @@ _evgl_glDisable(GLenum cap)
|
|||
glDisable(cap);
|
||||
}
|
||||
|
||||
void
|
||||
_evgl_glFramebufferParameteri(GLenum target, GLenum pname, GLint param)
|
||||
{
|
||||
EVGL_Resource *rsc;
|
||||
EVGL_Context *ctx;
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN(_gles3_api.glFramebufferParameteri);
|
||||
|
||||
if (!(rsc=_evgl_tls_resource_get()))
|
||||
{
|
||||
ERR("Unable to execute GL command. Error retrieving tls");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!rsc->current_eng)
|
||||
{
|
||||
ERR("Unable to retrive Current Engine");
|
||||
return;
|
||||
}
|
||||
|
||||
ctx = rsc->current_ctx;
|
||||
if (!ctx)
|
||||
{
|
||||
ERR("Unable to retrive Current Context");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_evgl_direct_enabled())
|
||||
{
|
||||
if (target == GL_DRAW_FRAMEBUFFER || target == GL_FRAMEBUFFER)
|
||||
{
|
||||
if (ctx->current_draw_fbo == 0)
|
||||
{
|
||||
SET_GL_ERROR(GL_INVALID_OPERATION);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (target == GL_READ_FRAMEBUFFER)
|
||||
{
|
||||
if (ctx->current_read_fbo == 0)
|
||||
{
|
||||
SET_GL_ERROR(GL_INVALID_OPERATION);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_gles3_api.glFramebufferParameteri(target, pname, param);
|
||||
}
|
||||
|
||||
static void
|
||||
_evgl_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
|
||||
{
|
||||
|
@ -1070,6 +1120,55 @@ _evgl_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GL
|
|||
glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
|
||||
}
|
||||
|
||||
void
|
||||
_evgl_glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint* params)
|
||||
{
|
||||
EVGL_Resource *rsc;
|
||||
EVGL_Context *ctx;
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN(_gles3_api.glGetFramebufferParameteriv);
|
||||
|
||||
if (!(rsc=_evgl_tls_resource_get()))
|
||||
{
|
||||
ERR("Unable to execute GL command. Error retrieving tls");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!rsc->current_eng)
|
||||
{
|
||||
ERR("Unable to retrive Current Engine");
|
||||
return;
|
||||
}
|
||||
|
||||
ctx = rsc->current_ctx;
|
||||
if (!ctx)
|
||||
{
|
||||
ERR("Unable to retrive Current Context");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_evgl_direct_enabled())
|
||||
{
|
||||
if (target == GL_DRAW_FRAMEBUFFER || target == GL_FRAMEBUFFER)
|
||||
{
|
||||
if (ctx->current_draw_fbo == 0)
|
||||
{
|
||||
SET_GL_ERROR(GL_INVALID_OPERATION);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (target == GL_READ_FRAMEBUFFER)
|
||||
{
|
||||
if (ctx->current_read_fbo == 0)
|
||||
{
|
||||
SET_GL_ERROR(GL_INVALID_OPERATION);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_gles3_api.glGetFramebufferParameteriv(target, pname, params);
|
||||
}
|
||||
void
|
||||
_evgl_glGetIntegerv(GLenum pname, GLint* params)
|
||||
{
|
||||
|
@ -2472,7 +2571,7 @@ _evgl_api_gles2_get(Evas_GL_API *funcs, Eina_Bool debug)
|
|||
}
|
||||
|
||||
static void
|
||||
_normal_gles3_api_get(Evas_GL_API *funcs)
|
||||
_normal_gles3_api_get(Evas_GL_API *funcs, int minor_version)
|
||||
{
|
||||
if (!funcs) return;
|
||||
funcs->version = EVAS_GL_API_VERSION;
|
||||
|
@ -2731,11 +2830,84 @@ _normal_gles3_api_get(Evas_GL_API *funcs)
|
|||
ORD(glVertexAttribIPointer);
|
||||
ORD(glWaitSync);
|
||||
|
||||
if (minor_version > 0)
|
||||
{
|
||||
//GLES 3.1
|
||||
ORD(glDispatchCompute);
|
||||
ORD(glDispatchComputeIndirect);
|
||||
ORD(glDrawArraysIndirect);
|
||||
ORD(glDrawElementsIndirect);
|
||||
ORD(glFramebufferParameteri);
|
||||
ORD(glGetFramebufferParameteriv);
|
||||
ORD(glGetProgramInterfaceiv);
|
||||
ORD(glGetProgramResourceIndex);
|
||||
ORD(glGetProgramResourceName);
|
||||
ORD(glGetProgramResourceiv);
|
||||
ORD(glGetProgramResourceLocation);
|
||||
ORD(glUseProgramStages);
|
||||
ORD(glActiveShaderProgram);
|
||||
ORD(glCreateShaderProgramv);
|
||||
ORD(glBindProgramPipeline);
|
||||
ORD(glDeleteProgramPipelines);
|
||||
ORD(glGenProgramPipelines);
|
||||
ORD(glIsProgramPipeline);
|
||||
ORD(glGetProgramPipelineiv);
|
||||
ORD(glProgramUniform1i);
|
||||
ORD(glProgramUniform2i);
|
||||
ORD(glProgramUniform3i);
|
||||
ORD(glProgramUniform4i);
|
||||
ORD(glProgramUniform1ui);
|
||||
ORD(glProgramUniform2ui);
|
||||
ORD(glProgramUniform3ui);
|
||||
ORD(glProgramUniform4ui);
|
||||
ORD(glProgramUniform1f);
|
||||
ORD(glProgramUniform2f);
|
||||
ORD(glProgramUniform3f);
|
||||
ORD(glProgramUniform4f);
|
||||
ORD(glProgramUniform1iv);
|
||||
ORD(glProgramUniform2iv);
|
||||
ORD(glProgramUniform3iv);
|
||||
ORD(glProgramUniform4iv);
|
||||
ORD(glProgramUniform1uiv);
|
||||
ORD(glProgramUniform2uiv);
|
||||
ORD(glProgramUniform3uiv);
|
||||
ORD(glProgramUniform4uiv);
|
||||
ORD(glProgramUniform1fv);
|
||||
ORD(glProgramUniform2fv);
|
||||
ORD(glProgramUniform3fv);
|
||||
ORD(glProgramUniform4fv);
|
||||
ORD(glProgramUniformMatrix2fv);
|
||||
ORD(glProgramUniformMatrix3fv);
|
||||
ORD(glProgramUniformMatrix4fv);
|
||||
ORD(glProgramUniformMatrix2x3fv);
|
||||
ORD(glProgramUniformMatrix3x2fv);
|
||||
ORD(glProgramUniformMatrix2x4fv);
|
||||
ORD(glProgramUniformMatrix4x2fv);
|
||||
ORD(glProgramUniformMatrix3x4fv);
|
||||
ORD(glProgramUniformMatrix4x3fv);
|
||||
ORD(glValidateProgramPipeline);
|
||||
ORD(glGetProgramPipelineInfoLog);
|
||||
ORD(glBindImageTexture);
|
||||
ORD(glGetBooleani_v);
|
||||
ORD(glMemoryBarrier);
|
||||
ORD(glMemoryBarrierByRegion);
|
||||
ORD(glTexStorage2DMultisample);
|
||||
ORD(glGetMultisamplefv);
|
||||
ORD(glSampleMaski);
|
||||
ORD(glGetTexLevelParameteriv);
|
||||
ORD(glGetTexLevelParameterfv);
|
||||
ORD(glBindVertexBuffer);
|
||||
ORD(glVertexAttribFormat);
|
||||
ORD(glVertexAttribIFormat);
|
||||
ORD(glVertexAttribBinding);
|
||||
ORD(glVertexBindingDivisor);
|
||||
}
|
||||
|
||||
#undef ORD
|
||||
}
|
||||
|
||||
static void
|
||||
_debug_gles3_api_get(Evas_GL_API *funcs)
|
||||
_debug_gles3_api_get(Evas_GL_API *funcs, int minor_version)
|
||||
{
|
||||
if (!funcs) return;
|
||||
funcs->version = EVAS_GL_API_VERSION;
|
||||
|
@ -2991,12 +3163,86 @@ _debug_gles3_api_get(Evas_GL_API *funcs)
|
|||
ORD(glVertexAttribI4uiv);
|
||||
ORD(glVertexAttribIPointer);
|
||||
ORD(glWaitSync);
|
||||
|
||||
if (minor_version > 0)
|
||||
{
|
||||
//GLES 3.1
|
||||
ORD(glDispatchCompute);
|
||||
ORD(glDispatchComputeIndirect);
|
||||
ORD(glDrawArraysIndirect);
|
||||
ORD(glDrawElementsIndirect);
|
||||
ORD(glFramebufferParameteri);
|
||||
ORD(glGetFramebufferParameteriv);
|
||||
ORD(glGetProgramInterfaceiv);
|
||||
ORD(glGetProgramResourceIndex);
|
||||
ORD(glGetProgramResourceName);
|
||||
ORD(glGetProgramResourceiv);
|
||||
ORD(glGetProgramResourceLocation);
|
||||
ORD(glUseProgramStages);
|
||||
ORD(glActiveShaderProgram);
|
||||
ORD(glCreateShaderProgramv);
|
||||
ORD(glBindProgramPipeline);
|
||||
ORD(glDeleteProgramPipelines);
|
||||
ORD(glGenProgramPipelines);
|
||||
ORD(glIsProgramPipeline);
|
||||
ORD(glGetProgramPipelineiv);
|
||||
ORD(glProgramUniform1i);
|
||||
ORD(glProgramUniform2i);
|
||||
ORD(glProgramUniform3i);
|
||||
ORD(glProgramUniform4i);
|
||||
ORD(glProgramUniform1ui);
|
||||
ORD(glProgramUniform2ui);
|
||||
ORD(glProgramUniform3ui);
|
||||
ORD(glProgramUniform4ui);
|
||||
ORD(glProgramUniform1f);
|
||||
ORD(glProgramUniform2f);
|
||||
ORD(glProgramUniform3f);
|
||||
ORD(glProgramUniform4f);
|
||||
ORD(glProgramUniform1iv);
|
||||
ORD(glProgramUniform2iv);
|
||||
ORD(glProgramUniform3iv);
|
||||
ORD(glProgramUniform4iv);
|
||||
ORD(glProgramUniform1uiv);
|
||||
ORD(glProgramUniform2uiv);
|
||||
ORD(glProgramUniform3uiv);
|
||||
ORD(glProgramUniform4uiv);
|
||||
ORD(glProgramUniform1fv);
|
||||
ORD(glProgramUniform2fv);
|
||||
ORD(glProgramUniform3fv);
|
||||
ORD(glProgramUniform4fv);
|
||||
ORD(glProgramUniformMatrix2fv);
|
||||
ORD(glProgramUniformMatrix3fv);
|
||||
ORD(glProgramUniformMatrix4fv);
|
||||
ORD(glProgramUniformMatrix2x3fv);
|
||||
ORD(glProgramUniformMatrix3x2fv);
|
||||
ORD(glProgramUniformMatrix2x4fv);
|
||||
ORD(glProgramUniformMatrix4x2fv);
|
||||
ORD(glProgramUniformMatrix3x4fv);
|
||||
ORD(glProgramUniformMatrix4x3fv);
|
||||
ORD(glValidateProgramPipeline);
|
||||
ORD(glGetProgramPipelineInfoLog);
|
||||
ORD(glBindImageTexture);
|
||||
ORD(glGetBooleani_v);
|
||||
ORD(glMemoryBarrier);
|
||||
ORD(glMemoryBarrierByRegion);
|
||||
ORD(glTexStorage2DMultisample);
|
||||
ORD(glGetMultisamplefv);
|
||||
ORD(glSampleMaski);
|
||||
ORD(glGetTexLevelParameteriv);
|
||||
ORD(glGetTexLevelParameterfv);
|
||||
ORD(glBindVertexBuffer);
|
||||
ORD(glVertexAttribFormat);
|
||||
ORD(glVertexAttribIFormat);
|
||||
ORD(glVertexAttribBinding);
|
||||
ORD(glVertexBindingDivisor);
|
||||
}
|
||||
|
||||
#undef ORD
|
||||
}
|
||||
|
||||
|
||||
static Eina_Bool
|
||||
_evgl_load_gles3_apis(void *dl_handle, Evas_GL_API *funcs)
|
||||
_evgl_load_gles3_apis(void *dl_handle, Evas_GL_API *funcs, int minor_version)
|
||||
{
|
||||
if (!dl_handle) return EINA_FALSE;
|
||||
|
||||
|
@ -3116,6 +3362,80 @@ _evgl_load_gles3_apis(void *dl_handle, Evas_GL_API *funcs)
|
|||
ORD(glVertexAttribI4uiv);
|
||||
ORD(glVertexAttribIPointer);
|
||||
ORD(glWaitSync);
|
||||
|
||||
if (minor_version > 0)
|
||||
{
|
||||
//GLES 3.1
|
||||
ORD(glDispatchCompute);
|
||||
ORD(glDispatchComputeIndirect);
|
||||
ORD(glDrawArraysIndirect);
|
||||
ORD(glDrawElementsIndirect);
|
||||
ORD(glFramebufferParameteri);
|
||||
ORD(glGetFramebufferParameteriv);
|
||||
ORD(glGetProgramInterfaceiv);
|
||||
ORD(glGetProgramResourceIndex);
|
||||
ORD(glGetProgramResourceName);
|
||||
ORD(glGetProgramResourceiv);
|
||||
ORD(glGetProgramResourceLocation);
|
||||
ORD(glUseProgramStages);
|
||||
ORD(glActiveShaderProgram);
|
||||
ORD(glCreateShaderProgramv);
|
||||
ORD(glBindProgramPipeline);
|
||||
ORD(glDeleteProgramPipelines);
|
||||
ORD(glGenProgramPipelines);
|
||||
ORD(glIsProgramPipeline);
|
||||
ORD(glGetProgramPipelineiv);
|
||||
ORD(glProgramUniform1i);
|
||||
ORD(glProgramUniform2i);
|
||||
ORD(glProgramUniform3i);
|
||||
ORD(glProgramUniform4i);
|
||||
ORD(glProgramUniform1ui);
|
||||
ORD(glProgramUniform2ui);
|
||||
ORD(glProgramUniform3ui);
|
||||
ORD(glProgramUniform4ui);
|
||||
ORD(glProgramUniform1f);
|
||||
ORD(glProgramUniform2f);
|
||||
ORD(glProgramUniform3f);
|
||||
ORD(glProgramUniform4f);
|
||||
ORD(glProgramUniform1iv);
|
||||
ORD(glProgramUniform2iv);
|
||||
ORD(glProgramUniform3iv);
|
||||
ORD(glProgramUniform4iv);
|
||||
ORD(glProgramUniform1uiv);
|
||||
ORD(glProgramUniform2uiv);
|
||||
ORD(glProgramUniform3uiv);
|
||||
ORD(glProgramUniform4uiv);
|
||||
ORD(glProgramUniform1fv);
|
||||
ORD(glProgramUniform2fv);
|
||||
ORD(glProgramUniform3fv);
|
||||
ORD(glProgramUniform4fv);
|
||||
ORD(glProgramUniformMatrix2fv);
|
||||
ORD(glProgramUniformMatrix3fv);
|
||||
ORD(glProgramUniformMatrix4fv);
|
||||
ORD(glProgramUniformMatrix2x3fv);
|
||||
ORD(glProgramUniformMatrix3x2fv);
|
||||
ORD(glProgramUniformMatrix2x4fv);
|
||||
ORD(glProgramUniformMatrix4x2fv);
|
||||
ORD(glProgramUniformMatrix3x4fv);
|
||||
ORD(glProgramUniformMatrix4x3fv);
|
||||
ORD(glValidateProgramPipeline);
|
||||
ORD(glGetProgramPipelineInfoLog);
|
||||
ORD(glBindImageTexture);
|
||||
ORD(glGetBooleani_v);
|
||||
ORD(glMemoryBarrier);
|
||||
ORD(glMemoryBarrierByRegion);
|
||||
ORD(glTexStorage2DMultisample);
|
||||
ORD(glGetMultisamplefv);
|
||||
ORD(glSampleMaski);
|
||||
ORD(glGetTexLevelParameteriv);
|
||||
ORD(glGetTexLevelParameterfv);
|
||||
ORD(glBindVertexBuffer);
|
||||
ORD(glVertexAttribFormat);
|
||||
ORD(glVertexAttribIFormat);
|
||||
ORD(glVertexAttribBinding);
|
||||
ORD(glVertexBindingDivisor);
|
||||
}
|
||||
|
||||
#undef ORD
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
@ -3123,7 +3443,7 @@ _evgl_load_gles3_apis(void *dl_handle, Evas_GL_API *funcs)
|
|||
|
||||
|
||||
static Eina_Bool
|
||||
_evgl_gles3_api_init(void)
|
||||
_evgl_gles3_api_init(int minor_version)
|
||||
{
|
||||
static Eina_Bool _initialized = EINA_FALSE;
|
||||
if (_initialized) return EINA_TRUE;
|
||||
|
@ -3155,7 +3475,7 @@ _evgl_gles3_api_init(void)
|
|||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
if (!_evgl_load_gles3_apis(_gles3_handle, &_gles3_api))
|
||||
if (!_evgl_load_gles3_apis(_gles3_handle, &_gles3_api, minor_version))
|
||||
{
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
@ -3168,13 +3488,22 @@ _evgl_gles3_api_init(void)
|
|||
void
|
||||
_evgl_api_gles3_get(Evas_GL_API *funcs, Eina_Bool debug)
|
||||
{
|
||||
if (!_evgl_gles3_api_init())
|
||||
const char *ret = (const char *) glGetString(GL_VERSION);
|
||||
int minor_version = ret[12] - '0';
|
||||
|
||||
if (minor_version > 9 || minor_version < 0)
|
||||
{
|
||||
ERR("OpenGL ES version is invalid.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_evgl_gles3_api_init(minor_version))
|
||||
return;
|
||||
|
||||
if (debug)
|
||||
_debug_gles3_api_get(funcs);
|
||||
_debug_gles3_api_get(funcs, minor_version);
|
||||
else
|
||||
_normal_gles3_api_get(funcs);
|
||||
_normal_gles3_api_get(funcs, minor_version);
|
||||
|
||||
if (evgl_engine->direct_scissor_off)
|
||||
_direct_scissor_off_api_get(funcs);
|
||||
|
|
|
@ -549,6 +549,42 @@ _evgl_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenu
|
|||
#undef _EVASGL_EXT_FUNCTION_DRVFUNC
|
||||
#undef _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR
|
||||
|
||||
//3.X ext bodies
|
||||
#define _EVASGL_EXT_CHECK_SUPPORT(name)
|
||||
#define _EVASGL_EXT_DISCARD_SUPPORT()
|
||||
#define _EVASGL_EXT_BEGIN(name)
|
||||
#define _EVASGL_EXT_END()
|
||||
#define _EVASGL_EXT_DRVNAME(name)
|
||||
#define _EVASGL_EXT_DRVNAME_PRIVATE(name)
|
||||
#define _EVASGL_EXT_DRVNAME_DESKTOP(deskname)
|
||||
#define _EVASGL_EXT_FUNCTION_BEGIN(ret, name, param1, param2) \
|
||||
static ret evgl_gles3_##name param1 { EVGL_FUNC_BEGIN(); return EXT_FUNC_GLES3(name) param2; }
|
||||
#define _EVASGL_EXT_FUNCTION_END()
|
||||
#define _EVASGL_EXT_FUNCTION_DISABLE_FOR_GLES1_BEGIN()
|
||||
#define _EVASGL_EXT_FUNCTION_DISABLE_FOR_GLES1_END()
|
||||
#define _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN(ret, name, param1, param2)
|
||||
#define _EVASGL_EXT_FUNCTION_PRIVATE_END()
|
||||
#define _EVASGL_EXT_FUNCTION_DRVFUNC(name)
|
||||
#define _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR(name)
|
||||
|
||||
#include "evas_gl_api_ext_def.h"
|
||||
|
||||
#undef _EVASGL_EXT_CHECK_SUPPORT
|
||||
#undef _EVASGL_EXT_DISCARD_SUPPORT
|
||||
#undef _EVASGL_EXT_BEGIN
|
||||
#undef _EVASGL_EXT_END
|
||||
#undef _EVASGL_EXT_DRVNAME
|
||||
#undef _EVASGL_EXT_DRVNAME_PRIVATE
|
||||
#undef _EVASGL_EXT_DRVNAME_DESKTOP
|
||||
#undef _EVASGL_EXT_FUNCTION_BEGIN
|
||||
#undef _EVASGL_EXT_FUNCTION_END
|
||||
#undef _EVASGL_EXT_FUNCTION_DISABLE_FOR_GLES1_BEGIN
|
||||
#undef _EVASGL_EXT_FUNCTION_DISABLE_FOR_GLES1_END
|
||||
#undef _EVASGL_EXT_FUNCTION_PRIVATE_BEGIN
|
||||
#undef _EVASGL_EXT_FUNCTION_PRIVATE_END
|
||||
#undef _EVASGL_EXT_FUNCTION_DRVFUNC
|
||||
#undef _EVASGL_EXT_FUNCTION_DRVFUNC_PROCADDR
|
||||
|
||||
// 0: not initialized,
|
||||
// 1: GLESv2 initialized,
|
||||
// 3: GLESv1 and GLESv2 initialized,
|
||||
|
@ -1489,7 +1525,7 @@ evgl_api_gles3_ext_get(Evas_GL_API *gl_funcs, void *getproc, const char *glueext
|
|||
}
|
||||
}
|
||||
|
||||
#define ORD(f) EVAS_API_OVERRIDE(f, gl_funcs, evgl_)
|
||||
#define ORD(f) EVAS_API_OVERRIDE(f, gl_funcs, evgl_gles3_)
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Extension HEADER
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glDrawBuffers, (GLsizei n, const GLenum *bufs), (n, bufs))
|
||||
_EVASGL_FUNCTION_PRIVATE_BEGIN(const GLubyte *, glGetStringi, (GLenum name, GLuint index), (name, index))
|
||||
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glReadBuffer, (GLenum src), (src))
|
||||
//GLES 3.1
|
||||
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glFramebufferParameteri, (GLenum target, GLenum pname, GLint param), (target, pname, param))
|
||||
_EVASGL_FUNCTION_PRIVATE_BEGIN_VOID( glGetFramebufferParameteriv, (GLenum target, GLenum pname, GLint *params), (target, pname, params))
|
||||
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glBeginQuery, (GLenum target, GLuint id), (target, id))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glBeginTransformFeedback, (GLenum primitiveMode), (primitiveMode))
|
||||
|
@ -103,3 +106,72 @@ _EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribI4ui, (GLuint index, GLuint v0, GLuin
|
|||
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribI4uiv, (GLuint index, const GLuint *v), (index, v))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribIPointer, (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), (index, size, type, stride, pointer))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glWaitSync, (GLsync sync, GLbitfield flags, EvasGLuint64 timeout), (sync, flags, timeout))
|
||||
|
||||
|
||||
//GLES 3.1
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glDispatchCompute, (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z), (num_groups_x, num_groups_y, num_groups_z))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glDispatchComputeIndirect, (GLintptr indirect), (indirect))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glDrawArraysIndirect, (GLenum mode, const void *indirect), (mode, indirect))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glDrawElementsIndirect, (GLenum mode, GLenum type, const void *indirect), (mode, type, indirect))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glGetProgramInterfaceiv, (GLuint program, GLenum programInterface, GLenum pname, GLint *params), (program, programInterface, pname, params))
|
||||
_EVASGL_FUNCTION_BEGIN(GLuint, glGetProgramResourceIndex, (GLuint program, GLenum programInterface, const GLchar *name), (program, programInterface, name))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glGetProgramResourceName, (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name), (program, programInterface, index, bufSize, length, name))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glGetProgramResourceiv, (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params), (program, programInterface, index, propCount, props, bufSize, length, params))
|
||||
_EVASGL_FUNCTION_BEGIN(GLuint, glGetProgramResourceLocation, (GLuint program, GLenum programInterface, const GLchar *name), (program, programInterface, name))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glUseProgramStages, (GLuint pipeline, GLbitfield stages, GLuint program), (pipeline, stages, program))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glActiveShaderProgram, (GLuint pipeline, GLuint program), (pipeline, program))
|
||||
_EVASGL_FUNCTION_BEGIN(GLuint, glCreateShaderProgramv, (GLenum type, GLsizei count, const GLchar *const*strings), (type, count, strings))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glBindProgramPipeline, (GLuint pipeline), (pipeline))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glDeleteProgramPipelines, (GLsizei n, const GLuint *pipelines), (n, pipelines))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glGenProgramPipelines, (GLsizei n, GLuint *pipelines), (n, pipelines))
|
||||
_EVASGL_FUNCTION_BEGIN(GLboolean, glIsProgramPipeline, (GLuint pipeline), (pipeline))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glGetProgramPipelineiv, (GLuint pipeline, GLenum pname, GLint *params), (pipeline, pname, params))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform1i, (GLuint program, GLint location, GLint v0), (program, location, v0))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform2i, (GLuint program, GLint location, GLint v0, GLint v1), (program, location, v0, v1))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform3i, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2), (program, location, v0, v1, v2))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform4i, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3), (program, location, v0, v1, v2, v3))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform1ui, (GLuint program, GLint location, GLuint v0), (program, location, v0))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform2ui, (GLuint program, GLint location, GLuint v0, GLuint v1), (program, location, v0, v1))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform3ui, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2), (program, location, v0, v1, v2))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform4ui, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3), (program, location, v0, v1, v2, v3))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform1f, (GLuint program, GLint location, GLfloat v0), (program, location, v0))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform2f, (GLuint program, GLint location, GLfloat v0, GLfloat v1) ,(program, location, v0, v1))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform3f, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2), (program, location, v0, v1, v2))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform4f, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3), (program, location, v0, v1, v2, v3))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform1iv, (GLuint program, GLint location, GLsizei count, const GLint *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform2iv, (GLuint program, GLint location, GLsizei count, const GLint *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform3iv, (GLuint program, GLint location, GLsizei count, const GLint *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform4iv, (GLuint program, GLint location, GLsizei count, const GLint *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform1uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform2uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform3uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform4uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform1fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform2fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform3fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniform4fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value), (program, location, count, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniformMatrix2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value), (program, location, count, transpose, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniformMatrix3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value), (program, location, count, transpose, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniformMatrix4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value), (program, location, count, transpose, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniformMatrix2x3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value), (program, location, count, transpose, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniformMatrix3x2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value), (program, location, count, transpose, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniformMatrix2x4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value), (program, location, count, transpose, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniformMatrix4x2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value), (program, location, count, transpose, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniformMatrix3x4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value), (program, location, count, transpose, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glProgramUniformMatrix4x3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value), (program, location, count, transpose, value))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glValidateProgramPipeline, (GLuint pipeline), (pipeline))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glGetProgramPipelineInfoLog, (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog), (pipeline, bufSize, length, infoLog))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glBindImageTexture, (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format), (unit, texture, level, layered, layer, access, format))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glGetBooleani_v, (GLenum target, GLuint index, GLboolean *data), (target, index, data))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glMemoryBarrier, (GLbitfield barriers), (barriers))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glMemoryBarrierByRegion, (GLbitfield barriers), (barriers))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glTexStorage2DMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations), (target, samples, internalformat, width, height, fixedsamplelocations))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glGetMultisamplefv, (GLenum pname, GLuint index, GLfloat *val), (pname, index, val))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glSampleMaski, (GLuint maskNumber, GLbitfield mask), (maskNumber, mask))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glGetTexLevelParameteriv, (GLenum target, GLint level, GLenum pname, GLint *params), (target, level, pname, params))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glGetTexLevelParameterfv, (GLenum target, GLint level, GLenum pname, GLfloat *params), (target, level, pname, params))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glBindVertexBuffer, (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride), (bindingindex, buffer, offset, stride))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribFormat, (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset), (attribindex, size, type, normalized, relativeoffset))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribIFormat, (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset), (attribindex, size, type, relativeoffset))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glVertexAttribBinding, (GLuint attribindex, GLuint bindingindex), (attribindex, bindingindex))
|
||||
_EVASGL_FUNCTION_BEGIN_VOID( glVertexBindingDivisor, (GLuint bindingindex, GLuint divisor), (bindingindex, divisor))
|
Loading…
Reference in New Issue