Evas GL: Add pixmap surface fallback for gles 1.x indirect rendering 42/47442/4
authormythri.venugopal <mythri.venugopal@samsung.com>
Wed, 11 Mar 2015 15:56:12 +0000 (15:56 +0000)
committerDaeKwang Ryu <dkdk.ryu@samsung.com>
Wed, 16 Sep 2015 12:05:28 +0000 (21:05 +0900)
commitea541bb168df7e4b8e4ccd0bb729d6c7d59ab820
treeca395229abbf6d40050464509130fd70f8e01aea
parent8f94b4df0fd61cadfeda2873e888f0d35ced8d15
Evas GL: Add pixmap surface fallback for gles 1.x indirect rendering

Merge from upstream patch
https://phab.enlightenment.org/rEFLa14492ef73c9267042c5bf505080d0e90af394de

Automatically fallback to indirect rendering on FBO or X11 Pixmap
if the Evas Object Image is not marked as dirty. This should
improve the performance and/or power consumption in those
rare cases where this area of the canvas needs to be redrawn
but the GL content has not changed.

and

- when dirty set is not called but has direct rendering,
   evas gl should render to a fallback surface and use that as texture
 - for gles 1.x, this fallback surface should be a pixmap surface,
   so it uses EVAS_NATIVE_SURFACE_X11 type
 - from now, both EVAS_NATIVE_SURFACE_OPENGL and EVAS_NATIVE_SURFACE_X11
   can be passed for direct rendering

Change-Id: I8aefb55c2b42dc90d4440bfaaa59f3824828b1cd
src/lib/evas/canvas/evas_object_image.c
src/lib/evas/include/evas_private.h
src/modules/evas/engines/gl_common/evas_gl_api_gles1.c
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/software_generic/evas_engine.c