platform/core/uifw/libtpl-egl.git
7 years agotpl: Add tpl_surface_get_rotation() / tpl_surface_set_rotation_capability() apis 70/96770/6 accepted/tizen_3.0.m2_mobile accepted/tizen_3.0.m2_tv accepted/tizen_3.0.m2_wearable tizen_3.0.m2 accepted/tizen/3.0.m2/mobile/20170104.142606 accepted/tizen/3.0.m2/tv/20170104.143256 accepted/tizen/3.0.m2/wearable/20170104.143639 accepted/tizen/3.0/common/20161205.091705 accepted/tizen/3.0/common/20161206.125421 accepted/tizen/3.0/ivi/20161204.233929 accepted/tizen/3.0/ivi/20161205.070024 accepted/tizen/3.0/mobile/20161204.233835 accepted/tizen/3.0/mobile/20161205.070006 accepted/tizen/3.0/tv/20161204.233850 accepted/tizen/3.0/tv/20161205.070013 accepted/tizen/3.0/wearable/20161204.233909 accepted/tizen/3.0/wearable/20161205.070018 accepted/tizen/common/20161202.233303 accepted/tizen/ivi/20161205.000053 accepted/tizen/mobile/20161205.000026 accepted/tizen/tv/20161205.000031 accepted/tizen/wearable/20161205.000040 submit/tizen/20161202.054342 submit/tizen_3.0.m2/20170104.093752 submit/tizen_3.0/20161202.055418 submit/tizen_3.0/20161205.053741
Mun, Gwan-gyeong [Wed, 9 Nov 2016 08:36:40 +0000 (17:36 +0900)]
tpl: Add tpl_surface_get_rotation() / tpl_surface_set_rotation_capability() apis
tpl_wayland_egl: implement getting of tpl_surface angle.
                 implement getting of tpl_surface's capabilities
wayland-egl: Add wl_egl_window_set_rotation() / wl_egl_window_get_capabilities()

   - tpl_surface_get_rotation() api used for getting the current rotation-angle of the given TPL surface.
     tpl_surface's angle can be in 0, 90, 180, 270.
   - wl_egl_window_set_rotation api used fo setting the current egl_window's angle.
   - wl_egl_window_get_capabilities api used for getting capabilities of egl_window.

Change-Id: If051e890c040aff40097f88d26276b3b0b2bf4fd
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
7 years agoMerge "tpl_worker_thread: drop checking of fence_result on __tpl_worker_thread_loop... accepted/tizen/3.0/common/20161203.012239 accepted/tizen/3.0/ivi/20161202.010129 accepted/tizen/3.0/mobile/20161202.010033 accepted/tizen/3.0/tv/20161202.010058 accepted/tizen/3.0/wearable/20161202.010115 accepted/tizen/common/20161201.140002 accepted/tizen/ivi/20161202.005840 accepted/tizen/mobile/20161202.005748 accepted/tizen/tv/20161202.005803 accepted/tizen/wearable/20161202.005820 submit/tizen/20161201.080017 submit/tizen_3.0/20161201.080219 submit/tizen_common/20161201.142231
Joonbum Ko [Wed, 30 Nov 2016 12:36:10 +0000 (04:36 -0800)]
Merge "tpl_worker_thread: drop checking of fence_result on __tpl_worker_thread_loop()" into tizen

7 years agotpl_worker_thread: drop checking of fence_result on __tpl_worker_thread_loop() 44/101244/1
Mun, Gwan-gyeong [Wed, 30 Nov 2016 12:21:04 +0000 (21:21 +0900)]
tpl_worker_thread: drop checking of fence_result on __tpl_worker_thread_loop()

fence_result is always 1 in the  switch case statement of fence_result == 1
so we should drop checking of fence_result on __tpl_worker_thread_loop()

Change-Id: Iae6db812889dcb0adaeb202d90711f7c1089d889

7 years agotpl_tbm: Delete TPL_ASSERT checking to __tpl_tbm_display_get_window_info. 38/101238/1
joonbum.ko [Wed, 30 Nov 2016 12:18:26 +0000 (21:18 +0900)]
tpl_tbm: Delete TPL_ASSERT checking to __tpl_tbm_display_get_window_info.

 - Unused parameter(tpl_display) change TPL_ASSERT to TPL_IGNORE.
 - TPL_ASSERT(window) doesn't the necessity because there are NULL checking for window and log printing.

Change-Id: Ie3412ca8a33e59436caee8c3546781f949b672e0
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: Add missing error-checking to __tpl_wayland_egl_display_buffer_flush... 82/101182/1
Mun, Gwan-gyeong [Wed, 30 Nov 2016 10:52:56 +0000 (19:52 +0900)]
tpl_wayland_egl: Add missing error-checking to __tpl_wayland_egl_display_buffer_flusher_init

When the wl_display_get_registry() fails on  __tpl_wayland_egl_display_buffer_flusher_init(),
this patch makes to return and deinitialize allocated resource.

Change-Id: I773089d55f7555d269e183f3c129e2171c0243eb
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
7 years agoMerge "tpl_wayland_egl: For the hide effect, client should not attach 'NULL' when... accepted/tizen/3.0/common/20161130.065342 accepted/tizen/3.0/ivi/20161130.012834 accepted/tizen/3.0/mobile/20161130.012735 accepted/tizen/3.0/tv/20161130.012753 accepted/tizen/3.0/wearable/20161130.012814 accepted/tizen/common/20161129.173700 accepted/tizen/ivi/20161130.015659 accepted/tizen/mobile/20161130.015558 accepted/tizen/tv/20161130.015615 accepted/tizen/wearable/20161130.015639 submit/tizen/20161129.103413 submit/tizen_3.0/20161129.104022
Gwan-gyeong Mun [Tue, 29 Nov 2016 06:30:34 +0000 (22:30 -0800)]
Merge "tpl_wayland_egl: For the hide effect, client should not attach 'NULL' when surface destroy." into tizen

7 years agoworker_thread: added epoll_wait continue condition 97/93697/2
deasung.kim [Tue, 25 Oct 2016 06:31:01 +0000 (15:31 +0900)]
worker_thread: added epoll_wait continue condition

If errno is EINTR goto epoll_wait

Change-Id: If937e95a08b0abc7a27e7cb75a087e5b1d361934

7 years agotpl_worker_thread: rollback change the timing of calling of epoll_ctl_add() on "next... 92/93692/2
deasung.kim [Tue, 25 Oct 2016 09:46:48 +0000 (18:46 +0900)]
tpl_worker_thread: rollback change the timing of calling of epoll_ctl_add() on "next draw wait buffer".

it has sig abort with vulkan wayland wsi test

Change-Id: I90cf2dfbe488e797ff62da2c34d53bc04df640d0

7 years agotpl_utils: fix double callback call in __tpl_list_remove_data 52/93652/2
deasung.kim [Tue, 25 Oct 2016 06:46:46 +0000 (15:46 +0900)]
tpl_utils: fix double callback call in __tpl_list_remove_data

in __tpl_list_remove has call callback

Change-Id: Id1f8b5fbf3847449f4444cffd2bf07b740fcc00c

7 years agotpl_wayland_egl: For the hide effect, client should not attach 'NULL' when surface... 13/100513/1
joonbum.ko [Mon, 28 Nov 2016 09:49:10 +0000 (18:49 +0900)]
tpl_wayland_egl: For the hide effect, client should not attach 'NULL' when surface destroy.

 - If client attach 'NULL' to wl_surface when the surface destroy, server cannot show hide effect of that surface.
 - This commit was requested by effect member. (minjjj.kim@samsung.com)

Change-Id: I349bbb5885dd86bd6c95d523d9fee6851c181c03
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_worker_thread: temporarily add 'unused' attribute to suppress warning 48/99348/5
Hoyub Lee [Tue, 22 Nov 2016 11:37:24 +0000 (20:37 +0900)]
tpl_worker_thread: temporarily add 'unused' attribute to suppress warning

__tpl_worker_prepare_vblank() has been defined but not used.
Therefore, add 'unused' attribute to suppress warning to pass the
criteria of final release.

Change-Id: I12e8d495d5e7536e2ffcf85879d82b64d6581da5
Signed-off-by: Hoyub Lee <hoyub.lee@samsung.com>
7 years agotpl_wayland_egl: remove remaining unused surface frame callback in function 28/99328/1
Hoyub Lee [Tue, 22 Nov 2016 10:41:28 +0000 (19:41 +0900)]
tpl_wayland_egl: remove remaining unused surface frame callback in function

Since surface frame callback has been removed, remove remaining unused
surface frame callback in function.

Change-Id: I1efb08ba356e2fb93f354fa18842e8bd92f97bc1
Signed-off-by: Hoyub Lee <hoyub.lee@samsung.com>
7 years agotpl_wayland_egl: remove useless member of struct _tpl_wayland_egl_display 41/97641/3
Sangjin Lee [Tue, 15 Nov 2016 02:01:02 +0000 (11:01 +0900)]
tpl_wayland_egl: remove useless member of struct _tpl_wayland_egl_display

Change-Id: Ic50d054e18e8fd0856b3fbde504d0849ae389e9d

7 years agotpl_wayland_egl: remove wl_callback routine 40/97640/2
Sangjin Lee [Tue, 15 Nov 2016 01:57:52 +0000 (10:57 +0900)]
tpl_wayland_egl: remove wl_callback routine

wayland-egl just use tdm_vblank protocol for frame control.
so wl_buffer useless.

Change-Id: I009a12c197a55c56ba2f1cf9ee5418c25c9c57e6

7 years agotpl_worker_thread: Add Missing break and Checking of fd of close() 18/97118/1 accepted/tizen/3.0/common/20161116.143310 accepted/tizen/3.0/ivi/20161116.021342 accepted/tizen/3.0/mobile/20161116.021242 accepted/tizen/3.0/tv/20161116.021259 accepted/tizen/3.0/wearable/20161116.021322 accepted/tizen/common/20161114.171249 accepted/tizen/ivi/20161114.010010 accepted/tizen/mobile/20161114.005837 accepted/tizen/tv/20161114.005911 accepted/tizen/wearable/20161114.005941 submit/tizen/20161111.084308 submit/tizen_3.0/20161111.105520 submit/tizen_3.0/20161115.021303
Mun, Gwan-gyeong [Fri, 11 Nov 2016 07:33:46 +0000 (16:33 +0900)]
tpl_worker_thread: Add Missing break and Checking of fd of close()

Change-Id: I45ef4b82bbee90a1d20dc4d7c4d6e318ab62d0a0

7 years agotpl_wayland_egl: Add log for checking flush callback. 93/95593/2 accepted/tizen/3.0/common/20161114.081230 accepted/tizen/3.0/ivi/20161110.020622 accepted/tizen/3.0/mobile/20161110.020519 accepted/tizen/3.0/tv/20161110.020539 accepted/tizen/3.0/wearable/20161110.020559 accepted/tizen/common/20161109.140326 accepted/tizen/ivi/20161109.002954 accepted/tizen/mobile/20161109.002940 accepted/tizen/tv/20161109.002947 accepted/tizen/wearable/20161109.002950 submit/tizen/20161108.120107 submit/tizen_3.0/20161108.120456 submit/tizen_3.0_common/20161110.084657
joonbum.ko [Fri, 4 Nov 2016 02:46:40 +0000 (11:46 +0900)]
tpl_wayland_egl: Add log for checking flush callback.

Change-Id: Ic01ba0606c44ed5fa14715db43254ae848841123
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: Invert y to rect of the damaged region. 92/95592/2
joonbum.ko [Fri, 4 Nov 2016 02:38:30 +0000 (11:38 +0900)]
tpl_wayland_egl: Invert y to rect of the damaged region.

 - Wayland Window System Coordinate uses top-left position as (0,0) ,but GL Window Surface Coordinate uses bottom-left position as (0,0).
   So, tpl_wayland_egl should covert "GL Window Surface Coordinate" to "Wayland Window System Coordinate" before calling of wl_surface_damage().

   Wayland Window System Coordinate
   (0,0)      (Width,0)
     +---------+
     |         |
     |         |
     |         |
     |         |
     |         |
     +---------+
   (0,Height)  (Width, Height)

   GL Window Surface Coordinate
   (0,Height) (Width,Height)
     +---------+
     |         |
     |         |
     |         |
     |         |
     |         |
     +---------+
   (0,0)     (Width, 0)

  * reference:

     https://www.khronos.org/registry/egl/extensions/EXT/EGL_EXT_buffer_age.txt
     https://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_partial_update.txt

Change-Id: I2cc0eadda428028ac2a53983e9a18c13378ee777
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: clean up code __tpl_wayland_egl_surface_init() 57/93557/3
YoungJun Cho [Tue, 25 Oct 2016 02:26:48 +0000 (11:26 +0900)]
tpl_wayland_egl: clean up code __tpl_wayland_egl_surface_init()

This patch cleans up code __tpl_wayland_egl_surface_init().
The original TPL_ASSERT()s are called after using those pointer already.
And the 'surface->backend.data' re-initialization code is missed.

Change-Id: I34b4d2ac65d57f555b097da77302febffe177a97
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
7 years agoMerge "tpl_surface: add missed lock in tpl_surface_set_reset_cb()" into tizen
Gwan-gyeong Mun [Thu, 27 Oct 2016 14:03:58 +0000 (07:03 -0700)]
Merge "tpl_surface: add missed lock in tpl_surface_set_reset_cb()" into tizen

7 years agoMerge "tpl_wayland_egl: remove duplicated routine in __cb_tbm_surface_queue_reset_cal...
Gwan-gyeong Mun [Thu, 27 Oct 2016 13:14:14 +0000 (06:14 -0700)]
Merge "tpl_wayland_egl: remove duplicated routine in __cb_tbm_surface_queue_reset_callback()" into tizen

7 years agoMerge "tpl_wayland_egl: clean up codes __tpl_wayland_egl_buffer_set_reset_flag()...
Gwan-gyeong Mun [Thu, 27 Oct 2016 12:32:48 +0000 (05:32 -0700)]
Merge "tpl_wayland_egl: clean up codes __tpl_wayland_egl_buffer_set_reset_flag()" into tizen

7 years agotpl_wayland_egl: clean up codes __tpl_wayland_egl_display_buffer_flusher_init/fini() 80/93380/4
YoungJun Cho [Mon, 24 Oct 2016 04:37:04 +0000 (13:37 +0900)]
tpl_wayland_egl: clean up codes __tpl_wayland_egl_display_buffer_flusher_init/fini()

This patch cleans up codes for __tpl_wayland_egl_display_buffer_flusher_init/fini().
These functions do not use tpl_display_t type display except getting wayland_egl_display.
So it seems better to use tpl_wayland_egl_display_t type wayland_egl_display directly.

Change-Id: I6d00e564a2d42164c010580cc01aedb59dd4e9c3
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
7 years agoMerge "tpl_wayland_egl: clean up codes for __tpl_wayland_egl_display_fini()" into...
Gwan-gyeong Mun [Thu, 27 Oct 2016 12:04:45 +0000 (05:04 -0700)]
Merge "tpl_wayland_egl: clean up codes for __tpl_wayland_egl_display_fini()" into tizen

7 years agotpl_wayland_egl: clean up codes for __tpl_wayland_egl_display_fini() 79/93379/3
YoungJun Cho [Mon, 24 Oct 2016 02:51:41 +0000 (11:51 +0900)]
tpl_wayland_egl: clean up codes for __tpl_wayland_egl_display_fini()

This patch cleans up codes for __tpl_wayland_egl_display_fini()..
It re-arranges fini functions with reverse order.

Change-Id: Ia5cda03e12e80b01e462b4b7a845bca7f44b0938
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
7 years agotpl_wayland_egl: clean up code for __tpl_wayland_egl_display_init() 48/93248/4
YoungJun Cho [Fri, 21 Oct 2016 08:31:27 +0000 (17:31 +0900)]
tpl_wayland_egl: clean up code for __tpl_wayland_egl_display_init()

This patch cleans up code for __tpl_wayland_egl_display_init() error routine.
There is no case that the wayland_egl_display is NULL and
this patch re-arranges fini functions with reverse order.

Change-Id: I55f89400f612ea74fb7fa1bdf392aba324bda397
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
7 years agotpl_surface: add missed lock in tpl_surface_set_reset_cb() 02/93402/1
YoungJun Cho [Mon, 24 Oct 2016 06:37:31 +0000 (15:37 +0900)]
tpl_surface: add missed lock in tpl_surface_set_reset_cb()

This patch adds missed lock in tpl_surface_set_reset_cb().
The 'surface' should be protected.

Change-Id: I195018753051d687a1c71762e00568fe4b1fe793
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
7 years agotpl_wayland_egl: remove duplicated routine in __cb_tbm_surface_queue_reset_callback() 01/93401/1
YoungJun Cho [Mon, 24 Oct 2016 06:35:14 +0000 (15:35 +0900)]
tpl_wayland_egl: remove duplicated routine in __cb_tbm_surface_queue_reset_callback()

This patch removes duplicated routine in __cb_tbm_surface_queue_reset_callback().
The TPL_CHECK_ON_NULL_RETURN() already checks wayland_egl_surface is NULL or not.

Change-Id: Ia17386495cf5fa15210e6e8847ffc7b2e8bf92cc
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
7 years agotpl_wayland_egl: clean up codes __tpl_wayland_egl_buffer_set_reset_flag() 89/93389/1
YoungJun Cho [Mon, 24 Oct 2016 05:28:55 +0000 (14:28 +0900)]
tpl_wayland_egl: clean up codes __tpl_wayland_egl_buffer_set_reset_flag()

This patch cleans up code for __tpl_wayland_egl_buffer_set_reset_flag().
There is a possibility to reuse wayland_egl_buffer when tbm_surface is NULL.

Change-Id: If1b5580ecea47c435eccec44e0d0c78ae5696162
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
7 years agotpl_gbm: add backend data initialization for error case 33/93233/1
YoungJun Cho [Fri, 21 Oct 2016 07:14:12 +0000 (16:14 +0900)]
tpl_gbm: add backend data initialization for error case

This patch adds backend data initialization for error case
for __tpl_gbm_surface_init().

Change-Id: I6f2f374c6c6bad7e471670c0be0a12609057c888
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
7 years agotpl_surface: add missed unlock 88/93188/1
YoungJun Cho [Fri, 21 Oct 2016 02:00:21 +0000 (11:00 +0900)]
tpl_surface: add missed unlock

This patch adds missed unlock for tpl_surface_set_frontbuffer_mode().

Change-Id: Ic5947e526b1df44380fa9b0f8e2a56f8f1170e01
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
7 years agotpl_surface: narrow the lock section 87/93187/1
YoungJun Cho [Fri, 21 Oct 2016 01:46:58 +0000 (10:46 +0900)]
tpl_surface: narrow the lock section

This patch narrows the lock section.
The 'tbm_surface' NULL checking routine is not related with tpl surface.

Change-Id: Ic547e0784933dcfe1f779aaa2748ebf463f084a8
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
7 years agotpl_worker_thread: remove regist vblank handler. 55/92055/2
deasung.kim [Thu, 13 Oct 2016 05:22:44 +0000 (14:22 +0900)]
tpl_worker_thread: remove regist vblank handler.

vblank handler raises performance regression.
remove regist vblank handler and replace all present mode to MAILBOX.

Change-Id: I4a56b77aea2ff67dbe0f09dc322d3219a2c69190

7 years agotpl_util: Revised in order to use dlog as the default tpl logs. 44/91944/2
joonbum.ko [Wed, 12 Oct 2016 08:31:13 +0000 (17:31 +0900)]
tpl_util: Revised in order to use dlog as the default tpl logs.

 - If set ENABLE_DLOG which is the flag in the spec file with 0, default log change to fprintf.
 - To distinguish the kind of logs, I added several below font colors.
  FONT_DEFAULT, FONT_RED(error), FONT_YELLOW(warning), FONT_GREEN(frontend), FONT_BLUE(backend), FONT_MAGENTA(debug)

Change-Id: I13f41add53e0e3f3346bc89d4d056623f9bd98d1
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_vk_wsi: implement the wsi's present mode 37/91337/7
deasung.kim [Sat, 24 Sep 2016 10:59:45 +0000 (19:59 +0900)]
tpl_wayland_vk_wsi: implement the wsi's present mode

implement __tpl_wayland_vk_wsi_display_query_window_supported_present_modes
vblank event feature supports FIFO/FIFO_RELAXED modes

Change-Id: Id4fafee58ad3b2772449c3fb050ede2c004c52a9

7 years agotpl_worker_thread: change the timing of calling of epoll_ctl_add() on "next draw... 95/91595/4
deasung.kim [Mon, 10 Oct 2016 09:44:13 +0000 (18:44 +0900)]
tpl_worker_thread: change the timing of calling of epoll_ctl_add() on "next draw wait buffer".
- before: __tpl_worker_thread_loop() iterates  all surfaces before calling of epoll_wait()
  after : __tpl_worker_thread_loop() calls once __tpl_worker_prepare_draw_wait_buffer after handling of "current surface's buffer draw-done event".

Change-Id: Ia8ffb537794eb01c19f4fff33acf40e3071f1184

7 years agoMerge "tpl: tpl_surface_create_swapchain() API is modified for present mode support...
Gwan-gyeong Mun [Wed, 12 Oct 2016 07:05:26 +0000 (00:05 -0700)]
Merge "tpl: tpl_surface_create_swapchain() API is modified for present mode support      tpl_display_query_supported_present_modes_from_native_window() is added for querying of present mode" into tizen

7 years agotpl: tpl_surface_create_swapchain() API is modified for present mode support 36/91336/4
deasung.kim [Sat, 24 Sep 2016 09:26:46 +0000 (18:26 +0900)]
tpl: tpl_surface_create_swapchain() API is modified for present mode support
     tpl_display_query_supported_present_modes_from_native_window() is added for querying of present mode

 - Add enum of tpl_display_present_mode_t
   it's comments is referred from vulkan present mode comments of vulkan spec.

Change-Id: Ief1f322dbb083996d7b77afed7832860dc6e063a

7 years agoMerge "tpl_worker_thread: added vblank event" into tizen
Gwan-gyeong Mun [Wed, 12 Oct 2016 06:54:35 +0000 (23:54 -0700)]
Merge "tpl_worker_thread: added vblank event" into tizen

7 years agoMerge "tpl_worker_thread: added worker_thread files" into tizen
Gwan-gyeong Mun [Mon, 10 Oct 2016 11:21:09 +0000 (04:21 -0700)]
Merge "tpl_worker_thread: added worker_thread files" into tizen

7 years agotpl_worker_thread: added vblank event 34/91334/2
deasung.kim [Sat, 24 Sep 2016 09:06:08 +0000 (18:06 +0900)]
tpl_worker_thread: added vblank event

added vblank event use tdm client for present mode FIFO

Change-Id: I86830125cf9091e634a03375857a7723f7f9cafc

7 years agotpl_worker_thread: added worker_thread files 33/91333/2
deasung.kim [Sat, 24 Sep 2016 06:53:03 +0000 (15:53 +0900)]
tpl_worker_thread: added worker_thread files

change thread model from per each surface to one process
event handle in worker thread
backends set "draw done"/"fd get" func to tpl_worker_thread_surface

will be added more event functions

Change-Id: Ic6a316c75f3a0fa40e6fb3e8830f488e92d5cfa5

7 years agotpl_wayland_egl: Do unreference the attached buffers when the flushing of buffer... 50/91150/3 accepted/tizen/3.0/ivi/20161028.151244 accepted/tizen/3.0/mobile/20161028.143140 accepted/tizen/3.0/tv/20161028.143451 accepted/tizen/3.0/wearable/20161028.150819 accepted/tizen/common/20161019.145632 accepted/tizen/ivi/20161019.141942 accepted/tizen/mobile/20161019.141926 accepted/tizen/tv/20161019.141932 accepted/tizen/wearable/20161019.141937 submit/tizen/20161019.023529 submit/tizen_3.0/20161028.062323 submit/tizen_3.0/20161028.092423 submit/tizen_3.0_common/20161104.104000 submit/work91/20161019.023152
joonbum.ko [Thu, 6 Oct 2016 05:45:16 +0000 (14:45 +0900)]
tpl_wayland_egl: Do unreference the attached buffers when the flushing of buffer is occured. it uses the list of attached_buffers.

Change-Id: Iaf880e86807af33e75ad7ee41e682628db4216e1
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl: Add TPL_ERROR_OUT_OF_MEMORY to enum vaulue of tpl_result_t. 17/91217/1
Mun, Gwan-gyeong [Thu, 6 Oct 2016 09:14:18 +0000 (18:14 +0900)]
tpl: Add TPL_ERROR_OUT_OF_MEMORY to enum vaulue of tpl_result_t.

 - it provides error case of OOM (out of memory) for users of libtpl-egl.

   previous: tpl returns TPL_ERROR_INVALID_OPERATION or NULL when the tpl fails on allocation of memory.
   current : tpl returns TPL_ERROR_OUT_OF_MEMORY or NULL when the tpl fails on allocation of memory.

Change-Id: I9859b71be94422b2f36250d62a7e68029f355072
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
7 years agotpl_wayland_egl: Fix error check for dispatch queue 14/91114/1 accepted/tizen/3.0/mobile/20161015.033645 accepted/tizen/3.0/tv/20161016.004915 accepted/tizen/3.0/wearable/20161015.083546 accepted/tizen/common/20161006.153722 accepted/tizen/ivi/20161007.103754 accepted/tizen/mobile/20161007.103743 accepted/tizen/tv/20161007.103752 accepted/tizen/wearable/20161007.103749 submit/tizen/20161006.041545 submit/tizen_3.0_mobile/20161015.000004 submit/tizen_3.0_tv/20161015.000003 submit/tizen_3.0_wearable/20161015.000004
Sangjin Lee [Thu, 6 Oct 2016 01:56:33 +0000 (10:56 +0900)]
tpl_wayland_egl: Fix error check for dispatch queue

Change-Id: I8b2f684a160358b632e1edf2d1f28a8843b409ed

7 years agotpl: Added frontend API "tpl_surface_set_reset_cb" 71/90471/4 accepted/tizen/common/20161005.165649 submit/tizen/20161005.133318
joonbum.ko [Tue, 27 Sep 2016 09:41:29 +0000 (18:41 +0900)]
tpl: Added frontend API "tpl_surface_set_reset_cb"

 - This API can set function of reset_cb to tpl_surface.
 - When the tbm_surface_queue_reset is occured, if there is reset_cb which is registered by frontend, tpl_surface calls that function of reset_cb with reset_data.

 - tpl_surface_validate() also can notify info of surface's "reset/resized states" to frontend  as before.
  But if you want to know the surface reset state without render call, it is better that registers callback of reset, using above API.

Change-Id: Ib762856ad1db306c435013218c1a4be2b24ef1c9
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: Fix misused return value of wl_display_roundtrip_queue() on buffer_... 91/90991/2
joonbum.ko [Wed, 5 Oct 2016 08:44:52 +0000 (17:44 +0900)]
tpl_wayland_egl: Fix misused return value of wl_display_roundtrip_queue() on  buffer_flusher_init()

 - If there are  errors on wl_display_roundtrip_queue then it  returns values as '-1'.

Change-Id: I754df1768b46f0d815af84255255997429eefa7b
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: Use the tizen_surface_shm protocol for flushing of buffer 98/90398/6
Sangjin Lee [Fri, 23 Sep 2016 07:04:07 +0000 (16:04 +0900)]
tpl_wayland_egl: Use the tizen_surface_shm protocol for flushing of buffer

If the client's state changes the deiconified state, the tizen display server sends tizen_surface_shm_flusher event to client.
So, when the client gets the  tizen_surface_shm_flusher event from server, client can flush buffers of surface_queue.
And the tizen_surface_shm_flush event is dispatched by client's default event queue in tpl_wayland_egl.

Change-Id: Icccb55e621fe264bf299d9d8c81e6f5376cee24d

7 years agotpl_wayland_egl: Fixed some bugs related to wl_display_dispatch_queue_pending. 06/89706/3
joonbum.ko [Mon, 26 Sep 2016 01:49:06 +0000 (10:49 +0900)]
tpl_wayland_egl: Fixed some bugs related to wl_display_dispatch_queue_pending.
                 Temporal fix : Change of tbm_surface's reset state.

 - Currently, tbm_surface's reset state is changed by tpl_surface_validate() and tbm_surface_queue event handler.
   When we have good solution of changing of tbm_surface's reset state,  tpl_surface_validate()'s wayland egl backend should remove changing of tbm_surface's reset state.

 - Fixed some bugs about ACTIVE/DEACTIVE(queue_flush) events and finally applied wl_display_dispatch_queue_pending().

 - Related with below commit.

    019e7ff6cade7d660524cb23f7b7c442011a07dd
    tpl_wayland_egl: dispatching before checking whether can dequeue or not.

     - The event processing can be delayed in case there are idle buffer in free queue.
      So, in dequeueable procedure, it has to call wl_display_dispatch_queue_pending before checking whether tbm_surface_queue can dequeue or not.
      It can process that the events related to 'queue flush' more rapidly.

 - In future commit, tpl_surface_validate will be modified to suitable one which is related to reset flag.

Change-Id: I0584211aed14ef2dd22531074c3b50e8463dd95f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: Call wl_display_dispatch_queue_pending with wl_tbm_event_queue inste... 05/89705/4
joonbum.ko [Fri, 23 Sep 2016 05:04:54 +0000 (14:04 +0900)]
tpl_wayland_egl: Call wl_display_dispatch_queue_pending with wl_tbm_event_queue instead of dispatching with default_queue on __tpl_wayland_egl_surface_fini().

 - __tpl_wayland_egl_surface_fini() should call wl_display_dispatch_queue_pending with wl_tbm_event_queue because of the wl_event_queue is seperated default_queue and wl_tbm_event_queue.

Change-Id: I7b80e8752e4d056c4ee6fba5467503cd6c73c0db
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: Release locks while tpl-egl waits for vblank done. 04/89704/2
joonbum.ko [Fri, 23 Sep 2016 04:47:45 +0000 (13:47 +0900)]
tpl_wayland_egl: Release locks while tpl-egl waits for vblank done.

 - If error occurs on tdm_client_handle_events(), the worker thread may be faced the loop of unlimited.
 - As a result, after the next tpl_surface API is called , the main thread will be faced the dead lock state
Change-Id: I7902678dad6120d540563279f35ccd5a344851cc
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: Revert commit 'dispatching before checking whether can dequeue or... 75/89075/2
joonbum.ko [Thu, 22 Sep 2016 04:05:09 +0000 (13:05 +0900)]
tpl_wayland_egl: Revert commit 'dispatching before checking whether can dequeue or not.'

Change-Id: Ic053d5ce9d98ba94d09224541534f11e54575761
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: Reused buffer's reset flag set to TPL_FALSE. 74/89074/2
joonbum.ko [Thu, 22 Sep 2016 02:52:23 +0000 (11:52 +0900)]
tpl_wayland_egl: Reused buffer's reset flag set to TPL_FALSE.

Change-Id: I2edc82f5e61ccb35deb22bdefe9b888568a313f9
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl: Fixed image dump util. 73/89073/2
joonbum.ko [Thu, 22 Sep 2016 02:41:44 +0000 (11:41 +0900)]
tpl: Fixed image dump util.

Change-Id: I8c1727194fb1934cda60f6d413590ecc2ff0eb73
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: dispatching before checking whether can dequeue or not. 08/88508/1 accepted/tizen/3.0/ivi/20161011.050531 accepted/tizen/common/20160920.131918 accepted/tizen/ivi/20160920.231734 accepted/tizen/mobile/20160920.231617 accepted/tizen/tv/20160920.231650 accepted/tizen/wearable/20160920.231714 submit/tizen/20160920.023021 submit/tizen_3.0_ivi/20161010.000004
joonbum.ko [Mon, 19 Sep 2016 10:59:01 +0000 (19:59 +0900)]
tpl_wayland_egl: dispatching before checking whether can dequeue or not.

 - The event processing can be delayed in case there are idle buffer in free queue.
  So, in dequeueable procedure, it has to call wl_display_dispatch_queue_pending before checking whether tbm_surface_queue can dequeue or not.
  It can process that the events related to 'queue flush' more rapidly.

Change-Id: I5512e576e985d57dc9181e338f589d344f2b8161
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agoMerge "tpl_wayland_egl: Use seperated event-queue for wl_tbm." into tizen accepted/tizen/common/20160908.134801 accepted/tizen/ivi/20160908.123415 accepted/tizen/mobile/20160908.123328 accepted/tizen/tv/20160908.123340 accepted/tizen/wearable/20160908.123401 submit/tizen/20160908.083048
Gwan-gyeong Mun [Thu, 8 Sep 2016 08:27:08 +0000 (01:27 -0700)]
Merge "tpl_wayland_egl: Use seperated event-queue for wl_tbm." into tizen

7 years agotpl_wayland_egl: Use seperated event-queue for wl_tbm. 54/87454/3
Sangjin Lee [Thu, 8 Sep 2016 05:28:12 +0000 (14:28 +0900)]
tpl_wayland_egl: Use seperated event-queue for wl_tbm.

the tdm_client related protocol provides wl_tbm, wl_tbm_queue and  wl_buffer proxy.

if wl_tbm proxy uses the seperated queue from wl_display,  then wl_tbm_queue and wl_buffer also use the seperated queue by inherited from wl_tbm proxy's queue.
( if wl_tbm_queue and wl_buffer are gotten before setting of wl_tbm proxy queue. this machanism does not work. therefore, wl_tbm_queue and wl_buffer use wl_display's default queue.)

- this patch chages the timing of handling of wl_buffer_release event.
  wl_buffer_release event is only handled before dequeue_buffer.

reference:

1. wl_tbm proxy handles what received below wayland events.
 - buffer_attached_with_id
 - buffer_attached_with_fd

2. wl_tbm_queue handles what received below wayland events.
 - active
 - deactive

Change-Id: Iac8b07016aae3418563ab5b5cc181fa8d2e7712f

7 years agotpl_wayland_egl: Add object locking mechanism for multi-threads client. 95/87095/2
joonbum.ko [Tue, 6 Sep 2016 09:17:22 +0000 (18:17 +0900)]
tpl_wayland_egl: Add object locking mechanism for multi-threads client.

 - In the multi-threads environment, backend surface's locking mechanism(using tpl_object_t) is needed
 in order to prevent the case that the tpl_list is concurrently accessed by wayland_event of multi-threaded client.
Change-Id: I2957a2893f469d2b8eb3fc4b4c30dd9da3cdfeff
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_vk_wsi: Change strerror to strerror_r for the guaranteee of thread safety. 37/86937/1 accepted/tizen/common/20160906.131359 accepted/tizen/ivi/20160907.060351 accepted/tizen/mobile/20160907.060219 accepted/tizen/tv/20160907.060259 accepted/tizen/wearable/20160907.060325 submit/tizen/20160905.105032 submit/tizen/20160906.071027
Mun, Gwan-gyeong [Mon, 5 Sep 2016 13:42:27 +0000 (22:42 +0900)]
tpl_wayland_vk_wsi: Change strerror to strerror_r for the guaranteee of thread safety.

Change-Id: I5947b09c64c439ef9433b5f9c8f47e73d7fa55b9
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
7 years agotpl_utils_hlist: Fix compile warning on 64bit architecture 36/86736/2
Mun, Gwan-gyeong [Fri, 2 Sep 2016 12:21:14 +0000 (21:21 +0900)]
tpl_utils_hlist: Fix compile warning on 64bit architecture

fix size_t type argument format warning of printf() on 64bit architecture.

Change-Id: I6f3f0959f29dec2c26a5456b75dbdf85e00f0020
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
7 years agopkgconfig: package-config file which is generated while building. 35/86735/1
Mun, Gwan-gyeong [Fri, 2 Sep 2016 11:45:21 +0000 (20:45 +0900)]
pkgconfig: package-config file which is generated while building.

 before: package config's library section is fixed.
 after : generated package config's library section is selected when package is building.

Change-Id: I938c9dd0c5267d3d04eb761ed672863af33fadbe
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
7 years agotpl_gbm: Add ttrace infos on DEQ~ENQ. 45/86645/4
joonbum.ko [Fri, 2 Sep 2016 06:35:29 +0000 (15:35 +0900)]
tpl_gbm: Add ttrace infos on DEQ~ENQ.

Change-Id: I3f94be8f2a985602b627b0ac786cf0be2a2e4df8
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: add TPL_OBJECT_CHECK on __tpl_wayland_egl_surface_enqueue_buffer... 16/86116/3
Mun, Gwan-gyeong [Tue, 30 Aug 2016 13:36:44 +0000 (22:36 +0900)]
tpl_wayland_egl: add TPL_OBJECT_CHECK on __tpl_wayland_egl_surface_enqueue_buffer() and __tpl_wayland_egl_surface_dequeue_buffer()

Change-Id: Ie7f230aeb0eccf3689725459307f6f45eb891fa4
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
7 years agolibtpl-egl: add checking of tpl_object validation feature 15/86115/3
Mun, Gwan-gyeong [Tue, 30 Aug 2016 13:16:16 +0000 (22:16 +0900)]
libtpl-egl: add checking of tpl_object validation feature

tpl_object check(validation check) supports  magic-number mode and finding hash mode.

Change-Id: Ic885930bc6cda0d885250f8cd19371eacb5a1186
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
7 years agotpl_wayland_egl: Fix build warning 28/85928/1 accepted/tizen/common/20160830.150226 accepted/tizen/ivi/20160830.235637 accepted/tizen/mobile/20160830.235426 accepted/tizen/tv/20160830.235508 accepted/tizen/wearable/20160830.235554 submit/tizen/20160829.120328 submit/tizen/20160830.063644
Mun, Gwan-gyeong [Mon, 29 Aug 2016 14:25:36 +0000 (23:25 +0900)]
tpl_wayland_egl: Fix build warning

Change-Id: I0c40d3d40e7c9f6fefbf5e641a81732488ac69a8
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
7 years agotpl_wayland_egl: Add wl_proxy to wayland_egl_display about wayland_tbm_client for... 86/85886/4
joonbum.ko [Mon, 29 Aug 2016 10:30:21 +0000 (19:30 +0900)]
tpl_wayland_egl: Add wl_proxy to wayland_egl_display about wayland_tbm_client for handling some events.

- The separated events will be processed like below.
      [wayland_egl_surface->wl_tbm_queue] : process 'ACTIVE' and 'DEACTIVE'
      [wayland_egl_display->wl_tbm] : process 'buffer_attached_with_id' and 'buffer_attached_with_fd'

- Related reference : wayland-tbm
 https://review.tizen.org/gerrit/#/c/85406/
 https://review.tizen.org/gerrit/#/c/85407/

Change-Id: Ic22ce21c753916cfa7e66f5ad3a67b8e24013df5
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: Change the name 'wayland_egl_surface->wl_proxy' to 'wayland_egl_surf... 85/85885/2
joonbum.ko [Mon, 29 Aug 2016 10:54:07 +0000 (19:54 +0900)]
tpl_wayland_egl: Change the name 'wayland_egl_surface->wl_proxy' to 'wayland_egl_surface->wl_tbm_queue'.

Change-Id: Ia6bafcaa31d9652238e03307ba5a1bb590f47feb
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agolibtpl-egl: Apply coding style and add coding style document for astyle. 64/85764/1
Mun, Gwan-gyeong [Mon, 29 Aug 2016 04:51:32 +0000 (13:51 +0900)]
libtpl-egl: Apply coding style and add coding style document for astyle.

Change-Id: Ie39cc4244e19532bb000a16b97776575352aab69
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
7 years agotpl_wayland_egl: Delete unnecessary polling for tdm vblank. 92/85292/3
joonbum.ko [Wed, 24 Aug 2016 11:04:33 +0000 (20:04 +0900)]
tpl_wayland_egl: Delete unnecessary polling for tdm vblank.

 The necessary polling is already exist inside libtdm.

Change-Id: I5cf90dd599a2bee99ac3ba0094d8d4a36a7ca8bb
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agotpl_wayland_egl: Create tdm_vblank object directly and maintain every surfaces until... 91/85291/3
joonbum.ko [Wed, 24 Aug 2016 10:58:30 +0000 (19:58 +0900)]
tpl_wayland_egl: Create tdm_vblank object directly and maintain every surfaces until destroy.

 tdm_vblank object decide to be maintained every tpl_wayland_egl_surface
 for the case where one or more surfaces are created in one display connection.

Change-Id: I74a3195d1d7f6662d233edf30f43ac87902da4b5
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
7 years agolibtpl-egl: change the usage of libtbm_sync api 29/85229/3
deasung.kim [Wed, 24 Aug 2016 08:14:20 +0000 (17:14 +0900)]
libtpl-egl: change the usage of libtbm_sync api

remove tbm_sync objects and use fd
tbm sync related api change reference: https://review.tizen.org/gerrit/#/c/85169/ submitted

Change-Id: Ia291424c127487bed3af99759b6f37e9bd76c27a

7 years agotpl_wayland_vk_wsi: [sync - thread] added worker thread 67/82167/7
deasung.kim [Mon, 1 Aug 2016 08:31:10 +0000 (17:31 +0900)]
tpl_wayland_vk_wsi: [sync - thread] added worker thread

the worker thread do wait buffer's draw done signal before attach/commit
and wait buffer enqueue with pthread_condition.

main thread support timeout in dequeue_buffer with worker thread.(single thread not support timeout)

this patch can modify clear after libtbm support timeout(can dequeue/can acquire)

Change-Id: I90fe6340c4457169073537f18c1fd7368b5b5f7b

7 years agotpl_wayland_vk_wsi: [sync] divide __tpl_wayland_vk_wsi_surface_enqueue_buffer 39/82139/8
deasung.kim [Mon, 1 Aug 2016 05:45:07 +0000 (14:45 +0900)]
tpl_wayland_vk_wsi: [sync] divide __tpl_wayland_vk_wsi_surface_enqueue_buffer

added func __tpl_wayland_vk_wsi_surface_commit_buffer
this func do 'attach/commit/insert free queue' buffer
for worker thread

Change-Id: I609c5a1e2d59e5340b5f27e1c61e6147e8189bd6

7 years agotpl_wayland_vk_wsi: [sync] wait driver's sync in enqueue (without thread) 03/81903/7
deasung.kim [Fri, 29 Jul 2016 06:56:30 +0000 (15:56 +0900)]
tpl_wayland_vk_wsi: [sync] wait driver's sync in enqueue (without thread)

wait driver's draw done signal with sync_fd before attach/commit

Change-Id: I8c85231693a4b8c5e646bb5d0ef5eca10c17515c

7 years agotpl_wayland_vk_wsi: [sync] move buffer_release after buffer_acquire 69/81869/8
deasung.kim [Fri, 29 Jul 2016 03:33:06 +0000 (12:33 +0900)]
tpl_wayland_vk_wsi: [sync] move buffer_release after buffer_acquire

move buffer_release after buffer_acquire for vulkan's acquireNextImage spec.
and insert wl_display_dispatch in enqueue_buffer's last line.
if not call wl_display_dispatch it occur broken pipe.
see code's comments.

Change-Id: If2d1e52404c1e9425a0196392b99eba8f28b6d60

7 years agotpl_wayland_vk_wsi: [sync] implement make sync timeline and send 56/81756/6
deasung.kim [Thu, 28 Jul 2016 07:31:45 +0000 (16:31 +0900)]
tpl_wayland_vk_wsi: [sync] implement make sync timeline and send

create timeline when buffer created
and transfer to server and server increase timeline value
create fence when buffer acquired and client wait fence before draw

this patch client side
need server side patch

Change-Id: Ibfb4bb9dbc6bd0c7bb1fb0fbb36c1faeac7a23d7

7 years ago[sync] added dequeue/enqueue with sync interface 33/81733/5
deasung.kim [Thu, 28 Jul 2016 06:02:56 +0000 (15:02 +0900)]
[sync] added dequeue/enqueue with sync interface

added function
- tpl_surface_dequeue_buffer_with_sync
- tpl_surface_enqueue_buffer_with_damage_and_sync
added parameter in backend function
dequeue_buffer timeout, tbm_sync_fence_h
enqueue_buffer tbm_sync_fence_h

this patch dependent https://review.tizen.org/gerrit/#/c/84089/

Change-Id: I2eb7bf54c43fc75dcb73dc6a12b76eb21659eaca

7 years agotpl_wayland_egl: Add Null check on wayland_egl_buffer and wayland_egl_surface of... 43/84843/1 accepted/tizen/common/20160824.154228 accepted/tizen/ivi/20160824.055144 accepted/tizen/mobile/20160824.055013 accepted/tizen/tv/20160824.055049 accepted/tizen/wearable/20160824.055116 submit/tizen/20160823.022539
Mun, Gwan-gyeong [Mon, 22 Aug 2016 14:30:58 +0000 (23:30 +0900)]
tpl_wayland_egl: Add Null check on wayland_egl_buffer and wayland_egl_surface of __tpl_wayland_egl_surface_enqueue_buffer()

Change-Id: Ice0924f4a9a068ad5962d3743538f03ce46cf766
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
8 years agotpl-wayland-egl: Add tracking list of tbm_surface in order to track dequeued buffers. 77/83277/2 accepted/tizen/common/20160811.145708 accepted/tizen/ivi/20160811.002732 accepted/tizen/mobile/20160811.002712 accepted/tizen/tv/20160811.002709 accepted/tizen/wearable/20160811.003039 submit/tizen/20160810.082140
joonbum.ko [Mon, 8 Aug 2016 05:01:26 +0000 (14:01 +0900)]
tpl-wayland-egl: Add tracking list of tbm_surface in order to track dequeued buffers.

 When tbm_surface_queue was reset, if the dequeued buffer(s) render done,
 don't call tbm_surface_enqueue and do wl_surface_commit directly.

Change-Id: I095964f3fbb6c21f4fffc43f2682182f3cedb34a
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
8 years agotpl-wayland-egl: Change some contents of the structure tpl_wayland_egl_buffer_t,... 80/82580/3
joonbum.ko [Thu, 4 Aug 2016 09:28:55 +0000 (18:28 +0900)]
tpl-wayland-egl: Change some contents of the structure tpl_wayland_egl_buffer_t, tpl_wayland_egl_display_t.

 tpl_wayland_egl_display_t has handle for 'struct wl_display'.
 tpl_wayland_egl_buffer_t has handle for tpl_wayland_display_t instead of tpl_display_t.

Change-Id: I2aa27f55741256b8633808212313a500093ae58c
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
8 years agotpl-wayland-egl: Add tracking list of tbm_surface in order to track attached buffers. 79/82579/2
joonbum.ko [Wed, 3 Aug 2016 05:35:20 +0000 (14:35 +0900)]
tpl-wayland-egl: Add tracking list of tbm_surface in order to track attached buffers.

If wayland-client dependes on release_cb to free the resources related to buffer,
there are some problem occured in situation when cannot expect. (unexpected process kill)

wayland-client doesn't depend any more on release_cb, it will release the resources
related to buffer when surface was destroyed or reset immediately.

Change-Id: Ic97b37d54226b6b478fc13dd5a2ffe1a518782d3

8 years agoAdded the exception checking codes about tbm_surface when release_cb called. 74/80574/2 accepted/tizen/common/20160805.125741 submit/tizen/20160804.041907
joonbum.ko [Tue, 19 Jul 2016 01:53:14 +0000 (10:53 +0900)]
Added the exception checking codes about tbm_surface when release_cb called.

Change-Id: Ia5ddf37d3b6a41c99475616dfb62ed3c3883084f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
8 years agoCall wl_display_dispatch_pending() once before client surface is finalized. 81/80481/3
joonbum.ko [Mon, 18 Jul 2016 08:29:53 +0000 (17:29 +0900)]
Call wl_display_dispatch_pending() once before client surface is finalized.

Change-Id: I15721d89dc9d8dea14a02aefc36db42a3bad89f2
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
8 years agoAdded codes about processing for event_queue of wl_tbm_queue. 75/79775/4
joonbum.ko [Wed, 13 Jul 2016 00:50:43 +0000 (09:50 +0900)]
Added codes about processing for event_queue of wl_tbm_queue.

Change-Id: I687624549548c405a2325e68072991a21b7e6a54
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
8 years agotpl-wayland-egl: change usage of libtdm-cleint api 58/77858/4 sandbox/hoyub/devel
Boram Park [Fri, 1 Jul 2016 09:37:50 +0000 (18:37 +0900)]
tpl-wayland-egl: change usage of libtdm-cleint api

remove the deprecated name and use the new name of structure and enumeration of
libtdm client. In libtdm library, tdm_client_error and TDM_CLIENT_ERROR_xxx prefix
changed to tdm_error and TDM_ERROR_xxx.

Change-Id: I2ccdc493f9cb26cb49914d5de59137b1c19331f3

8 years agoDeleted unnecessary code. 25/76225/1 accepted/tizen/common/20160703.125905 accepted/tizen/ivi/20160629.020953 accepted/tizen/mobile/20160629.021022 accepted/tizen/tv/20160629.020958 accepted/tizen/wearable/20160629.021002 submit/tizen/20160628.092313 submit/tizen_common/20160701.180000
joonbum.ko [Thu, 23 Jun 2016 07:04:38 +0000 (16:04 +0900)]
Deleted unnecessary code.

 - It is not useful any more but if it exist continuously, this exception code can cause some problem.

Change-Id: Ib56805fee97cc99e8f25338c08fabb93e04db180
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
8 years agoPrevent the case that cannot receive the release event. 24/76224/1
joonbum.ko [Thu, 23 Jun 2016 06:56:20 +0000 (15:56 +0900)]
Prevent the case that cannot receive the release event.

 - While doing the wl_buffer proxy set with the private queue, process the event in the default queue once more.

Change-Id: Ifa02c80c7cee05416db3fb7da1e66e54c087f8f6
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
8 years agoAdd fd polling for receive the vsync event. 84/74984/1
joonbum.ko [Thu, 16 Jun 2016 07:01:15 +0000 (16:01 +0900)]
Add fd polling for receive the vsync event.

 - The logic which wl_client check the vsync events in order to perform only one commit
  for one vsync was added.
 - If TPL_WAIT_VBLANK env value set to 0, this login will be disabled.

Change-Id: I559f709e2272c3904d9690c68f53ce800d60d97a

8 years agoReorganize TPL log system. 83/74983/1
joonbum.ko [Fri, 10 Jun 2016 08:43:55 +0000 (17:43 +0900)]
Reorganize TPL log system.

 - Logs will be printed out using fprintf.
 - ENABLE_DLOG flag set to 1 all logs will be printed out using dlog.
 - TPL_LOG_LEVEL
   1: Only frontend API logs.
   2: Frontend API logs + Backend detail logs.
   3: Frontend + Backend + Debug logs.
   4: Only Debug logs.

Change-Id: Iceacc4163b225c1b0595b2c02dc119f85cee59b3
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
8 years agotpl-wayland-egl: remove a wl_queue 25/74025/2
Sangjin Lee [Fri, 10 Jun 2016 11:13:02 +0000 (20:13 +0900)]
tpl-wayland-egl: remove a wl_queue

The wayland-egl backend just event dispatch in main-thread.
So it is sufficient to use just default display event queue.
But in dequeue function, create other event queue for wait to
buffer-release event.

Change-Id: I66edc877cfef6ab91598e8b3c5042ba00d871447

8 years agoAdd Null check on wl_surface of wl_egl_create_window(). 28/68028/2
Mun, Gwan-gyeong [Mon, 2 May 2016 00:38:11 +0000 (09:38 +0900)]
Add Null check on wl_surface of wl_egl_create_window().

Change-Id: Id52668525b55aa176b17874a7b85c9ad351c3ae0

8 years agoInitialize reset flag after tbm_surface_queue_dequeue. 81/70081/1 accepted/tizen/common/20160519.191042 accepted/tizen/ivi/20160519.002720 accepted/tizen/mobile/20160519.002655 accepted/tizen/tv/20160519.002714 accepted/tizen/wearable/20160519.002702 submit/tizen/20160518.053034
joonbum.ko [Wed, 18 May 2016 04:44:31 +0000 (13:44 +0900)]
Initialize reset flag after tbm_surface_queue_dequeue.

Change-Id: I657b1f52603d49821820ecd3802c245e7566ab8c
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
8 years agoChange indent : 8 tab size -> 4 tab size 80/69280/1
Mun, Gwan-gyeong [Thu, 12 May 2016 11:11:54 +0000 (20:11 +0900)]
Change indent : 8 tab size -> 4 tab size

Change-Id: Ic33e79873e5d15947c36675f13ce436f3ba06fc6

8 years agoSupport frontbuffer mode 70/69270/1
Sangjin Lee [Thu, 28 Apr 2016 05:42:27 +0000 (14:42 +0900)]
Support frontbuffer mode

Change-Id: Ie40e463ceaa83c34ea6e12fd76b660275f11c951

8 years agoAdd routine for validation checking about tbm_surface before using tbm_surface_intern... 60/68460/3 accepted/tizen/common/20160513.123254 accepted/tizen/ivi/20160513.004524 accepted/tizen/mobile/20160513.004531 accepted/tizen/tv/20160513.004519 accepted/tizen/wearable/20160513.004508 submit/tizen/20160512.073631
joonbum.ko [Wed, 4 May 2016 10:10:09 +0000 (19:10 +0900)]
Add routine for validation checking about tbm_surface before using tbm_surface_internal API.

Change-Id: I430e3699b0a8737659961a9ea66d03afa150938e

8 years agoOrganize ttrace log. 63/68163/5
joonbum.ko [Tue, 3 May 2016 00:37:53 +0000 (09:37 +0900)]
Organize ttrace log.

 - The flag in the .spec file, ENABLE_TTRACE default value is Zero(disable).
 - If you want to use this feature, change the value of ENABLE_TTRACE zero to one(enable).

Change-Id: If03bb923700fb5a3d1e3c889e2de4138af8a7d6e

8 years agoAdd Null Check before pointer dereference on tbm backend. 65/68765/1 accepted/tizen/common/20160511.141944 accepted/tizen/ivi/20160512.050520 accepted/tizen/mobile/20160512.050515 accepted/tizen/tv/20160512.050504 accepted/tizen/wearable/20160512.050458 submit/tizen/20160510.120322
Mun, Gwan-gyeong [Mon, 9 May 2016 12:55:56 +0000 (21:55 +0900)]
Add Null Check before pointer dereference on tbm backend.

Change-Id: I4028c9d2f3e3906a69e6045dbbb6be8559515268

8 years agoAdd missing requires on libwayland-egl-devel 95/67995/1 accepted/tizen/common/20160504.125106 accepted/tizen/ivi/20160503.092522 accepted/tizen/mobile/20160503.092433 accepted/tizen/tv/20160503.092443 accepted/tizen/wearable/20160503.092507 submit/tizen/20160502.043551 submit/tizen/20160502.114011
Mun, Gwan-gyeong [Fri, 29 Apr 2016 14:47:17 +0000 (23:47 +0900)]
Add missing requires on libwayland-egl-devel
 : add requires of libwayland-egl to libwayland-egl-devel

Change-Id: I38a215d1097e2ae4e4e01310624673b007f6b85e

8 years agoAdd build enable architecture on emulator: x86, x86_64 39/67539/1
Mun, Gwan-gyeong [Wed, 27 Apr 2016 07:44:20 +0000 (16:44 +0900)]
Add build enable architecture on emulator: x86, x86_64

Change-Id: I0a5816e5857237ff2c161510c1644488e48c956e

8 years agoMerge "tbm: check need_dpy_deinit" into tizen
Gwan-gyeong Mun [Tue, 26 Apr 2016 12:16:33 +0000 (05:16 -0700)]
Merge "tbm: check need_dpy_deinit" into tizen

8 years agotbm: check need_dpy_deinit 32/67432/1
Sangjin Lee [Tue, 26 Apr 2016 11:54:50 +0000 (20:54 +0900)]
tbm: check need_dpy_deinit

Change-Id: Ib13fe70e133e2f63f4a520acda4f068dc34d33d4