wl_egl: support for frontbuffer mode set by surface 45/286745/1
authorJoonbum Ko <joonbum.ko@samsung.com>
Thu, 12 Jan 2023 07:16:50 +0000 (16:16 +0900)
committerJoonbum Ko <joonbum.ko@samsung.com>
Thu, 12 Jan 2023 07:16:53 +0000 (16:16 +0900)
commit5b989cb1a0f883b59f0513628f0a344f249e26d6
treeb96be8a5e6799a4223c767053a8ed6c59d8439cb
parentf4ecb1ad76e6a1172da49e223cd6f6afe82b6eb5
wl_egl: support for frontbuffer mode set by surface

 - Patch for supporting this API.
  wl_egl_window_tizen_set_frontbuffer_mode()

 AS-IS:
 - If the application, which wants to use frontbuffer rendering,
  sets the frontbuffer mode using setenv(), EGL driver checks whether
  frontbuffer mode is set using getenv() and if it true calls
  tpl_surface_set_frontbuffer_mode().

 PROBLEMS:
 - The operation using setenv()/getenv() is not thread safe.
 - Using env value to set frontbuffer mode cannot manage on/off in runtime.
 - Using env value to set frontbuffer mode cannot set by surface.

 TO-BE:
 - Application would be better to use this API
   wl_egl_window_tizen_set_frontbuffer_mode()
 - This API makes supports the setting of frontbuffer mode
  to the desired surface(window).
 - This API gurantee thread safety using tpl_surface object lock.
 - Using this API can help application to turn on/off
  the frontbuffer mode in runtime.

Change-Id: I608309869dcb9d0bd0ba42c7e54afee6da1b5e04
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
src/tpl_wl_egl_thread.c