platform/core/uifw/libtpl-egl.git
3 years agoClose release_fence_fd when wl_egl_buffer freed. 15/255915/1
Joonbum Ko [Thu, 25 Mar 2021 03:46:10 +0000 (12:46 +0900)]
Close release_fence_fd when wl_egl_buffer freed.

 - The fenced_release event can be dispatched just before
  the wl_egl_buffer is freed.
   At this time, release_fence_fd delivered to fenced_release event
  may leak if it is not closed because wl_egl_buffer cannot be
  used and is freed.

Change-Id: I7584c518b955c83f632b2d5ea281272f8dd2b166
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoModified the log output from gsource_finalize. 14/255914/1
Joonbum Ko [Thu, 25 Mar 2021 01:36:18 +0000 (10:36 +0900)]
Modified the log output from gsource_finalize.

Change-Id: I491f012afb0aba638cb40b3f4f47840dfe36dac4
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdd intended_destroy flag to destroy only when intended. 13/255913/1
Joonbum Ko [Wed, 24 Mar 2021 10:48:31 +0000 (19:48 +0900)]
Add intended_destroy flag to destroy only when intended.

 - G_IO_IN may occur in eventfd of finalizer source due to
  some unexpected errors.
   In this case, if gsource destroyed in unintended,
  a fatal problem may occur in thread.
 - The intended_destroy flag of the newly added to tpl_gsource
  will help the finalizer source to operate normally only if it is
  intended G_IO_IN.

Change-Id: I6dd6a2de7e3c4ff667f8d639e30783584e6e8cec
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdd IO exception checking to reduce warning logs. 12/255912/1
Joonbum Ko [Wed, 24 Mar 2021 08:06:35 +0000 (17:06 +0900)]
Add IO exception checking to reduce warning logs.

 - When a problem occurs, there are cases where
  the result of g_source_query_unix_fd is (cond == 0).
 - Since too many warning logs may be output,
  exception handling was added to simply ignore
  it in this case.

Change-Id: I694c5916c82d0969a86db8207ad8a64224e2fb25
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdd some logs to trace buffers. 11/255911/1
Joonbum Ko [Wed, 24 Mar 2021 07:31:52 +0000 (16:31 +0900)]
Add some logs to trace buffers.

Change-Id: I508922c4007f4ce7429f846bae7270ad54bfa364
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPackage version up to 1.8.2 28/255728/1 submit/tizen/20210323.050106
Joonbum Ko [Tue, 23 Mar 2021 04:50:08 +0000 (13:50 +0900)]
Package version up to 1.8.2

Change-Id: I26be40e9102731927b0b0134745a18d050f39f7d
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFix gem memory leak issue when client destroyed. 27/255727/1
Joonbum Ko [Tue, 23 Mar 2021 04:44:38 +0000 (13:44 +0900)]
Fix gem memory leak issue when client destroyed.

 - When surface_fini, the ENQUEUED state, the wl_egl_buffer
  was not properly processed.
 - As a result, the APP was terminated without
  tbm_surface_destroy, resulting in GEM Memory leak.

Change-Id: I5b9da2f256265c9f986ecc6ff4dcd963e096e30b
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoPackage version up to 1.8.1 15/255115/1 submit/tizen/20210316.021228 submit/tizen/20210318.050409 submit/tizen/20210319.062422
Joonbum Ko [Fri, 12 Mar 2021 06:52:53 +0000 (15:52 +0900)]
Package version up to 1.8.1

Change-Id: I2560ac5a621f19981742bb46965f155913e27b99
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoEnable explicit_fence_sync feature defaultly. 14/255114/1
Joonbum Ko [Fri, 12 Mar 2021 04:22:16 +0000 (13:22 +0900)]
Enable explicit_fence_sync feature defaultly.

Change-Id: I44a63dc2df55d54372a8ddfe2392f618489ca1da
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFix a problem with overwriting fence fd with -1. 92/255092/1
Joonbum Ko [Fri, 12 Mar 2021 02:17:25 +0000 (11:17 +0900)]
Fix a problem with overwriting fence fd with -1.

Change-Id: Iab7191b1ddd50a822b768529f577b1612f80e259
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFix buffer_clear logic for explicit fence sync. 91/255091/1
Joonbum Ko [Fri, 12 Mar 2021 01:42:33 +0000 (10:42 +0900)]
Fix buffer_clear logic for explicit fence sync.

Change-Id: Idb76fa9179605c03b29c8dd36d9276f121d7753d
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoDestroy buffer_release when wl_egl_buffer destroy. 90/255090/1
Joonbum Ko [Thu, 11 Mar 2021 08:56:37 +0000 (17:56 +0900)]
Destroy buffer_release when wl_egl_buffer destroy.

Change-Id: Iad683fc89b9d9a5e23a948f564a64ad572715140
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoMake shorten the name of backend function. 98/254998/1
Joonbum Ko [Thu, 11 Mar 2021 07:09:32 +0000 (16:09 +0900)]
Make shorten the name of backend function.

 - __tpl_wl_egl_surface_cancel_dequeued_buffer() is too long name.
 - it will be changed to below.
  __tpl_wl_egl_surface_cancel_buffer()

Change-Id: I05d6520097b965e316bbf8b9b9b2c1e78c62ecbb
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoChanged to wait until ENQUEUE becomes FENCE_SIGNALED. 97/254997/1
Joonbum Ko [Thu, 11 Mar 2021 07:03:14 +0000 (16:03 +0900)]
Changed to wait until ENQUEUE becomes FENCE_SIGNALED.

 - It is not safe to force close before being SIGNALED status
  because it is a fence fd delivered from driver.
 - Therefore, it is desirable to destroy all buffers
  when SIGNALED status is guaranteed.

Change-Id: Ifd2632b6aeb3d519031e79cb03118b306fcd49a6
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFix some order of printing logs. 96/254996/1
Joonbum Ko [Thu, 11 Mar 2021 06:30:21 +0000 (15:30 +0900)]
Fix some order of printing logs.

Change-Id: Ie0830c48474305fc61f12f571bd5911109e17cd3
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoClear all buffers before destroying surf_source. 95/254995/1
Joonbum Ko [Thu, 11 Mar 2021 02:11:28 +0000 (11:11 +0900)]
Clear all buffers before destroying surf_source.

Change-Id: Ifc52b83af3eb193915090369f3e9985048a702fb
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFix some wrong indentations 68/254868/2
Joonbum Ko [Wed, 10 Mar 2021 06:49:47 +0000 (15:49 +0900)]
Fix some wrong indentations

Change-Id: I936059980b41c6abf7fa9be58d9f41032c7a373f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoRename old one by adding _legacy postfix. 95/254795/1
Joonbum Ko [Mon, 8 Mar 2021 08:46:31 +0000 (17:46 +0900)]
Rename old one by adding _legacy postfix.

Change-Id: I7a69b027438ce99044d0842b971809efa61d49e3

3 years agoAdd string_to_status to print status logs as string. 94/254794/1
Joonbum Ko [Thu, 4 Mar 2021 03:58:28 +0000 (12:58 +0900)]
Add string_to_status to print status logs as string.

Change-Id: I2166c284714a70a5c5c82a446e00e9e22472aa6a
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdd mutex lock/unlock before when clear mutex. 93/254793/1
Joonbum Ko [Thu, 4 Mar 2021 01:36:02 +0000 (10:36 +0900)]
Add mutex lock/unlock before when clear mutex.

Change-Id: Ibeed901734d50be64fce2843ee93982e4071a5cf
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoUse tpl_gcond_timed_wait to prevent deadlock. 92/254792/1
Joonbum Ko [Wed, 3 Mar 2021 03:18:49 +0000 (12:18 +0900)]
Use tpl_gcond_timed_wait to prevent deadlock.

 - There may be cases where the ddk terminates
  without sending a fence release signal.
 - In such a case, waiting for signaled with
  tpl_gcond_wait() may result in deadlock.
 - The newly added tpl_gcond_timed_wait() is used to
  force release if a signal does not come within 16ms.

Change-Id: I11801bb9f8ff4450a00b12656694940e28121a69
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdd a new tpl_gthread API to use g_cond_wait_until. 91/254791/1
Joonbum Ko [Wed, 3 Mar 2021 02:21:31 +0000 (11:21 +0900)]
Add a new tpl_gthread API to use g_cond_wait_until.

Change-Id: I7187b036fa58cbe7182659b015a3cb0d5eb56966
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFixed a problem occured by use_wait_vblank exception. 90/254790/1
Joonbum Ko [Wed, 3 Mar 2021 01:57:25 +0000 (10:57 +0900)]
Fixed a problem occured by use_wait_vblank exception.

Change-Id: Id7ba6ab41d7fef4441cf3a03ef63074c6d2c0256
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoAdd INFO logs at finalize. 89/254789/1
Joonbum Ko [Fri, 5 Feb 2021 06:51:39 +0000 (15:51 +0900)]
Add INFO logs at finalize.

Change-Id: I26aa6c7b35899b4aa29c2e39d2966c688ccce051
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
3 years agoFree the list vblank_waiting_buffers at surface_fini 88/254788/1
Joonbum Ko [Fri, 5 Feb 2021 06:34:07 +0000 (15:34 +0900)]
Free the list vblank_waiting_buffers at surface_fini

Change-Id: I92b9911097b88c10f6b951ab531dba7127efe5de
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
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>