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>
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>
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>
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>
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>
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>
Joonbum Ko [Mon, 8 Mar 2021 08:46:31 +0000 (17:46 +0900)]
Rename old one by adding _legacy postfix.
Change-Id: I7a69b027438ce99044d0842b971809efa61d49e3
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>