diff --git a/shell/platform/tizen/external_texture_pixel_gl.cc b/shell/platform/tizen/external_texture_pixel_gl.cc index b50f88ce3776e..85573ea396204 100644 --- a/shell/platform/tizen/external_texture_pixel_gl.cc +++ b/shell/platform/tizen/external_texture_pixel_gl.cc @@ -8,7 +8,7 @@ #undef EFL_BETA_API_SUPPORT #include "tizen_evas_gl_helper.h" extern Evas_GL* g_evas_gl; -EVAS_GL_GLOBAL_GLES3_DECLARE(); +EVAS_GL_GLOBAL_GLES2_DECLARE(); #else #include #include diff --git a/shell/platform/tizen/external_texture_surface_gl.cc b/shell/platform/tizen/external_texture_surface_gl.cc index 83ade4ae823cc..dcbc0d9001704 100644 --- a/shell/platform/tizen/external_texture_surface_gl.cc +++ b/shell/platform/tizen/external_texture_surface_gl.cc @@ -10,7 +10,7 @@ #undef EFL_BETA_API_SUPPORT #include "tizen_evas_gl_helper.h" extern Evas_GL* g_evas_gl; -EVAS_GL_GLOBAL_GLES3_DECLARE(); +EVAS_GL_GLOBAL_GLES2_DECLARE(); #else #include #include diff --git a/shell/platform/tizen/tizen_evas_gl_helper.h b/shell/platform/tizen/tizen_evas_gl_helper.h index 6994c19033114..578e0b5deedf0 100644 --- a/shell/platform/tizen/tizen_evas_gl_helper.h +++ b/shell/platform/tizen/tizen_evas_gl_helper.h @@ -1,18 +1,17 @@ -// This file is a copy of Tizen's Evas_GL_GLES3_Helpers.h file. -// https://docs.tizen.org/application/native/api/wearable/5.5/group__Evas__GL__GLES3__Helpers.html +// This file is a copy of Tizen's Evas_GL_GLES2_Helpers.h file. +// https://docs.tizen.org/application/native/api/wearable/5.5/group__Evas__GL__GLES2__Helpers.html /** - * @file Evas_GL_GLES3_Helpers.h - * @defgroup Evas_GL_GLES3_Helpers Evas GL GLES3 helpers + * @file Evas_GL_GLES2_Helpers.h + * @defgroup Evas_GL_GLES2_Helpers Evas GL GLES2 helpers * @ingroup Evas_GL */ /** - * @brief Provides a set of helper functions and macros to use GLES 3.0 with + * @brief Provides a set of helper functions and macros to use GLES 2.0 with * @ref Evas_GL "Evas GL". * - * This file redefines all the OpenGL-ES 2.0 and OpenGL-ES 3.0 functions as -follow: + * This file redefines all the OpenGL-ES 2.0 functions as follow: * @code #define glFunction __evas_gl_glapi->glFunction * @endcode @@ -31,27 +30,27 @@ if (glExtensionFunction) * @ref Elementary_GL_Helpers "Elementary_GL_Helpers.h" instead. * * This header file should be included when using @ref Evas_GL "Evas GL" - * directly at a low level and with an OpenGL-ES 3.0 context only. + * directly at a low level and with an OpenGL-ES 2.0 context only. * * @note When this file is included, all @c glFunctions are now macros, which * means that the @ref Evas_GL_API struct can't be used anyore. * * @see @ref elm_opengl_page */ -#ifndef _EVAS_GL_GLES3_HELPERS_H -#define _EVAS_GL_GLES3_HELPERS_H +#ifndef _EVAS_GL_GLES2_HELPERS_H +#define _EVAS_GL_GLES2_HELPERS_H #include // local convenience macros /** - * @addtogroup Evas_GL_GLES3_Helpers + * @addtogroup Evas_GL_GLES2_Helpers * @{ */ /** - * @brief Macro to place at the beginning of any function using GLES 3.0 APIs + * @brief Macro to place at the beginning of any function using GLES 2.0 APIs * * Normally, it is necessary to call each function using its pointer as in: * @code @@ -61,26 +60,26 @@ glapi->glFunction(); * When using this macro, developers can then call all @c glFunctions without * changing their code: * @code -EVAS_GL_GLES3_USE(evasgl, context); // Add this at the beginning +EVAS_GL_GLES2_USE(evasgl, context); // Add this at the beginning glFunction(); // All calls 'look' normal * @endcode * * @note Please use @ref ELEMENTARY_GLVIEW_USE() instead, when possible. - * @since_tizen 2.4 + * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif */ -#define EVAS_GL_GLES3_USE(evasgl, context) \ +#define EVAS_GL_GLES2_USE(evasgl, context) \ Evas_GL_API* __evas_gl_glapi = evas_gl_context_api_get(evasgl, context); /** - * @brief Macro to place at the beginning of any function using GLES 3.0 APIs + * @brief Macro to place at the beginning of any function using GLES 2.0 APIs * - * This is similar to @ref EVAS_GL_GLES3_USE except that it will return from + * This is similar to @ref EVAS_GL_GLES2_USE except that it will return from * the function if the GL API can not be used. * * @note Please use @ref ELEMENTARY_GLVIEW_USE() instead, when possible. - * @since_tizen 2.4 + * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif */ -#define EVAS_GL_GLES3_USE_OR_RETURN(evasgl, context, retval) \ +#define EVAS_GL_GLES2_USE_OR_RETURN(evasgl, context, retval) \ Evas_GL_API* __evas_gl_glapi = evas_gl_context_api_get(evasgl, context); \ if (!__evas_gl_glapi) \ return retval; @@ -93,17 +92,17 @@ glFunction(); // All calls 'look' normal * @brief Convenience macro to use the GL helpers in simple applications: declare * - * @c EVAS_GL_GLOBAL_GLES3_DECLARE should be used in a global header for the + * @c EVAS_GL_GLOBAL_GLES2_DECLARE should be used in a global header for the * application. For example, in a platform-specific compatibility header file. * - * To be used with OpenGL-ES 3.0 contexts. + * To be used with OpenGL-ES 2.0 contexts. * * Example of a global header file @c main.h: * @code -#include +#include // other includes... -EVAS_GL_GLOBAL_GLES3_DECLARE() +EVAS_GL_GLOBAL_GLES2_DECLARE() // ... * @endcode @@ -111,23 +110,23 @@ EVAS_GL_GLOBAL_GLES3_DECLARE() * @note Please use @ref ELEMENTARY_GLVIEW_USE() instead, when possible. * * @see @ref ELEMENTARY_GLVIEW_GLOBAL_DECLARE - * @see @ref EVAS_GL_GLOBAL_GLES3_DEFINE - * @see @ref EVAS_GL_GLOBAL_GLES3_USE + * @see @ref EVAS_GL_GLOBAL_GLES2_DEFINE + * @see @ref EVAS_GL_GLOBAL_GLES2_USE * - * @since_tizen 2.4 + * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif */ -#define EVAS_GL_GLOBAL_GLES3_DECLARE() extern Evas_GL_API* __evas_gl_glapi; +#define EVAS_GL_GLOBAL_GLES2_DECLARE() extern Evas_GL_API* __evas_gl_glapi; /** * @brief Convenience macro to use the GL helpers in simple applications: define * - * To be used with OpenGL-ES 3.0 contexts. + * To be used with OpenGL-ES 2.0 contexts. * * Example of a file @c glview.c: * * @code #include "main.h" -EVAS_GL_GLOBAL_GLES3_DEFINE() +EVAS_GL_GLOBAL_GLES2_DEFINE() // ... @@ -137,8 +136,8 @@ evgl_init(...) // ... evasgl = evas_gl_new(canvas); // ... - ctx = evas_gl_context_version_create(evasgl, NULL, EVAS_GL_GLES_3_X); - EVAS_GL_GLOBAL_GLES3_USE(evasgl, ctx); + ctx = evas_gl_context_version_create(evasgl, NULL, EVAS_GL_GLES_2_X); + EVAS_GL_GLOBAL_GLES2_USE(evasgl, ctx); // ... } @@ -146,12 +145,12 @@ evgl_init(...) * @endcode * * @see @ref ELEMENTARY_GLVIEW_GLOBAL_DEFINE - * @see @ref EVAS_GL_GLOBAL_GLES3_DECLARE - * @see @ref EVAS_GL_GLOBAL_GLES3_USE + * @see @ref EVAS_GL_GLOBAL_GLES2_DECLARE + * @see @ref EVAS_GL_GLOBAL_GLES2_USE * - * @since_tizen 2.4 + * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif */ -#define EVAS_GL_GLOBAL_GLES3_DEFINE() Evas_GL_API* __evas_gl_glapi = NULL; +#define EVAS_GL_GLOBAL_GLES2_DEFINE() Evas_GL_API* __evas_gl_glapi = NULL; /** * @brief Convenience macro to use the GL helpers in simple applications: use @@ -162,12 +161,12 @@ evgl_init(...) * It should be used right after setting up the GL context object. * * @see @ref ELEMENTARY_GLVIEW_GLOBAL_USE - * @see @ref EVAS_GL_GLOBAL_GLES3_DECLARE - * @see @ref EVAS_GL_GLOBAL_GLES3_DEFINE + * @see @ref EVAS_GL_GLOBAL_GLES2_DECLARE + * @see @ref EVAS_GL_GLOBAL_GLES2_DEFINE * - * @since_tizen 2.4 + * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif */ -#define EVAS_GL_GLOBAL_GLES3_USE(evgl, ctx) \ +#define EVAS_GL_GLOBAL_GLES2_USE(evgl, ctx) \ do { \ __evas_gl_glapi = evas_gl_context_api_get(evgl, ctx); \ } while (0) @@ -435,241 +434,14 @@ evgl_init(...) #define evasglGetSyncAttrib __evas_gl_glapi->evasglGetSyncAttrib #define evasglWaitSync __evas_gl_glapi->evasglWaitSync -// GLES 3.0 functions -#define glBeginQuery __evas_gl_glapi->glBeginQuery -#define glBeginTransformFeedback __evas_gl_glapi->glBeginTransformFeedback -#define glBindBufferBase __evas_gl_glapi->glBindBufferBase -#define glBindBufferRange __evas_gl_glapi->glBindBufferRange -#define glBindSampler __evas_gl_glapi->glBindSampler -#define glBindTransformFeedback __evas_gl_glapi->glBindTransformFeedback -#define glBindVertexArray __evas_gl_glapi->glBindVertexArray -#define glBlitFramebuffer __evas_gl_glapi->glBlitFramebuffer -#define glClearBufferfi __evas_gl_glapi->glClearBufferfi -#define glClearBufferfv __evas_gl_glapi->glClearBufferfv -#define glClearBufferiv __evas_gl_glapi->glClearBufferiv -#define glClearBufferuiv __evas_gl_glapi->glClearBufferuiv -#define glClientWaitSync __evas_gl_glapi->glClientWaitSync -#define glCompressedTexImage3D __evas_gl_glapi->glCompressedTexImage3D -#define glCompressedTexSubImage3D __evas_gl_glapi->glCompressedTexSubImage3D -#define glCopyBufferSubData __evas_gl_glapi->glCopyBufferSubData -#define glCopyTexSubImage3D __evas_gl_glapi->glCopyTexSubImage3D -#define glDeleteQueries __evas_gl_glapi->glDeleteQueries -#define glDeleteSamplers __evas_gl_glapi->glDeleteSamplers -#define glDeleteSync __evas_gl_glapi->glDeleteSync -#define glDeleteTransformFeedbacks __evas_gl_glapi->glDeleteTransformFeedbacks -#define glDeleteVertexArrays __evas_gl_glapi->glDeleteVertexArrays -#define glDrawArraysInstanced __evas_gl_glapi->glDrawArraysInstanced -#define glDrawBuffers __evas_gl_glapi->glDrawBuffers -#define glDrawElementsInstanced __evas_gl_glapi->glDrawElementsInstanced -#define glDrawRangeElements __evas_gl_glapi->glDrawRangeElements -#define glEndQuery __evas_gl_glapi->glEndQuery -#define glEndTransformFeedback __evas_gl_glapi->glEndTransformFeedback -#define glFenceSync __evas_gl_glapi->glFenceSync -#define glFlushMappedBufferRange __evas_gl_glapi->glFlushMappedBufferRange -#define glFramebufferTextureLayer __evas_gl_glapi->glFramebufferTextureLayer -#define glGenQueries __evas_gl_glapi->glGenQueries -#define glGenSamplers __evas_gl_glapi->glGenSamplers -#define glGenTransformFeedbacks __evas_gl_glapi->glGenTransformFeedbacks -#define glGenVertexArrays __evas_gl_glapi->glGenVertexArrays -#define glGetActiveUniformBlockiv __evas_gl_glapi->glGetActiveUniformBlockiv -#define glGetActiveUniformBlockName __evas_gl_glapi->glGetActiveUniformBlockName -#define glGetActiveUniformsiv __evas_gl_glapi->glGetActiveUniformsiv -#define glGetBufferParameteri64v __evas_gl_glapi->glGetBufferParameteri64v -#define glGetBufferPointerv __evas_gl_glapi->glGetBufferPointerv -#define glGetFragDataLocation __evas_gl_glapi->glGetFragDataLocation -#define glGetInteger64i_v __evas_gl_glapi->glGetInteger64i_v -#define glGetInteger64v __evas_gl_glapi->glGetInteger64v -#define glGetIntegeri_v __evas_gl_glapi->glGetIntegeri_v -#define glGetInternalformativ __evas_gl_glapi->glGetInternalformativ -#define glGetProgramBinary __evas_gl_glapi->glGetProgramBinary -#define glGetQueryiv __evas_gl_glapi->glGetQueryiv -#define glGetQueryObjectuiv __evas_gl_glapi->glGetQueryObjectuiv -#define glGetSamplerParameterfv __evas_gl_glapi->glGetSamplerParameterfv -#define glGetSamplerParameteriv __evas_gl_glapi->glGetSamplerParameteriv -#define glGetStringi __evas_gl_glapi->glGetStringi -#define glGetSynciv __evas_gl_glapi->glGetSynciv -#define glGetTransformFeedbackVarying \ - __evas_gl_glapi->glGetTransformFeedbackVarying -#define glGetUniformBlockIndex __evas_gl_glapi->glGetUniformBlockIndex -#define glGetUniformIndices __evas_gl_glapi->glGetUniformIndices -#define glGetUniformuiv __evas_gl_glapi->glGetUniformuiv -#define glGetVertexAttribIiv __evas_gl_glapi->glGetVertexAttribIiv -#define glGetVertexAttribIuiv __evas_gl_glapi->glGetVertexAttribIuiv -#define glInvalidateFramebuffer __evas_gl_glapi->glInvalidateFramebuffer -#define glInvalidateSubFramebuffer __evas_gl_glapi->glInvalidateSubFramebuffer -#define glIsQuery __evas_gl_glapi->glIsQuery -#define glIsSampler __evas_gl_glapi->glIsSampler -#define glIsSync __evas_gl_glapi->glIsSync -#define glIsTransformFeedback __evas_gl_glapi->glIsTransformFeedback -#define glIsVertexArray __evas_gl_glapi->glIsVertexArray -#define glMapBufferRange __evas_gl_glapi->glMapBufferRange -#define glPauseTransformFeedback __evas_gl_glapi->glPauseTransformFeedback -#define glProgramBinary __evas_gl_glapi->glProgramBinary -#define glProgramParameteri __evas_gl_glapi->glProgramParameteri -#define glReadBuffer __evas_gl_glapi->glReadBuffer -#define glRenderbufferStorageMultisample \ - __evas_gl_glapi->glRenderbufferStorageMultisample -#define glResumeTransformFeedback __evas_gl_glapi->glResumeTransformFeedback -#define glSamplerParameterf __evas_gl_glapi->glSamplerParameterf -#define glSamplerParameterfv __evas_gl_glapi->glSamplerParameterfv -#define glSamplerParameteri __evas_gl_glapi->glSamplerParameteri -#define glSamplerParameteriv __evas_gl_glapi->glSamplerParameteriv -#define glTexImage3D __evas_gl_glapi->glTexImage3D -#define glTexStorage2D __evas_gl_glapi->glTexStorage2D -#define glTexStorage3D __evas_gl_glapi->glTexStorage3D -#define glTexSubImage3D __evas_gl_glapi->glTexSubImage3D -#define glTransformFeedbackVaryings __evas_gl_glapi->glTransformFeedbackVaryings -#define glUniform1ui __evas_gl_glapi->glUniform1ui -#define glUniform1uiv __evas_gl_glapi->glUniform1uiv -#define glUniform2ui __evas_gl_glapi->glUniform2ui -#define glUniform2uiv __evas_gl_glapi->glUniform2uiv -#define glUniform3ui __evas_gl_glapi->glUniform3ui -#define glUniform3uiv __evas_gl_glapi->glUniform3uiv -#define glUniform4ui __evas_gl_glapi->glUniform4ui -#define glUniform4uiv __evas_gl_glapi->glUniform4uiv -#define glUniformBlockBinding __evas_gl_glapi->glUniformBlockBinding -#define glUniformMatrix2x3fv __evas_gl_glapi->glUniformMatrix2x3fv -#define glUniformMatrix3x2fv __evas_gl_glapi->glUniformMatrix3x2fv -#define glUniformMatrix2x4fv __evas_gl_glapi->glUniformMatrix2x4fv -#define glUniformMatrix4x2fv __evas_gl_glapi->glUniformMatrix4x2fv -#define glUniformMatrix3x4fv __evas_gl_glapi->glUniformMatrix3x4fv -#define glUniformMatrix4x3fv __evas_gl_glapi->glUniformMatrix4x3fv -#define glUnmapBuffer __evas_gl_glapi->glUnmapBuffer -#define glVertexAttribDivisor __evas_gl_glapi->glVertexAttribDivisor -#define glVertexAttribI4i __evas_gl_glapi->glVertexAttribI4i -#define glVertexAttribI4iv __evas_gl_glapi->glVertexAttribI4iv -#define glVertexAttribI4ui __evas_gl_glapi->glVertexAttribI4ui -#define glVertexAttribI4uiv __evas_gl_glapi->glVertexAttribI4uiv -#define glVertexAttribIPointer __evas_gl_glapi->glVertexAttribIPointer -#define glWaitSync __evas_gl_glapi->glWaitSync - -// GLES 3.1 -#define glDispatchCompute __evas_gl_glapi->glDispatchCompute -#define glDispatchComputeIndirect __evas_gl_glapi->glDispatchComputeIndirect -#define glDrawArraysIndirect __evas_gl_glapi->glDrawArraysIndirect -#define glDrawElementsIndirect __evas_gl_glapi->glDrawElementsIndirect -#define glFramebufferParameteri __evas_gl_glapi->glFramebufferParameteri -#define glGetFramebufferParameteriv __evas_gl_glapi->glGetFramebufferParameteriv -#define glGetProgramInterfaceiv __evas_gl_glapi->glGetProgramInterfaceiv -#define glGetProgramResourceIndex __evas_gl_glapi->glGetProgramResourceIndex -#define glGetProgramResourceName __evas_gl_glapi->glGetProgramResourceName -#define glGetProgramResourceiv __evas_gl_glapi->glGetProgramResourceiv -#define glGetProgramResourceLocation \ - __evas_gl_glapi->glGetProgramResourceLocation -#define glUseProgramStages __evas_gl_glapi->glUseProgramStages -#define glActiveShaderProgram __evas_gl_glapi->glActiveShaderProgram -#define glCreateShaderProgramv __evas_gl_glapi->glCreateShaderProgramv -#define glBindProgramPipeline __evas_gl_glapi->glBindProgramPipeline -#define glDeleteProgramPipelines __evas_gl_glapi->glDeleteProgramPipelines -#define glGenProgramPipelines __evas_gl_glapi->glGenProgramPipelines -#define glIsProgramPipeline __evas_gl_glapi->glIsProgramPipeline -#define glGetProgramPipelineiv __evas_gl_glapi->glGetProgramPipelineiv -#define glProgramUniform1i __evas_gl_glapi->glProgramUniform1i -#define glProgramUniform2i __evas_gl_glapi->glProgramUniform2i -#define glProgramUniform3i __evas_gl_glapi->glProgramUniform3i -#define glProgramUniform4i __evas_gl_glapi->glProgramUniform4i -#define glProgramUniform1ui __evas_gl_glapi->glProgramUniform1ui -#define glProgramUniform2ui __evas_gl_glapi->glProgramUniform2ui -#define glProgramUniform3ui __evas_gl_glapi->glProgramUniform3ui -#define glProgramUniform4ui __evas_gl_glapi->glProgramUniform4ui -#define glProgramUniform1f __evas_gl_glapi->glProgramUniform1f -#define glProgramUniform2f __evas_gl_glapi->glProgramUniform2f -#define glProgramUniform3f __evas_gl_glapi->glProgramUniform3f -#define glProgramUniform4f __evas_gl_glapi->glProgramUniform4f -#define glProgramUniform1iv __evas_gl_glapi->glProgramUniform1iv -#define glProgramUniform2iv __evas_gl_glapi->glProgramUniform2iv -#define glProgramUniform3iv __evas_gl_glapi->glProgramUniform3iv -#define glProgramUniform4iv __evas_gl_glapi->glProgramUniform4iv -#define glProgramUniform1uiv __evas_gl_glapi->glProgramUniform1uiv -#define glProgramUniform2uiv __evas_gl_glapi->glProgramUniform2uiv -#define glProgramUniform3uiv __evas_gl_glapi->glProgramUniform3uiv -#define glProgramUniform4uiv __evas_gl_glapi->glProgramUniform4uiv -#define glProgramUniform1fv __evas_gl_glapi->glProgramUniform1fv -#define glProgramUniform2fv __evas_gl_glapi->glProgramUniform2fv -#define glProgramUniform3fv __evas_gl_glapi->glProgramUniform3fv -#define glProgramUniform4fv __evas_gl_glapi->glProgramUniform4fv -#define glProgramUniformMatrix2fv __evas_gl_glapi->glProgramUniformMatrix2fv -#define glProgramUniformMatrix3fv __evas_gl_glapi->glProgramUniformMatrix3fv -#define glProgramUniformMatrix4fv __evas_gl_glapi->glProgramUniformMatrix4fv -#define glProgramUniformMatrix2x3fv __evas_gl_glapi->glProgramUniformMatrix2x3fv -#define glProgramUniformMatrix3x2fv __evas_gl_glapi->glProgramUniformMatrix3x2fv -#define glProgramUniformMatrix2x4fv __evas_gl_glapi->glProgramUniformMatrix2x4fv -#define glProgramUniformMatrix4x2fv __evas_gl_glapi->glProgramUniformMatrix4x2fv -#define glProgramUniformMatrix3x4fv __evas_gl_glapi->glProgramUniformMatrix3x4fv -#define glProgramUniformMatrix4x3fv __evas_gl_glapi->glProgramUniformMatrix4x3fv -#define glValidateProgramPipeline __evas_gl_glapi->glValidateProgramPipeline -#define glGetProgramPipelineInfoLog __evas_gl_glapi->glGetProgramPipelineInfoLog -#define glBindImageTexture __evas_gl_glapi->glBindImageTexture -#define glGetBooleani_v __evas_gl_glapi->glGetBooleani_v -#define glMemoryBarrier __evas_gl_glapi->glMemoryBarrier -#define glMemoryBarrierByRegion __evas_gl_glapi->glMemoryBarrierByRegion -#define glTexStorage2DMultisample __evas_gl_glapi->glTexStorage2DMultisample -#define glGetMultisamplefv __evas_gl_glapi->glGetMultisamplefv -#define glSampleMaski __evas_gl_glapi->glSampleMaski -#define glGetTexLevelParameteriv __evas_gl_glapi->glGetTexLevelParameteriv -#define glGetTexLevelParameterfv __evas_gl_glapi->glGetTexLevelParameterfv -#define glBindVertexBuffer __evas_gl_glapi->glBindVertexBuffer -#define glVertexAttribFormat __evas_gl_glapi->glVertexAttribFormat -#define glVertexAttribIFormat __evas_gl_glapi->glVertexAttribIFormat -#define glVertexAttribBinding __evas_gl_glapi->glVertexAttribBinding -#define glVertexBindingDivisor __evas_gl_glapi->glVertexBindingDivisor - -// GLES 3.2 -#define glBlendBarrier __evas_gl_glapi->glBlendBarrier -#define glCopyImageSubData __evas_gl_glapi->glCopyImageSubData -#define glDebugMessageControl __evas_gl_glapi->glDebugMessageControl -#define glDebugMessageInsert __evas_gl_glapi->glDebugMessageInsert -#define glDebugMessageCallback __evas_gl_glapi->glDebugMessageCallback -#define glGetDebugMessageLog __evas_gl_glapi->glGetDebugMessageLog -#define glPushDebugGroup __evas_gl_glapi->glPushDebugGroup -#define glPopDebugGroup __evas_gl_glapi->glPopDebugGroup -#define glObjectLabel __evas_gl_glapi->glObjectLabel -#define glGetObjectLabel __evas_gl_glapi->glGetObjectLabel -#define glObjectPtrLabel __evas_gl_glapi->glObjectPtrLabel -#define glGetObjectPtrLabel __evas_gl_glapi->glGetObjectPtrLabel -#define glGetPointerv __evas_gl_glapi->glGetPointerv -#define glEnablei __evas_gl_glapi->glEnablei -#define glDisablei __evas_gl_glapi->glDisablei -#define glBlendEquationi __evas_gl_glapi->glBlendEquationi -#define glBlendEquationSeparatei __evas_gl_glapi->glBlendEquationSeparatei -#define glBlendFunci __evas_gl_glapi->glBlendFunci -#define glBlendFuncSeparatei __evas_gl_glapi->glBlendFuncSeparatei -#define glColorMaski __evas_gl_glapi->glColorMaski -#define glIsEnabledi __evas_gl_glapi->glIsEnabledi -#define glDrawElementsBaseVertex __evas_gl_glapi->glDrawElementsBaseVertex -#define glDrawRangeElementsBaseVertex \ - __evas_gl_glapi->glDrawRangeElementsBaseVertex -#define glDrawElementsInstancedBaseVertex \ - __evas_gl_glapi->glDrawElementsInstancedBaseVertex -#define glFramebufferTexture __evas_gl_glapi->glFramebufferTexture -#define glPrimitiveBoundingBox __evas_gl_glapi->glPrimitiveBoundingBox -#define glGetGraphicsResetStatus __evas_gl_glapi->glGetGraphicsResetStatus -#define glReadnPixels __evas_gl_glapi->glReadnPixels -#define glGetnUniformfv __evas_gl_glapi->glGetnUniformfv -#define glGetnUniformiv __evas_gl_glapi->glGetnUniformiv -#define glGetnUniformuiv __evas_gl_glapi->glGetnUniformuiv -#define glMinSampleShading __evas_gl_glapi->glMinSampleShading -#define glPatchParameteri __evas_gl_glapi->glPatchParameteri -#define glTexParameterIiv __evas_gl_glapi->glTexParameterIiv -#define glTexParameterIuiv __evas_gl_glapi->glTexParameterIuiv -#define glGetTexParameterIiv __evas_gl_glapi->glGetTexParameterIiv -#define glGetTexParameterIuiv __evas_gl_glapi->glGetTexParameterIuiv -#define glSamplerParameterIiv __evas_gl_glapi->glSamplerParameterIiv -#define glSamplerParameterIuiv __evas_gl_glapi->glSamplerParameterIuiv -#define glGetSamplerParameterIiv __evas_gl_glapi->glGetSamplerParameterIiv -#define glGetSamplerParameterIuiv __evas_gl_glapi->glGetSamplerParameterIuiv -#define glTexBuffer __evas_gl_glapi->glTexBuffer -#define glTexBufferRange __evas_gl_glapi->glTexBufferRange -#define glTexStorage3DMultisample __evas_gl_glapi->glTexStorage3DMultisample - /** - * @ingroup Evas_GL_GLES3_Helpers - * @brief Macro to check that the GL APIs are properly set (GLES 3.0) - * @since_tizen 2.4 + * @ingroup Evas_GL_GLES2_Helpers + * @brief Macro to check that the GL APIs are properly set (GLES 2.0) + * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif */ -#define EVAS_GL_GLES3_API_CHECK() \ +#define EVAS_GL_GLES2_API_CHECK() \ ((__evas_gl_glapi != NULL) && \ - (__evas_gl_glapi->version == EVAS_GL_API_VERSION) && (glBeginQuery)) + (__evas_gl_glapi->version == EVAS_GL_API_VERSION) && (glActiveTexture)) /** * @} diff --git a/shell/platform/tizen/tizen_renderer_evas_gl.cc b/shell/platform/tizen/tizen_renderer_evas_gl.cc index 0ed9888674320..1e453dd9c7412 100644 --- a/shell/platform/tizen/tizen_renderer_evas_gl.cc +++ b/shell/platform/tizen/tizen_renderer_evas_gl.cc @@ -9,7 +9,7 @@ // g_evas_gl is shared with ExternalTexturePixelGL and ExternalTextureSurfaceGL. Evas_GL* g_evas_gl = nullptr; -EVAS_GL_GLOBAL_GLES3_DEFINE(); +EVAS_GL_GLOBAL_GLES2_DEFINE(); #include "flutter/shell/platform/tizen/logger.h" @@ -49,7 +49,7 @@ bool TizenRendererEvasGL::CreateSurface(void* render_target, return false; } - EVAS_GL_GLOBAL_GLES3_USE(evas_gl_, gl_context_); + EVAS_GL_GLOBAL_GLES2_USE(evas_gl_, gl_context_); gl_surface_ = evas_gl_surface_create(evas_gl_, gl_config_, width, height); gl_resource_surface_ = evas_gl_pbuffer_surface_create(evas_gl_, gl_config_, @@ -164,6 +164,14 @@ void TizenRendererEvasGL::ResizeSurface(int32_t width, int32_t height) { evas_object_image_native_surface_set(image_, &native_surface); } +const GLubyte* CustomGlGetString(GLenum name) { + // glGetString in Evas gl doesn't recognize GL_VERSION. + if (name == GL_VERSION) { + return reinterpret_cast("OpenGL ES 2.1"); + } + return glGetString(name); +} + void* TizenRendererEvasGL::OnProcResolver(const char* name) { auto address = evas_gl_proc_address_get(evas_gl_, name); if (address != nullptr) { @@ -244,7 +252,10 @@ void* TizenRendererEvasGL::OnProcResolver(const char* name) { GL_FUNC(glGetShaderInfoLog) GL_FUNC(glGetShaderPrecisionFormat) GL_FUNC(glGetShaderSource) - GL_FUNC(glGetString) + // GL_FUNC(glGetString) + else if (strcmp(name, "glGetString") == 0) { + return reinterpret_cast(CustomGlGetString); + } GL_FUNC(glGetTexParameterfv) GL_FUNC(glGetTexParameteriv) GL_FUNC(glGetUniformfv) @@ -397,222 +408,6 @@ void* TizenRendererEvasGL::OnProcResolver(const char* name) { GL_FUNC(glEndTilingQCOM) GL_FUNC(glEvasGLImageTargetTexture2DOES) GL_FUNC(glEvasGLImageTargetRenderbufferStorageOES) - GL_FUNC(glBeginQuery) - GL_FUNC(glBeginTransformFeedback) - GL_FUNC(glBindBufferBase) - GL_FUNC(glBindBufferRange) - GL_FUNC(glBindSampler) - GL_FUNC(glBindTransformFeedback) - GL_FUNC(glBindVertexArray) - GL_FUNC(glBlitFramebuffer) - GL_FUNC(glClearBufferfi) - GL_FUNC(glClearBufferfv) - GL_FUNC(glClearBufferiv) - GL_FUNC(glClearBufferuiv) - GL_FUNC(glClientWaitSync) - GL_FUNC(glCompressedTexImage3D) - GL_FUNC(glCompressedTexSubImage3D) - GL_FUNC(glCopyBufferSubData) - GL_FUNC(glCopyTexSubImage3D) - GL_FUNC(glDeleteQueries) - GL_FUNC(glDeleteSamplers) - GL_FUNC(glDeleteSync) - GL_FUNC(glDeleteTransformFeedbacks) - GL_FUNC(glDeleteVertexArrays) - GL_FUNC(glDrawArraysInstanced) - GL_FUNC(glDrawBuffers) - GL_FUNC(glDrawElementsInstanced) - GL_FUNC(glDrawRangeElements) - GL_FUNC(glEndQuery) - GL_FUNC(glEndTransformFeedback) - GL_FUNC(glFenceSync) - GL_FUNC(glFlushMappedBufferRange) - GL_FUNC(glFramebufferTextureLayer) - GL_FUNC(glGenQueries) - GL_FUNC(glGenSamplers) - GL_FUNC(glGenTransformFeedbacks) - GL_FUNC(glGenVertexArrays) - GL_FUNC(glGetActiveUniformBlockiv) - GL_FUNC(glGetActiveUniformBlockName) - GL_FUNC(glGetActiveUniformsiv) - GL_FUNC(glGetBufferParameteri64v) - GL_FUNC(glGetBufferPointerv) - GL_FUNC(glGetFragDataLocation) - GL_FUNC(glGetInteger64i_v) - GL_FUNC(glGetInteger64v) - GL_FUNC(glGetIntegeri_v) - GL_FUNC(glGetInternalformativ) - GL_FUNC(glGetProgramBinary) - GL_FUNC(glGetQueryiv) - GL_FUNC(glGetQueryObjectuiv) - GL_FUNC(glGetSamplerParameterfv) - GL_FUNC(glGetSamplerParameteriv) - GL_FUNC(glGetStringi) - GL_FUNC(glGetSynciv) - GL_FUNC(glGetTransformFeedbackVarying) - GL_FUNC(glGetUniformBlockIndex) - GL_FUNC(glGetUniformIndices) - GL_FUNC(glGetUniformuiv) - GL_FUNC(glGetVertexAttribIiv) - GL_FUNC(glGetVertexAttribIuiv) - GL_FUNC(glInvalidateFramebuffer) - GL_FUNC(glInvalidateSubFramebuffer) - GL_FUNC(glIsQuery) - GL_FUNC(glIsSampler) - GL_FUNC(glIsSync) - GL_FUNC(glIsTransformFeedback) - GL_FUNC(glIsVertexArray) - GL_FUNC(glMapBufferRange) - GL_FUNC(glPauseTransformFeedback) - GL_FUNC(glProgramBinary) - GL_FUNC(glProgramParameteri) - GL_FUNC(glReadBuffer) - GL_FUNC(glRenderbufferStorageMultisample) - GL_FUNC(glResumeTransformFeedback) - GL_FUNC(glSamplerParameterf) - GL_FUNC(glSamplerParameterfv) - GL_FUNC(glSamplerParameteri) - GL_FUNC(glSamplerParameteriv) - GL_FUNC(glTexImage3D) - GL_FUNC(glTexStorage2D) - GL_FUNC(glTexStorage3D) - GL_FUNC(glTexSubImage3D) - GL_FUNC(glTransformFeedbackVaryings) - GL_FUNC(glUniform1ui) - GL_FUNC(glUniform1uiv) - GL_FUNC(glUniform2ui) - GL_FUNC(glUniform2uiv) - GL_FUNC(glUniform3ui) - GL_FUNC(glUniform3uiv) - GL_FUNC(glUniform4ui) - GL_FUNC(glUniform4uiv) - GL_FUNC(glUniformBlockBinding) - GL_FUNC(glUniformMatrix2x3fv) - GL_FUNC(glUniformMatrix3x2fv) - GL_FUNC(glUniformMatrix2x4fv) - GL_FUNC(glUniformMatrix4x2fv) - GL_FUNC(glUniformMatrix3x4fv) - GL_FUNC(glUniformMatrix4x3fv) - GL_FUNC(glUnmapBuffer) - GL_FUNC(glVertexAttribDivisor) - GL_FUNC(glVertexAttribI4i) - GL_FUNC(glVertexAttribI4iv) - GL_FUNC(glVertexAttribI4ui) - GL_FUNC(glVertexAttribI4uiv) - GL_FUNC(glVertexAttribIPointer) - GL_FUNC(glWaitSync) - GL_FUNC(glDispatchCompute) - GL_FUNC(glDispatchComputeIndirect) - GL_FUNC(glDrawArraysIndirect) - GL_FUNC(glDrawElementsIndirect) - GL_FUNC(glFramebufferParameteri) - GL_FUNC(glGetFramebufferParameteriv) - GL_FUNC(glGetProgramInterfaceiv) - GL_FUNC(glGetProgramResourceIndex) - GL_FUNC(glGetProgramResourceName) - GL_FUNC(glGetProgramResourceiv) - GL_FUNC(glGetProgramResourceLocation) - GL_FUNC(glUseProgramStages) - GL_FUNC(glActiveShaderProgram) - GL_FUNC(glCreateShaderProgramv) - GL_FUNC(glBindProgramPipeline) - GL_FUNC(glDeleteProgramPipelines) - GL_FUNC(glGenProgramPipelines) - GL_FUNC(glIsProgramPipeline) - GL_FUNC(glGetProgramPipelineiv) - GL_FUNC(glProgramUniform1i) - GL_FUNC(glProgramUniform2i) - GL_FUNC(glProgramUniform3i) - GL_FUNC(glProgramUniform4i) - GL_FUNC(glProgramUniform1ui) - GL_FUNC(glProgramUniform2ui) - GL_FUNC(glProgramUniform3ui) - GL_FUNC(glProgramUniform4ui) - GL_FUNC(glProgramUniform1f) - GL_FUNC(glProgramUniform2f) - GL_FUNC(glProgramUniform3f) - GL_FUNC(glProgramUniform4f) - GL_FUNC(glProgramUniform1iv) - GL_FUNC(glProgramUniform2iv) - GL_FUNC(glProgramUniform3iv) - GL_FUNC(glProgramUniform4iv) - GL_FUNC(glProgramUniform1uiv) - GL_FUNC(glProgramUniform2uiv) - GL_FUNC(glProgramUniform3uiv) - GL_FUNC(glProgramUniform4uiv) - GL_FUNC(glProgramUniform1fv) - GL_FUNC(glProgramUniform2fv) - GL_FUNC(glProgramUniform3fv) - GL_FUNC(glProgramUniform4fv) - GL_FUNC(glProgramUniformMatrix2fv) - GL_FUNC(glProgramUniformMatrix3fv) - GL_FUNC(glProgramUniformMatrix4fv) - GL_FUNC(glProgramUniformMatrix2x3fv) - GL_FUNC(glProgramUniformMatrix3x2fv) - GL_FUNC(glProgramUniformMatrix2x4fv) - GL_FUNC(glProgramUniformMatrix4x2fv) - GL_FUNC(glProgramUniformMatrix3x4fv) - GL_FUNC(glProgramUniformMatrix4x3fv) - GL_FUNC(glValidateProgramPipeline) - GL_FUNC(glGetProgramPipelineInfoLog) - GL_FUNC(glBindImageTexture) - GL_FUNC(glGetBooleani_v) - GL_FUNC(glMemoryBarrier) - GL_FUNC(glMemoryBarrierByRegion) - GL_FUNC(glTexStorage2DMultisample) - GL_FUNC(glGetMultisamplefv) - GL_FUNC(glSampleMaski) - GL_FUNC(glGetTexLevelParameteriv) - GL_FUNC(glGetTexLevelParameterfv) - GL_FUNC(glBindVertexBuffer) - GL_FUNC(glVertexAttribFormat) - GL_FUNC(glVertexAttribIFormat) - GL_FUNC(glVertexAttribBinding) - GL_FUNC(glVertexBindingDivisor) - GL_FUNC(glBlendBarrier) - GL_FUNC(glCopyImageSubData) - GL_FUNC(glDebugMessageControl) - GL_FUNC(glDebugMessageInsert) - GL_FUNC(glDebugMessageCallback) - GL_FUNC(glGetDebugMessageLog) - GL_FUNC(glPushDebugGroup) - GL_FUNC(glPopDebugGroup) - GL_FUNC(glObjectLabel) - GL_FUNC(glGetObjectLabel) - GL_FUNC(glObjectPtrLabel) - GL_FUNC(glGetObjectPtrLabel) - GL_FUNC(glGetPointerv) - GL_FUNC(glEnablei) - GL_FUNC(glDisablei) - GL_FUNC(glBlendEquationi) - GL_FUNC(glBlendEquationSeparatei) - GL_FUNC(glBlendFunci) - GL_FUNC(glBlendFuncSeparatei) - GL_FUNC(glColorMaski) - GL_FUNC(glIsEnabledi) - GL_FUNC(glDrawElementsBaseVertex) - GL_FUNC(glDrawRangeElementsBaseVertex) - GL_FUNC(glDrawElementsInstancedBaseVertex) - GL_FUNC(glFramebufferTexture) - GL_FUNC(glPrimitiveBoundingBox) - GL_FUNC(glGetGraphicsResetStatus) - GL_FUNC(glReadnPixels) - GL_FUNC(glGetnUniformfv) - GL_FUNC(glGetnUniformiv) - GL_FUNC(glGetnUniformuiv) - GL_FUNC(glMinSampleShading) - GL_FUNC(glPatchParameteri) - GL_FUNC(glTexParameterIiv) - GL_FUNC(glTexParameterIuiv) - GL_FUNC(glGetTexParameterIiv) - GL_FUNC(glGetTexParameterIuiv) - GL_FUNC(glSamplerParameterIiv) - GL_FUNC(glSamplerParameterIuiv) - GL_FUNC(glGetSamplerParameterIiv) - GL_FUNC(glGetSamplerParameterIuiv) - GL_FUNC(glTexBuffer) - GL_FUNC(glTexBufferRange) - GL_FUNC(glTexStorage3DMultisample) #undef GL_FUNC FT_LOG(Warn) << "Could not resolve: " << name;