Evas GL: Restore current context to evas gl context when the backend has taken over
authorDongyeon Kim <dy5.kim@samsung.com>
Tue, 18 Aug 2015 08:35:40 +0000 (17:35 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Tue, 18 Aug 2015 09:31:40 +0000 (18:31 +0900)
commitbea42e6a003bc7133a6703bada3a379154e93ae0
tree32d015b5c7d97c0a4e13fde804afd526c34f3f76
parent8c8d254fbc8fbbe9be3660a2a0862035fc8983f0
Evas GL: Restore current context to evas gl context when the backend has taken over

Summary:
When Evas GL apis are called outside of on pixels callback,
evas gl backend context may have been made current, and Evas GL will
render into a wrong context.
So here we provide context restore mechanism of keeping track of
currently bound context and calling make current when needed.
@feature

Test Plan: Run Evas GL test cases

Reviewers: jpeg, cedric

Subscribers: mythri, mer.kim, wonsik, cedric

Differential Revision: https://phab.enlightenment.org/D2956
14 files changed:
src/modules/evas/engines/gl_common/evas_gl_api.c
src/modules/evas/engines/gl_common/evas_gl_api_def.h [new file with mode: 0644]
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_gles3_def.h [new file with mode: 0644]
src/modules/evas/engines/gl_common/evas_gl_common.h
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_generic/evas_engine.c
src/modules/evas/engines/gl_x11/evas_engine.c
src/modules/evas/engines/gl_x11/evas_engine.h
src/modules/evas/engines/gl_x11/evas_x_main.c