platform/core/uifw/libtpl-egl.git
3 years agoExpand the usage of wl_egl_buffer. 87/254787/1
Joonbum Ko [Fri, 5 Feb 2021 06:25:49 +0000 (15:25 +0900)]
Expand the usage of wl_egl_buffer.

Change-Id: Iedfae926e448e45660acca5b5cc76168f4bf4960
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoDelete unnecessary parameter of tpl_gthread_destroy 86/254786/1
Joonbum Ko [Fri, 5 Feb 2021 05:28:17 +0000 (14:28 +0900)]
Delete unnecessary parameter of tpl_gthread_destroy

Change-Id: I1e7871e7a101daf0bc0d3fa0ddd7e4b847433752
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFix wrong checking 85/254785/1
Joonbum Ko [Fri, 5 Feb 2021 03:49:01 +0000 (12:49 +0900)]
Fix wrong checking

Change-Id: If17ca7b9bde4ab767298d8664993f1a3fdc31f87
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFix leak in presentation sync fd. 84/254784/1
Joonbum Ko [Fri, 5 Feb 2021 03:46:14 +0000 (12:46 +0900)]
Fix leak in presentation sync fd.

 - The part related to presentation feedback and sync fd,
  which was a member of wl_egl_buffer, was separated into
  an independent structure pst_feedback.

Change-Id: Ice9604b306923afdd93871380084879509f5e6ae
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoSet presentation/commit_sync_fd of wl_egl_buffer 83/254783/1
Joonbum Ko [Thu, 4 Feb 2021 09:23:24 +0000 (18:23 +0900)]
Set presentation/commit_sync_fd of wl_egl_buffer

Change-Id: Ib0140c1b31beabffa939cae10cc04bebccb00d5c
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFix some wrong implementations. 82/254782/1
Joonbum Ko [Thu, 4 Feb 2021 06:19:29 +0000 (15:19 +0900)]
Fix some wrong implementations.

 - wl_egl_surface->need_to_enqueue should be
  initialized to TPL_TRUE at first time.
 - If release_fence, which is from tpl_surface_dequeue,
  is not null and surface_sync is not used,
   it should be initialized to -1.
 - _thread_wl_surface_commit should be called only if
  there is a buffer in vblank_waiting_buffers
  when vblank event occurs.
 - Some debug logs were added.

Change-Id: I8dc72c5b0ddbb0d38e149d809191620691caf698
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFix a wrong checking 81/254781/1
Joonbum Ko [Wed, 3 Feb 2021 07:27:38 +0000 (16:27 +0900)]
Fix a wrong checking

Change-Id: Ie636078b305fc7b4c0a6f234e37de74a04d63477
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdd missed operation for using wl_tbm_client. 80/254780/1
Joonbum Ko [Wed, 3 Feb 2021 07:25:52 +0000 (16:25 +0900)]
Add missed operation for using wl_tbm_client.

Change-Id: I942dbb918aa0dec72969751b77a2ea45552df53a
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoChange the order of creation of tdm_source. 79/254779/1
Joonbum Ko [Wed, 3 Feb 2021 01:27:03 +0000 (10:27 +0900)]
Change the order of creation of tdm_source.

Change-Id: I3bdfa3db71ed6a0dbacda4cf5a56d2ea81840d9e
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoChange to use buffers array instead of tpl_list. 78/254778/1
Joonbum Ko [Mon, 1 Feb 2021 03:25:02 +0000 (12:25 +0900)]
Change to use buffers array instead of tpl_list.

 - There is no need to maintain the tpl_list
  which was divided according to usage and divided into several.
 - One wl_egl_surface->buffers is created,
  but each buffer has a buffer_status.

Change-Id: I4d148fcbb2e13fab9d0904b2ab1b61604ee5895a
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoCorrected syntax errors 77/254777/1
Joonbum Ko [Wed, 27 Jan 2021 07:20:48 +0000 (16:20 +0900)]
Corrected syntax errors

Change-Id: Id7a41946e66e13dd6b850c38636bcfbab743581e
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFix some build problems of utils_gthread 76/254776/1
Joonbum Ko [Wed, 27 Jan 2021 03:44:03 +0000 (12:44 +0900)]
Fix some build problems of utils_gthread

Change-Id: I3c7e46a2196286664f4284c466b943cbf8ed1ba7
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoImplement related to wl_egl_buffer 75/254775/1
Joonbum Ko [Wed, 20 Jan 2021 10:58:00 +0000 (19:58 +0900)]
Implement related to wl_egl_buffer

Change-Id: I89ecb28818c6a209455c5dd9f1d90e72a4a038a9
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoImplement backend surface of tpl_wl_egl_thread. 74/254774/1
Joonbum Ko [Wed, 6 Jan 2021 04:37:15 +0000 (13:37 +0900)]
Implement backend surface of tpl_wl_egl_thread.

Change-Id: I391559ab9ebf6f926a6242795b7b5871b7ecf34f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdded message argunment to thread dispatch callback. 73/254773/1
Joonbum Ko [Wed, 6 Jan 2021 06:46:31 +0000 (15:46 +0900)]
Added message argunment to thread dispatch callback.

Change-Id: I37c39032839c0e598006ed29ae31ea5ca1b66207
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoRename tpl_gsource_send_event to tpl_gsource_send_message. 72/254772/1
Joonbum Ko [Wed, 6 Jan 2021 06:26:35 +0000 (15:26 +0900)]
Rename tpl_gsource_send_event to tpl_gsource_send_message.

Change-Id: Ib52508bd46ed588a9ce7893c9dae2d6f61681bfa
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdded argument to function tpl_gsource_destroy 71/254771/1
Joonbum Ko [Tue, 5 Jan 2021 04:04:29 +0000 (13:04 +0900)]
Added argument to function tpl_gsource_destroy

 - In an exceptional situation, there are cases where
  tpl_gsource_destroy should be called inside gthread.
 - In this case, if a source whose type is SOURCE_TYPE_NORMAL
  tries to destroy through finalizer, deadlock may occur.
   Therefore, when destroying in the same thread,
  destroy_in_thread must be set to FALSE.

Change-Id: I53a7b376f6cc12fbab12ec6d7bf6cc8e812eaa87
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdded missing gsource_destroy for tdm source. 70/254770/1
Joonbum Ko [Tue, 5 Jan 2021 03:48:17 +0000 (12:48 +0900)]
Added missing gsource_destroy for tdm source.

Change-Id: I4ee2813d3f7d19c2ee0467d79931eb54ff259386
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years ago Add finalizer source to tpl_gsource 69/254769/1
Joonbum Ko [Mon, 28 Dec 2020 12:10:00 +0000 (21:10 +0900)]
 Add finalizer source to tpl_gsource

  - The finalizer source can only be had when
   the type of tpl_gsource is SOURCE_TYPE_NORMAL.
  - The finalizer allows a source of NORMAL type
   to be safely finalized inside a thread.

Change-Id: I143b9fe52bc38b65f7649115b3a757b572ce1cd0
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdd new enum type tpl_gsource_type_t. 68/254768/1
Joonbum Ko [Mon, 28 Dec 2020 07:00:26 +0000 (16:00 +0900)]
Add new enum type tpl_gsource_type_t.

 - tpl_gsource_type_t can be classified into 4 enums below

  SOURCE_TYPE_UNKNOWN : not specified. it will be classified to NORMAL
  SOURCE_TYPE_NORMAL : normal source
  SOURCE_TYPE_DISPOSABLE : disposable source
  SOURCE_TYPE_FINALIZER : disposable source to finalize normal source.

Change-Id: I8a570929642e98ea89d20f6c63f21f7d96574c27
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoImplement display backend at tpl_wl_egl.c 67/254767/1
Joonbum Ko [Mon, 9 Nov 2020 05:20:05 +0000 (14:20 +0900)]
Implement display backend at tpl_wl_egl.c

Change-Id: I1a25d1d09eb7c3baf308e085d8dd690588f487f2
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdded an API to check io condtion. 66/254766/1
Joonbum Ko [Mon, 9 Nov 2020 05:19:52 +0000 (14:19 +0900)]
Added an API to check io condtion.

Change-Id: I493b57bd93096fe433cd6db521563cacd8d47a3c
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoImplemented initial tpl_utils_gthread. 65/254765/1
Joonbum Ko [Thu, 22 Oct 2020 07:55:12 +0000 (16:55 +0900)]
Implemented initial tpl_utils_gthread.

 - Thread-related functions included in tpl_wayland_egl_thread
  have been separated with util.

Change-Id: Ia75d1410e20241d8994e0bf55f7e6bc50016278c
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoSeparated unused files to 'unused' 64/254764/1
Joonbum Ko [Tue, 13 Oct 2020 07:12:09 +0000 (16:12 +0900)]
Separated unused files to 'unused'

Change-Id: I198e142f772360a9137972e38145c201eae9f3b7
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPackage version up to 1.8.0 81/250281/1 accepted/tizen/unified/20201228.130123 submit/tizen/20201223.060207 submit/tizen/20201224.062748
Joonbum Ko [Wed, 2 Dec 2020 09:24:36 +0000 (18:24 +0900)]
Package version up to 1.8.0

Change-Id: I35749e4d35e17444aa5bc23d87567dd619f2272b
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdd null checking to resolve dereference problem. 02/250202/2
Joonbum Ko [Tue, 22 Dec 2020 04:25:37 +0000 (13:25 +0900)]
Add null checking to resolve dereference problem.

Change-Id: I847db94a26f97573489c39793401861d014e81c9
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoChange log tag for basic info to always be displayed to TPL_INFO 32/249932/1
Joonbum Ko [Thu, 17 Dec 2020 10:52:14 +0000 (19:52 +0900)]
Change log tag for basic info to always be displayed to TPL_INFO

Change-Id: Ifedf01d5459b848715c7e8664a57c5308ed22080
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdd a new log TPL_INFO. 31/249931/1
Joonbum Ko [Thu, 17 Dec 2020 10:50:24 +0000 (19:50 +0900)]
Add a new log TPL_INFO.

Change-Id: I549db8c4b447c6bcc3c35fe52a8782e4b470aa9e
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdd internal function to get bo name from tbm_surface 98/249898/1
Joonbum Ko [Thu, 17 Dec 2020 07:43:40 +0000 (16:43 +0900)]
Add internal function to get bo name from tbm_surface

Change-Id: I467f724d531d0a3c3b6de1d8568f4632bc8960b9
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agowl_egl_window_tizen_merge_sync_fds will be deprecated. 97/249897/1
Joonbum Ko [Thu, 17 Dec 2020 07:04:18 +0000 (16:04 +0900)]
wl_egl_window_tizen_merge_sync_fds will be deprecated.

Change-Id: Idc4898f83829fe482d23fc8e862cd0d26b992e8c
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agore-implement presentation sync without using sync_timeline. 96/249896/1
Joonbum Ko [Tue, 15 Dec 2020 10:53:09 +0000 (19:53 +0900)]
re-implement presentation sync without using sync_timeline.

Change-Id: I999a56996081ac7b1706ca6ba9226b36e9b6f3d5
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agore-implement commit_sync without using sync_timeline 95/249895/1
Joonbum Ko [Fri, 4 Dec 2020 04:05:43 +0000 (13:05 +0900)]
re-implement commit_sync without using sync_timeline

Change-Id: Ic5f06eb4da1a37a82e251be5d0d9b5bb3c313a56
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFix damage rectangle of buffer when it needs to add full damage 04/248804/1
Changyeon Lee [Wed, 25 Nov 2020 04:43:42 +0000 (13:43 +0900)]
Fix damage rectangle of buffer when it needs to add full damage

The damage rectangle is specified in buffer coordinates,
where x and y specify the upper left corner of the damage rectangle.
geometry of window should not be considered.

Change-Id: I68153ec6106f80d6537683276bc1634189ad96e2

3 years agoPackage version up to 1.7.16 67/247967/1 accepted/tizen/unified/20201120.125455 submit/tizen/20201119.033406
Joonbum Ko [Thu, 19 Nov 2020 02:14:07 +0000 (11:14 +0900)]
Package version up to 1.7.16

Change-Id: If7650b7bffa78d10dd1960b6f341ebfb8e5f84b3
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoInitialize presentation_feedbacks list to NULL when created. 66/247966/1
Joonbum Ko [Thu, 19 Nov 2020 02:13:17 +0000 (11:13 +0900)]
Initialize presentation_feedbacks list to NULL when created.

Change-Id: Id969409745c1c6a5bef01c49b80e6c37535e5409
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPackage version up to 1.7.15 32/247632/1 accepted/tizen/unified/20201117.124157 submit/tizen/20201113.024925
Joonbum Ko [Fri, 13 Nov 2020 02:31:15 +0000 (11:31 +0900)]
Package version up to 1.7.15

Change-Id: Ife7e7a36eb11974aa1b1ec570a9af87b708948a6
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoDelete unused variable. 31/247631/1
Joonbum Ko [Fri, 13 Nov 2020 02:36:37 +0000 (11:36 +0900)]
Delete unused variable.

Change-Id: Id78516b6815c2fbadcf60c0a82830de5f2767cb6
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdded null checking to prevent assert checking failure. 30/247630/1
Joonbum Ko [Fri, 13 Nov 2020 02:30:11 +0000 (11:30 +0900)]
Added null checking to prevent assert checking failure.

Change-Id: I8bb6b5c21d1ea6721eef717525f1a87e0e8bf412
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPackage version up to 1.7.14 57/247257/1 accepted/tizen/unified/20201111.124820 submit/tizen/20201109.081659
Joonbum Ko [Mon, 9 Nov 2020 07:58:37 +0000 (16:58 +0900)]
Package version up to 1.7.14

Change-Id: Id03c74ca31661b1a08a1b3062ac956091240a319
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoWait until all fences imported from outside are signaled. 56/247256/1
Joonbum Ko [Mon, 9 Nov 2020 07:09:06 +0000 (16:09 +0900)]
Wait until all fences imported from outside are signaled.

Change-Id: I209b76c5badfb5c4881e8afd850e8b1db401d2a2
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoTrace the presentation feedback and destroy it properly. 55/247255/1
Joonbum Ko [Mon, 9 Nov 2020 07:07:56 +0000 (16:07 +0900)]
Trace the presentation feedback and destroy it properly.

Change-Id: I6d7656a20c47f9cd8047cec97610d28ec71b2902
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPackage version up to 1.7.13 42/244842/3 accepted/tizen_6.0_unified_hotfix tizen_6.0_hotfix accepted/tizen/6.0/unified/20201030.113809 accepted/tizen/6.0/unified/hotfix/20201103.001025 accepted/tizen/unified/20200928.013054 submit/tizen/20200925.043813 submit/tizen_6.0/20201029.205105 submit/tizen_6.0_hotfix/20201102.192505 submit/tizen_6.0_hotfix/20201103.114805 tizen_6.0.m2_release
Joonbum Ko [Fri, 25 Sep 2020 02:21:15 +0000 (11:21 +0900)]
Package version up to 1.7.13

Change-Id: I9e9085c36326507ef717a177df161ddefd6febac
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoSet initial latest_transform to 0. 41/244841/1
Joonbum Ko [Fri, 25 Sep 2020 02:16:26 +0000 (11:16 +0900)]
Set initial latest_transform to 0.

 - When the initial transform of wl_egl_window is passed to tpl_surface
  without being 0, the transform value may not be notified to the server.
 - Therefore, in tpl_surface, latest_transform must be set to 0.

Change-Id: I3f586f64ded24dd570837bcff5bb4f938f384865
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPackage version up to 1.7.12 30/243930/1 accepted/tizen/unified/20200914.131410 submit/tizen/20200911.080016
Joonbum Ko [Fri, 11 Sep 2020 07:40:52 +0000 (16:40 +0900)]
Package version up to 1.7.12

Change-Id: If3b4764fb09fb25f073fe6f418c77c6d7a49f413
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoReplaced assert used in wl_egl_window callback functions. 29/243929/1
Joonbum Ko [Fri, 11 Sep 2020 07:23:59 +0000 (16:23 +0900)]
Replaced assert used in wl_egl_window callback functions.

Change-Id: I25f4aa5263d11656d2f40999a69f539f3c27c27c
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoset resize/destroy callback to null when wl_egl_window destroy. 28/243928/1
Joonbum Ko [Fri, 11 Sep 2020 07:23:59 +0000 (16:23 +0900)]
set resize/destroy callback to null when wl_egl_window destroy.

Change-Id: Icba12cf793918944567466465ae04720c16d062b
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agowayland-egl-tizen: changed to use dlog to print logs. 12/243112/1
Joonbum Ko [Thu, 3 Sep 2020 06:33:36 +0000 (15:33 +0900)]
wayland-egl-tizen: changed to use dlog to print logs.

Change-Id: Ia248ca9b2ca3c6877a5e0844efa357be7f39ecba
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPackage version up to 1.7.11 65/241365/1 accepted/tizen/unified/20200827.105801 submit/tizen/20200819.105701 submit/tizen/20200825.102804
Joonbum Ko [Wed, 19 Aug 2020 10:46:51 +0000 (19:46 +0900)]
Package version up to 1.7.11

Change-Id: Iaf37706b20fb16539c3cb4511574f1f1e7dd18be
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFixed a bug related to render sync fd. 64/241364/1
Joonbum Ko [Wed, 19 Aug 2020 10:41:16 +0000 (19:41 +0900)]
Fixed a bug related to render sync fd.

 - Very occasionally, when twe_thread is pushed down by scheduling,
  a sync_fd cannot be attached to twe_thread.
 - In this case, queue_can_acquire and render_done_cnt are different
  and the commit is delayed by one frame.
 - This problem may cause can_dequeue_timeout
  depending on the hwc situation.
 - Even if queue_flush is performed after can_dequeue_timeout,
  the commit latency cannot be restored until another interrupt occurs.

Change-Id: I32bc48d523e815a944cbfb935277adc1bcc2bf44
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFixed wrong exception checking. 63/241363/1
Joonbum Ko [Wed, 19 Aug 2020 06:37:35 +0000 (15:37 +0900)]
Fixed wrong exception checking.

Change-Id: I41ca475e80625b9ae6168cfd3d05b71bfe3af3ad
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPackage version up to 1.7.10 46/240646/1 accepted/tizen/unified/20200812.144041 submit/tizen/20200810.080631
Joonbum Ko [Mon, 10 Aug 2020 08:05:50 +0000 (17:05 +0900)]
Package version up to 1.7.10

Change-Id: I24734562e410a34ad3679ba27ec30175e234a83c
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoDisabled the explicit fence sync defaultly.
Joonbum Ko [Thu, 6 Aug 2020 06:37:22 +0000 (15:37 +0900)]
Disabled the explicit fence sync defaultly.

 - If you want to enable the explicit fence sync feature,
  1. touch /opt/usr/tpl_env (only to do it once)
  2. export TPL_EFS=1
  3. run any gl app with command line.

Change-Id: I1618f6e6f8c2deac8e2226a013e63c7fac44b228
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAllows to decide whether to use explicit fence sync as env.
Joonbum Ko [Wed, 22 Jul 2020 10:43:54 +0000 (19:43 +0900)]
Allows to decide whether to use explicit fence sync as env.

Change-Id: I4631cc4e1a39e740ed7102863d19e9a76c1a6a75
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPrint sync_fence value when dequeue.
Joonbum Ko [Mon, 20 Jul 2020 04:46:01 +0000 (13:46 +0900)]
Print sync_fence value when dequeue.

Change-Id: Id4d8080461ca082008eeab2b1a1e8befd92b056f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFixed the name of async trace point.
Joonbum Ko [Wed, 17 Jun 2020 04:48:10 +0000 (13:48 +0900)]
Fixed the name of async trace point.

Change-Id: Ic9af088f6010968cff41539c560e229ed91bd7be
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdded acquire_fence_fd to buf_info.
Joonbum Ko [Fri, 5 Jun 2020 03:51:16 +0000 (12:51 +0900)]
Added acquire_fence_fd to buf_info.

Change-Id: Idc1d6357de97b54d30486ad7c53c6e9ce9f403f6
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFixed to do not wait sync_fence in tbm backend.
Joonbum Ko [Fri, 5 Jun 2020 03:46:35 +0000 (12:46 +0900)]
Fixed to do not wait sync_fence in tbm backend.

Change-Id: Ic316cc0843bccbdbed077e6c9b7f97cc8efaa355
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFixed to add release listener before wl_surface_commit.
Joonbum Ko [Wed, 3 Jun 2020 09:25:45 +0000 (18:25 +0900)]
Fixed to add release listener before wl_surface_commit.

Change-Id: Iffaac088a0699680bfeb7caefeca7873b71e6e0f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdded an internal API to get release fence from buf_info.
Joonbum Ko [Mon, 1 Jun 2020 11:11:29 +0000 (20:11 +0900)]
Added an internal API to get release fence from buf_info.

Change-Id: I56e536cea0f56368e8519d79082327fd8f052242
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoImplemented buffer release method with zwp_linux_buffer_release_v1
Joonbum Ko [Mon, 1 Jun 2020 09:55:36 +0000 (18:55 +0900)]
Implemented buffer release method with zwp_linux_buffer_release_v1

 zwp_linux_buffer_release_v1

 This object is instantiated in response to a
zwp_linux_surface_synchronization_v1.get_release request.

 It provides an alternative to wl_buffer.release events, providing a
unique release from a single wl_surface.commit request. The release event
also supports explicit synchronization, providing a fence FD for the
client to synchronize against.

 Exactly one event, either a fenced_release or an immediate_release, will
be emitted for the wl_surface.commit request. The compositor can choose
release by release which event it uses.

 This event does not replace wl_buffer.release events; servers are still
required to send those events.

 Once a buffer release object has delivered a 'fenced_release' or an
'immediate_release' event it is automatically destroyed.

Change-Id: I092fa619679d9d38bcedb7d2de324ddacceb5a2b
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdded boolean use_explicit_sync to disp_source.
Joonbum Ko [Mon, 1 Jun 2020 06:56:32 +0000 (15:56 +0900)]
Added boolean use_explicit_sync to disp_source.

Change-Id: I723669463d542aebbc7ceb365dc4d0dedfd7fe29
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years ago[explicit_sync] Added missing pkg_modules to use wayland-extension
Joonbum Ko [Wed, 8 Apr 2020 11:35:19 +0000 (20:35 +0900)]
[explicit_sync] Added missing pkg_modules to use wayland-extension

 linux-explicit-synchronization-unstable-v1-client

Change-Id: I0f0661a15b40018576292c5db2081d08caeaacbe
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdded debug log for checking the value of sync_fd.
Joonbum Ko [Fri, 10 Apr 2020 05:30:04 +0000 (14:30 +0900)]
Added debug log for checking the value of sync_fd.

Change-Id: Idd4654ef86bd9f699998749bb93d87992d943331
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years ago[explicit_sync] Implemented to set acquire fence to wl_surface.
Joonbum Ko [Thu, 9 Apr 2020 07:19:17 +0000 (16:19 +0900)]
[explicit_sync] Implemented to set acquire fence to wl_surface.

 - acquire_fence is set only when use_surface_sync is TPL_TRUE.
  Otherwise, wait for sync_fd to be signaled in twe_thread.

Change-Id: Ib778b5fe81710fa136ca330539e59d2085263b95
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years ago[explicit_sync] Added zwp_linux_surface_synchroniation init/fini
Joonbum Ko [Thu, 9 Apr 2020 06:35:29 +0000 (15:35 +0900)]
[explicit_sync] Added zwp_linux_surface_synchroniation init/fini

 - wayland-extension : zwp_linux_surface_synchronization_v1
 - precondition : explicit_sync of disp_source should be bound.
 - If surface_sync is successfully obtained,
  the flag use_surface_sync of surf_source is TPL_TRUE.

Change-Id: I6a439c174412e08ac146428e041a5934be1986a1
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years ago[explicit_sync] Implemented initial steps and setup build dependency. 92/238992/1
Joonbum Ko [Wed, 8 Apr 2020 11:35:19 +0000 (20:35 +0900)]
[explicit_sync] Implemented initial steps and setup build dependency.

 - wayland-extension : zwp_linux_explicit_synchronization_v1
  This extension is classified unstable protocol.
  Therefore, it can be modified later.

Change-Id: Ibe47c87fce63e85b6f2a04aca59f4332072f2d7b
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPackage version up to 1.7.9 89/238889/1 accepted/tizen/unified/20200721.042541 submit/tizen/20200720.053046
Joonbum Ko [Mon, 20 Jul 2020 05:07:07 +0000 (14:07 +0900)]
Package version up to 1.7.9

Change-Id: Iff7e93a9e1bb9c255625a9f1134e7ed8e02c35ce
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoImplemented backend function to get size. 83/238883/1 submit/tizen/20200720.050615
Joonbum Ko [Sun, 12 Jul 2020 05:07:23 +0000 (14:07 +0900)]
Implemented backend function to get size.

Change-Id: I530e24aafd386b6447e4e886f6d6c97bce7595a1
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFixed a bug occured by fence signaled before enqueue. 82/238882/1
Joonbum Ko [Thu, 25 Jun 2020 11:24:13 +0000 (20:24 +0900)]
Fixed a bug occured by fence signaled before enqueue.

 Changed g_source_attach from main thread to twe_thread.

 - Fixed problem scenario
 [MT] : main thread
 [TWE] : twe thread
 1. [MT] __tpl_wl_egl_surface_enqueue_buffer (with sync_fd)
 2. [MT] twe_surface_set_sync_fd
 3. [MT] g_source_attach  start<- It takes too long time (abnormal)
  [MT] : blocking wait at g_source_attach()
 4. [TWE] fence wait source dispatch. but there is no acquirable buffer in tbm_queue.
 5. [TWE] fence wait source finalize.
 6. [MT] g_source_attach  done.
 7. [MT] tbm_surface_queue_enqueue. but it will be not commit.
 8. [MT] call can_dequeue_timeout
  -> The release event does not come because
    the previous buffer was not wl_surface_commit.
 9. [MT] 10s later, timeout and force flush occured.

Change-Id: I8e7b57c0f5b78caa333410ef75e5bd8ce50d7173
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdded logging function to print status of buffer lists. 81/238881/1
Joonbum Ko [Thu, 25 Jun 2020 06:41:25 +0000 (15:41 +0900)]
Added logging function to print status of buffer lists.

Change-Id: I876514cace0d708445c9109f984f521f9a5f6ce1
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPackage version up to 1.7.8 30/236430/1 accepted/tizen/unified/20200618.130057 submit/tizen/20200617.051453
Joonbum Ko [Wed, 17 Jun 2020 04:56:09 +0000 (13:56 +0900)]
Package version up to 1.7.8

Change-Id: I566dad831a07e60cee55870081b183a1638895b4
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFixed missing close for open timeline fd. 26/236426/2
Joonbum Ko [Wed, 17 Jun 2020 04:54:39 +0000 (13:54 +0900)]
Fixed missing close for open timeline fd.

Change-Id: Ib0f009a12fec57968ea5f220426cada2497a4c34
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoMoved wl_display_flush to be called immediately after wl_surface_commit. 25/236425/2
Joonbum Ko [Mon, 1 Jun 2020 10:22:52 +0000 (19:22 +0900)]
Moved wl_display_flush to be called immediately after wl_surface_commit.

Change-Id: I7ab8f9d99824d1a6548db4c82d619c35024b54cd
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFixed a bug related to commit sync. 63/236263/2
Joonbum Ko [Tue, 16 Jun 2020 03:55:40 +0000 (12:55 +0900)]
Fixed a bug related to commit sync.

Change-Id: Ie104256039adcf193cd845b3727643fb97eae1f5
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFixed a bug related to presentation sync timestamp. 62/236262/2
Joonbum Ko [Mon, 15 Jun 2020 07:25:27 +0000 (16:25 +0900)]
Fixed a bug related to presentation sync timestamp.

Change-Id: I0fad572699eb008378b52f6abbd5c2edc3795e66
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoPackage version up to 1.7.7 91/234691/1 accepted/tizen/unified/20200601.140148 submit/tizen/20200528.064401 submit/tizen/20200529.080205
Joonbum Ko [Thu, 28 May 2020 04:29:30 +0000 (13:29 +0900)]
Package version up to 1.7.7

Change-Id: I059dad443fb17d301aaeb10aa870fb23be999c86
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoEnhanced the error logs. 90/234690/1
Joonbum Ko [Thu, 28 May 2020 03:52:09 +0000 (12:52 +0900)]
Enhanced the error logs.

Change-Id: I0ec3e186f1318a050c75fe1596b60803191f8100
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoChanged the default log output from LOGD to LOGI. 89/234689/1
Joonbum Ko [Wed, 27 May 2020 07:13:11 +0000 (16:13 +0900)]
Changed the default log output from LOGD to LOGI.

Change-Id: I26d2328a119dfe23523f279f9b72eab7ba9ea552
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoFixed to unref tbm_surface even when enqueue failed. 88/234688/1
Joonbum Ko [Thu, 14 May 2020 10:07:14 +0000 (19:07 +0900)]
Fixed to unref tbm_surface even when enqueue failed.

Change-Id: I99a3e93833430a652cb653d8343a6dfd1a2d2342
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoPackage version up to 1.7.6 64/232564/1 accepted/tizen/unified/20200508.050228 submit/tizen/20200507.060140
Joonbum Ko [Wed, 6 May 2020 09:44:54 +0000 (18:44 +0900)]
Package version up to 1.7.6

Change-Id: I4ad491a190a0b18521a272d623738cd17cd0fa83
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoMoved tpl_getenv init to tpl_init 16/232216/1
Joonbum Ko [Wed, 29 Apr 2020 06:04:23 +0000 (15:04 +0900)]
Moved tpl_getenv init to tpl_init

Change-Id: I825862911ca1fe4054908cc678d9e960aa5e75c7
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoReplaced all getenv() by tpl_getenv() to reduce unnecessary calls. 27/232027/1
Joonbum Ko [Mon, 27 Apr 2020 11:36:18 +0000 (20:36 +0900)]
Replaced all getenv() by tpl_getenv() to reduce unnecessary calls.

 - In libtpl-egl, getenv() is using for debugging purposes only.
 - In most situations, it was frequently called getenv()
  which is not thread-safe, even though it is unnecessary.
 - It is difficult to make getenv() completely disabled,
  but replaced it with tpl_getenv() so that it can only be used
  in debugging situations.

 - tpl_getenv() returns the result of calling getenv()
  only if '/opt/usr/tpl_env' file exists, otherwise NULL.

 - example
  1. $ export TPL_LOG_LEVEL=3
  2. $ run gl app
    -> libtpl-egl will not get the env TPL_LOG_LEVEL

  3. $ touch /opt/usr/tpl_env
  4. $ run gl app
    -> TPL_LOG_LEVEL=3 will be accepted

Change-Id: I4d40e1beb2f4c34e17b7694f96db5d237cb33bfe
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoAdded inline function tpl_getenv() to replace getenv. 26/232026/1
Joonbum Ko [Mon, 27 Apr 2020 10:07:02 +0000 (19:07 +0900)]
Added inline function tpl_getenv() to replace getenv.

Change-Id: I1018d6f7c11bba4aaaee3e29cc53dd1660f70593
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoChanged getenv() for TPL_WAIT_VBLANK to be called from main thread. 25/232025/1
Joonbum Ko [Mon, 27 Apr 2020 09:45:03 +0000 (18:45 +0900)]
Changed getenv() for TPL_WAIT_VBLANK to be called from main thread.

Change-Id: I9e5143492d35ed7e6c1722af3c0b7888ff918aa8
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoFixed a bug that could cause deadlock. 92/231992/1
Joonbum Ko [Mon, 27 Apr 2020 07:29:50 +0000 (16:29 +0900)]
Fixed a bug that could cause deadlock.

Change-Id: Idb231c020b08e60aa3e2368562551a7e06cfd61b
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoFixed to print fence fd passed by enqueue_buffer. 91/231991/1
Joonbum Ko [Fri, 24 Apr 2020 04:21:27 +0000 (13:21 +0900)]
Fixed to print fence fd passed by enqueue_buffer.

Change-Id: Iaceb87b819e8fbad1539e5abc94bb3d5d525b8a3
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoFixed to unuse sync_fd when frontbuffer rendering. 90/231990/1
Joonbum Ko [Wed, 22 Apr 2020 07:43:42 +0000 (16:43 +0900)]
Fixed to unuse sync_fd when frontbuffer rendering.

Change-Id: Iad53c0071df08eb3cac63481eff4b7cde491fe3f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoFixed to be removed from g_main_loop when error occurs in wl_display. 37/231437/1
Joonbum Ko [Wed, 22 Apr 2020 03:31:52 +0000 (12:31 +0900)]
Fixed to be removed from g_main_loop when error occurs in wl_display.

 - This is a minimal measure to ensure that abort does not occur
  in twe_thread. but is not perfect.
 - disp_source will be removed from main_loop,
  but other problems may arise because it affects
  the remaining surf_source.

Change-Id: I04f2be6888cab077c3997bbd1bd38d92eda6b842
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agogsource is automatically restored when a problem occurs in eventfd. 36/231436/1
Joonbum Ko [Tue, 21 Apr 2020 09:30:15 +0000 (18:30 +0900)]
gsource is automatically restored when a problem occurs in eventfd.

 - Problems caused from other libraries that attempt to use the wrong fd
  often affect the eventfd of surf_source or del_source.
 - In such a case, in the past, assert checking was used to generate abort
  and it was not good.
 - So I made it possible to regenerate eventfd to minimize
  the abort generated by libtpl-egl and overcome the problem situation.

Change-Id: I4cb23a022b40c48f864de402f3beabd2fec29a64
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoExcluded the case of abort due to eventfd problem. 35/231435/1
Joonbum Ko [Mon, 20 Apr 2020 07:52:07 +0000 (16:52 +0900)]
Excluded the case of abort due to eventfd problem.

 - Remove poll fd(event_fd) of main loop, but keep gsource.

Change-Id: I3759d24672895b355e3541e7b8b6d2a2de7dab6d
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoProtected the access of surf_source's event_fd with surf_mutex. 34/231434/1
Joonbum Ko [Mon, 20 Apr 2020 07:41:59 +0000 (16:41 +0900)]
Protected the access of surf_source's event_fd with surf_mutex.

Change-Id: Icd081e7adf27c047e64b3f6bfabb06c1b85e6906
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoDeleted unused function commit_without_enqueue. 33/231433/1
Joonbum Ko [Mon, 20 Apr 2020 07:37:29 +0000 (16:37 +0900)]
Deleted unused function commit_without_enqueue.

Change-Id: I35f8b16c4acb98153277f3613e0c2e106f11465d
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoDeleted unnecessary checks for gsource is destroyed. 32/231432/1
Joonbum Ko [Mon, 20 Apr 2020 05:57:42 +0000 (14:57 +0900)]
Deleted unnecessary checks for gsource is destroyed.

Change-Id: I03d527cfd0b1986a32f14e8b106e5f83bddefa16
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoAdded an error type to tpl_result_t to indicate display error. 31/231431/1
Joonbum Ko [Fri, 17 Apr 2020 06:56:10 +0000 (15:56 +0900)]
Added an error type to tpl_result_t to indicate display error.

 - new error type
  TPL_ERROR_INVALID_CONNECTION /* Invalid display connection */

 - When some error occurs in the wayland display,
  it will be used to distinguish the error.

Change-Id: I9f0813d64d10b522dae1224a0bf699328d479f27
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoChanged to do not print error logs when last_error is already set. 86/231086/1
Joonbum Ko [Thu, 9 Apr 2020 09:13:15 +0000 (18:13 +0900)]
Changed to do not print error logs when last_error is already set.

Change-Id: Ib5b4ec852930a55089864eeaf28e7b095295bc50
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoAdded missing destroy of bound presentation interface. 85/231085/1
Joonbum Ko [Thu, 9 Apr 2020 04:15:52 +0000 (13:15 +0900)]
Added missing destroy of bound presentation interface.

Change-Id: I61344fb95eba06ec5b3a281bf09a3756edc6e460
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoPackage version up to 1.7.5 40/230140/1 accepted/tizen/unified/20200409.083548 submit/tizen/20200408.064443
Joonbum Ko [Wed, 8 Apr 2020 06:38:56 +0000 (15:38 +0900)]
Package version up to 1.7.5

Change-Id: I2800f5fdebb3a2278344774599ba53f69a2b09f1
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agotpl_tbm: Added reset callback for tbm_queue. 39/230139/1
Joonbum Ko [Tue, 31 Mar 2020 09:11:10 +0000 (18:11 +0900)]
tpl_tbm: Added reset callback for tbm_queue.

Change-Id: Ic9c331d82525ad05fae9818970f60ed6853907d5
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoMake to operate normally even when tdm_source was unexpectedly destroyed. 12/228912/1
Joonbum Ko [Thu, 26 Mar 2020 09:08:15 +0000 (18:08 +0900)]
Make to operate normally even when tdm_source was unexpectedly destroyed.

Change-Id: If3a39100b1922a840a16b1860ff427c532883102
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
4 years agoRenamed vblank callback function to be more clearly. 11/228911/1
Joonbum Ko [Thu, 26 Mar 2020 07:06:05 +0000 (16:06 +0900)]
Renamed vblank callback function to be more clearly.

Change-Id: I9700162590997a584bf69413142928324fb2cf89
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>