[evas_gl_thread] Refactoring evas gl thread 59/139659/5
authorJoogab Yun <joogab.yun@samsung.com>
Wed, 19 Jul 2017 10:45:45 +0000 (19:45 +0900)
committerjoogab yun <joogab.yun@samsung.com>
Tue, 25 Jul 2017 04:13:35 +0000 (04:13 +0000)
commitea0006201911df27638b6b7856e935fddeb118aa
tree47cd5f59d8d9ca940eb35baa72d91b1b79c0cbef
parent7ed0b58c5f75eafd69d20708fd586fa861e32378
[evas_gl_thread]  Refactoring evas gl thread
1. combine the gl and evgl threads together
   : export EVAS_GL_RENDER_THREAD=1
2. Changed the pushing method of thread commands

    Now user can allocate a command buffer first, then enqueue it.
    It will be free automatically after callback is called.

    GL_TH_ST(command) *buf;
    void *thcmd_ref;
    buf = evas_gl_thread_cmd_create(EVAS_GL_THREAD_TYPE_GL,
                                    sizeof(GL_TH_ST(command)),
                                    &thcmd_ref);
    buf->xxx = xxxx; // Setup content
    evas_gl_thread_cmd_enqueue(thcmd_ref
                               GL_TH_CB(command),
                               EVAS_GL_THREAD_MODE_FINISH);
3. Refactoring Thread functions of EGL/GLX to the new form
4. Replace GL_TH and EVGL_TH to the new form
5. Refactoring EvasGL macro to attach thread funcs
6. Replace dlopen'ed symbols (glsym_XXX)
7. Replace functional threading codes to the new form
8. Enable direct rendering when evas gl thread is On

Change-Id: Ie88edd77f670b59ac5fae8ce9c34753c2bd36009
48 files changed:
src/Makefile_Evas.am
src/lib/evas/common/evas_thread_render.c
src/lib/evas/include/evas_common_private.h
src/modules/evas/engines/gl_common/evas_gl_3d.c
src/modules/evas/engines/gl_common/evas_gl_3d_renderer.c
src/modules/evas/engines/gl_common/evas_gl_3d_shader.c
src/modules/evas/engines/gl_common/evas_gl_api.c
src/modules/evas/engines/gl_common/evas_gl_api_def.h
src/modules/evas/engines/gl_common/evas_gl_api_ext.c
src/modules/evas/engines/gl_common/evas_gl_api_ext.h
src/modules/evas/engines/gl_common/evas_gl_api_ext_def.h
src/modules/evas/engines/gl_common/evas_gl_api_gles1.c
src/modules/evas/engines/gl_common/evas_gl_api_gles1_def.h [new file with mode: 0644]
src/modules/evas/engines/gl_common/evas_gl_api_gles3_def.h
src/modules/evas/engines/gl_common/evas_gl_common.h
src/modules/evas/engines/gl_common/evas_gl_context.c
src/modules/evas/engines/gl_common/evas_gl_core.c
src/modules/evas/engines/gl_common/evas_gl_core_private.h
src/modules/evas/engines/gl_common/evas_gl_file_cache.c
src/modules/evas/engines/gl_common/evas_gl_line.c
src/modules/evas/engines/gl_common/evas_gl_shader.c
src/modules/evas/engines/gl_common/evas_gl_texture.c
src/modules/evas/engines/gl_common/evas_gl_thread.c
src/modules/evas/engines/gl_common/evas_gl_thread.h
src/modules/evas/engines/gl_common/evas_gl_thread_egl.c
src/modules/evas/engines/gl_common/evas_gl_thread_egl.h
src/modules/evas/engines/gl_common/evas_gl_thread_evgl_api_generated.c [deleted file]
src/modules/evas/engines/gl_common/evas_gl_thread_evgl_api_generated.h [deleted file]
src/modules/evas/engines/gl_common/evas_gl_thread_evgl_generated.c [deleted file]
src/modules/evas/engines/gl_common/evas_gl_thread_evgl_generated.h [deleted file]
src/modules/evas/engines/gl_common/evas_gl_thread_evgl_link_generated.c [deleted file]
src/modules/evas/engines/gl_common/evas_gl_thread_evgl_link_generated.h [deleted file]
src/modules/evas/engines/gl_common/evas_gl_thread_gl.c
src/modules/evas/engines/gl_common/evas_gl_thread_gl.h
src/modules/evas/engines/gl_common/evas_gl_thread_gl_generated.c
src/modules/evas/engines/gl_common/evas_gl_thread_gl_generated.h
src/modules/evas/engines/gl_common/evas_gl_thread_gl_link_generated.c
src/modules/evas/engines/gl_common/evas_gl_thread_gl_link_generated.h
src/modules/evas/engines/gl_common/evas_gl_thread_glx.c
src/modules/evas/engines/gl_common/evas_gl_thread_glx.h
src/modules/evas/engines/gl_generic/evas_engine.c
src/modules/evas/engines/gl_x11/evas_engine.c
src/modules/evas/engines/gl_x11/evas_x_main.c
src/modules/evas/engines/wayland_egl/evas_engine.c
src/modules/evas/engines/wayland_egl/evas_engine.h [changed mode: 0755->0644]
src/modules/evas/engines/wayland_egl/evas_wl_main.c
src/utils/evas/generate_gl_thread_api.py [changed mode: 0755->0644]
src/utils/evas/gl_api_def.txt