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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Joonbum Ko [Thu, 26 Mar 2020 06:57:29 +0000 (15:57 +0900)]
Fixed tdm_source to destroy when error occurs in tdm.
- If an error occurs in tdm_client_handle_events, it cannot be recovered.
When tdm_source is no longer available due to an unexpected situation,
twe_thread must remove it from the thread and destroy it.
- In that case, tdm_vblank can no longer be used for surfaces and display
that used the tdm_source.
Change-Id: I1e19e12847a03ef03e5ce7562a4e992952c4fdbb
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 25 Mar 2020 07:37:11 +0000 (16:37 +0900)]
Package version up to 1.7.4
Change-Id: I3f0c29f36603646865fba76d4f4f7e363fc53ced
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 25 Mar 2020 07:35:30 +0000 (16:35 +0900)]
Added fence_waiting_sources list to trace fence_wait_sources.
Change-Id: Ib70a80a94be9f507adea71e13957adca87e41f9e
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 24 Mar 2020 09:38:07 +0000 (18:38 +0900)]
Added some comments about the lists.
Change-Id: I9fb0f70281704a13237aee7c921908a997ab7140
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 19 Mar 2020 10:38:52 +0000 (19:38 +0900)]
Added ttrace point to trace fence waiting time.
Change-Id: I79764f225b785d12cbb43d90d9e46f38b9dc4744
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 19 Mar 2020 10:21:40 +0000 (19:21 +0900)]
Added render_done_cnt to check whether it is actually acquireable
- queue_acquire should be performed only when render_done_cnt
is greater than 0 when using sync_fence even in the case of
queue_can_acquire.
Change-Id: I3b11e32eecc22ffded539f6bb9215584c4584752
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 18 Mar 2020 09:01:00 +0000 (18:01 +0900)]
wayland_egl_thread: Implemented the function waiting sync_fence to render done.
- In the case of mesa, tbm_surface with guaranteed 'render done'
is not enqueued.
- To compensate for this, fence fd is delivered to the platform side
from mesa driver, but libtpl-egl did not have the function to use it.
- The added function ensures the following operation.
1. When __tpl_wl_egl_surface_enqueue_buffer is called,
if sync_fd (!=-1) is received.
2. This is the case when the buffer is not complete.
3. Create gsource to poll sync_fd in twe_thread.
4. Attach it to twe_thread. (poll starting)
5. If G_IO_IN occurs in sync_fd, it is known as render_done
and acquire_and_commit is performed. (twe_thread)
6. After completing just one role, the created source will be removed.
Change-Id: I16558f700df98afd372bbc83613a8633062953c0
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 18 Mar 2020 06:26:59 +0000 (15:26 +0900)]
tpl_wayland_egl_thread: Added struct twe_fence_wait_source to wait draw done fence.
Change-Id: I4a55e917c552af29a7005c3c07ef95ebe4200b65
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 18 Mar 2020 05:50:19 +0000 (14:50 +0900)]
tpl_wayland_egl_thread: Deleted unnecessary sub_thread for vk_display.
- vk_sub_thread has created to wait for the buffer to render done.
- The definition of how to wait for render done was lacking,
so it was temporarily operated.
- In the future, when we need to know the render done for the vulkan,
we will use the explicit fence fd feature.
Change-Id: Ic9284cbfbd90a0fdb35311c701d2a01749d77a47
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 20 Mar 2020 03:42:09 +0000 (12:42 +0900)]
wayland-egl-tizen: Package version up to 1.0.1
Change-Id: I35974fbbac80c3169ec5967988e01e93aa9e534d
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 20 Mar 2020 03:41:48 +0000 (12:41 +0900)]
Package version up to 1.7.3
Change-Id: Id157d776471c4280aa75fe9f10a8e581f0af72d9
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 9 Mar 2020 03:48:19 +0000 (12:48 +0900)]
tpl_wl_egl_thread: Fixed the reset flag management in reset callback.
Change-Id: Idf98816d628fe2dfecc05804345070ad7a53550f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 20 Mar 2020 03:31:46 +0000 (12:31 +0900)]
tpl_tbm: Deleted unncessary codes related with vulkan/worker_thread
- vulkan's tbm backend is not available.
- Currently, tbm backend in libtpl-egl means offscreen render backend
for wayland-server compositor.
- It can be extended, but delete unnecessary code before that.
Change-Id: I69f52f623430ed0bb18da6af5d5424b5712df68b
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 20 Mar 2020 01:45:38 +0000 (10:45 +0900)]
Deleted the unused codes related with worker_thread.
- The worker_thread that was created for vulkan has been
replaced with twe_thread, so it is obsolete and has been
deprecated for a long time.
Change-Id: I0d1774b772c1c9b7820806fd5029952848dc2eb0
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 17 Mar 2020 08:00:21 +0000 (17:00 +0900)]
Package version up to 1.7.2
Change-Id: Ic9008c2a0752c62bd0c9a3c50033fb16971e0c20
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 12 Mar 2020 05:04:16 +0000 (14:04 +0900)]
wayland-egl-tizen: Changed API name render_sync_fd to commit_sync_fd.
- If the user wants to know the render done using EGLSyncKHR,
tpl_surface_dequeue_buffer, tpl_surface_enqueue_buffer and
wl_surface_commit occur at similar moments.
Therefore, it only tells when wl_surface_commit is done,
but does not guarantee render done.
- If EGLSyncKHR or dma_buf implicit fence is not used,
render done can be guaranteed.
Change-Id: I43d7bdd10a33d0b559ecd1d219261bbb5415b574
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 15 Nov 2019 06:14:47 +0000 (15:14 +0900)]
tpl_wayland_egl_thread: Implemented merge sync fence.
Change-Id: Ic5697fd0dbade852d9340b2c490d6247a12f46f1
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 14 Nov 2019 11:33:32 +0000 (20:33 +0900)]
wayland-egl-tizen: Added new API to merge sync fds.
New API
/**
* Get a new fence fd with fence1 and fence2 merged
*
* It returns a new fence fd waiting for both fences to be signaled.
* If user succeed in obtaining a new merged fence using this API,
* the two fence fds passed must be closed by the user.
*
* Multiple calls to this API allow to merge multiple fences.
*
* The two fence fds caller want to merge should be closed
* if caller is not going to use them after
* the new merged fd is created.
*
* @param egl_window handle to wl_egl_window
* @param sync_fd1 first fd to merge with second fd
* @param sync_fd2 seconde fd to merge with first fd
* @return merged fd on success, -1 on failure.
*/
int
wl_egl_window_tizen_merge_sync_fds(struct wl_egl_window *egl_window,
int sync_fd1, int sync_fd2);
Change-Id: I29ac248c836392b9e6acb141a30bb70dc5e9731f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 14 Nov 2019 10:31:42 +0000 (19:31 +0900)]
tpl_wayland_egl_thread: Implemented the presentation sync feature.
- Create a timeline in surface and create a sync fence to pass to the user.
- The sync fence user get is signaled at the time of presentation done.
- This feature can help user sync by telling presentation done.
Users should handle this sync_fence properly using poll or select.
- This patch depends on wayland-extension and enlightenment.
Change-Id: I180ac6b23cc89ed3f7f0ebfc934893efa873dd6a
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 13 Nov 2019 02:40:23 +0000 (11:40 +0900)]
wayland-egl-tizen: Added new API to get presentation sync fd.
/**
* Create a sync fence fd that can tell presentation done.
*
* It returns fd which tells when the presentation is finished.
* This fd can wait asynchronously via poll or select.
*
* Important *
* This fence lets caller knows when wl_surface received PRESENT or DISCARD
* events from the server.
* In case of receiving DISCARD, it is not actually displayed on the display,
* but it releases the fence like PRESENT.
* In most cases that are not complicated, attached buffer will not be discarded.
*
* @param egl_window handle to wl_egl_window.
* @return sync fd on success, -1 on failure.
*/
int
wl_egl_window_tizen_create_presentation_sync_fd(struct wl_egl_window *egl_window)
Change-Id: I9c69dea4b78aba34db284b25dd47dd0544672bb4
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 12 Nov 2019 02:27:07 +0000 (11:27 +0900)]
tpl_wayland_egl_thread: Implemented the render sync feature.
- Create a timeline in surface units and create a sync fence to pass to the user.
- The sync fence user get is signaled at the time of tpl surface enqueue.
- This feature can help user sync by telling gpu render done,
but this feature alone does not guarantee sync.
Therefore, users should handle this sync_fence properly using poll or select.
Change-Id: If1c8a894fc8e103141b88d4479274f926753e52f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 11 Nov 2019 04:32:48 +0000 (13:32 +0900)]
wayland-egl-tizen: Added new API to create render sync fd.
New API
wl_egl_window_tizen_get_render_sync_fd(struct wl_egl_window*)
/**
* Create a sync fence fd that can tell render done.
*
* If eglSwapBuffers works async, it returns fd which tells
* when the render job is finished.
* This fd can wait asynchronously via poll or select.
*
* Important *
* This requires the following premise:
* - After ddk calls libplpl-egl's tpl_surface_dequeue_buffer to get the buffer,
* and until it calls tpl_surface_enqueue_buffer,
* it is called the gpu rendering job interval.
* - Therefore, when using the dma_buf implicit fence,
* there is no guarantee that the rendering job is finished
* with the fence obtained through this API.
*
* The fence_fd obtained through this function is one-time available,
* can not be reused, so caller must close it when finished using it.
*
* @param egl_window handle to wl_egl_window.
* @return sync fd on success, -1 on failure.
*/
Change-Id: Ia19f88108cfe8d0e5e6477acbd83a2df173f5507
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 11 Nov 2019 02:38:59 +0000 (11:38 +0900)]
Rename the directory of wayland-egl to wayland-egl-tizen.
Change-Id: I4e2c8f4764a26ace10c26e0b55db9e6118d38a41
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 8 Nov 2019 04:30:39 +0000 (13:30 +0900)]
Package version up to 1.7.1
Change-Id: Ifa18b79ce7d511e8d294fe59ab0713e36123b111
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Changyeon Lee [Tue, 6 Aug 2019 10:53:07 +0000 (19:53 +0900)]
tpl_surface: set post_interval in tdm_client_vblank_wait
Change-Id: Ib936a993439f0bb3ab4c2d5049204305da013142
Changyeon Lee [Mon, 26 Aug 2019 03:51:30 +0000 (12:51 +0900)]
tpl_wayland_egl: check latest_transform in surface_commit
if rotated buffer is canceled dequeue,
wl_surface_set_buffer_transform isn't called
Change-Id: I19e9b363bf21a532ae05aa6bd0dd7644e88a72ab
Changyeon Lee [Mon, 26 Aug 2019 02:48:59 +0000 (11:48 +0900)]
tpl_wayland_egl: set need_to_release flag before commit
it is possible that get release event before need_to_rlease flag is set
Change-Id: I2010350256cbaa90eaa9f506acd1748f1bd247b6
SooChan Lim [Fri, 1 Nov 2019 04:25:26 +0000 (13:25 +0900)]
package version up to 1.7.0
tizen 6.0 starts here.
Change-Id: I607119bcfac5f8d3e1438bbe5e784475025ff319
Changyeon Lee [Tue, 13 Aug 2019 11:38:03 +0000 (20:38 +0900)]
Package version up to 1.6.8
Change-Id: Ib8adc572ea1692e36bb623f0bde4f685170b0e76
Joonbum Ko [Tue, 23 Jul 2019 08:15:46 +0000 (17:15 +0900)]
tbm: Added reset callback for validate checking
Change-Id: If17acc9a41c589dadb4d15800d799380334c9ee7
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
SooChan Lim [Fri, 26 Jul 2019 08:30:07 +0000 (17:30 +0900)]
Package version up to 1.6.7
Change-Id: Ifa0c8fbbddd64e071234116a86ed1e8fea4637b4
SooChan Lim [Fri, 26 Jul 2019 08:28:19 +0000 (17:28 +0900)]
add pc flies instead of the wayland-devel at BuildRequires
Change-Id: I06e58c92e9cb7fc4e7e4b540752f3b4493b73c4a
Joonbum Ko [Mon, 22 Jul 2019 04:21:41 +0000 (13:21 +0900)]
Package version up to 1.6.6
Change-Id: Ib1690eb50809450737712921399323d95e941177
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 22 Jul 2019 04:20:45 +0000 (13:20 +0900)]
tpl_wayland_egl_thread: Fixed referencing the wrong pointer.
Change-Id: I89705ebaa38092bb925b2d2599df3854c174b5f6
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 1 Jul 2019 08:03:56 +0000 (17:03 +0900)]
Package version up to 1.6.5
- This fix has dependencies on wayland
egl: Changed to flag EGL_PACKAGE to 1 to build wayland-egl.
- If there are no any problems, EGL_PACKAGE flag will be deprecated.
- This fix has dependencies on libtpl-egl-1.6.5
Change-Id: I318ed83009038c2b66e6db05247e21fec75b14f4
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Change-Id: I61bd6c540d48874bc61de4e80688465a66ec0e2e
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 1 Jul 2019 07:39:21 +0000 (16:39 +0900)]
[4/4]wayland-egl: Modified to not offer libwayland-egl in the future.
- libwayland-egl and its devel packages will be provided by wayland.
- Removed what existed to build wayland-egl.
- wayland-egl-priv.h is replaced to wayland-egl-backend.h which provided by wayland.
Change-Id: I29a669f06b4d3502b0da2472de61639a9873418c
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 1 Jul 2019 04:48:45 +0000 (13:48 +0900)]
[3/4]wayland-egl*: Implemented to use 'tizen_private' structure in wl_egl_window.
- The structure, tizen_private has tizen specific status, variables,
callback functions.
- Changed the usage of wl_egl_window->driver_private.
Before : wl_egl_window->driver_private = (void *)surface pointer of each wayland backend.
From now : wl_egl_window->driver_private = (void *)tizen_private
- Changed tizen specific callback functions to register in tizen_private.
ex) Before : wl_egl_window->set_window_serial_callback = callback
From now : tizen_private->set_window_serial_callback = callback
- This fix is to stop using wayland-egl-priv.h and
use wayland-egl-backend.h provided by wayland.
Change-Id: I34d80f00ec444ed49c527c9d15d94e11d7bbb6cd
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 1 Jul 2019 04:32:03 +0000 (13:32 +0900)]
[2/4]wayland-egl-tizen-priv: Added new header to support tizen specific feature.
Change-Id: Icb1e4afa47597cb2bc7c6e9467e5a6ec0e547dfb
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 25 Jun 2019 08:56:04 +0000 (17:56 +0900)]
[1/4]wayland-egl-priv: Changed the name of 'private' to be same as uptream.
Change-Id: Ie9b44ab73354547e9867cb8d02cae855171fafaf
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 4 Jul 2019 01:27:43 +0000 (10:27 +0900)]
Package version up to 1.6.4
- Deleted the gbm dependency to resolve conflicts with Mesa.
Change-Id: Iac16688ab8ffef51e9f1dd08447f28f7190aef27
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 3 Jul 2019 07:51:31 +0000 (16:51 +0900)]
gbm: Removed the build dependency with libgbm.
- Removed the tpl_gbm backend from the build.
- but did not delete the source file yet.
Change-Id: Ie812a4f92a234b210955ddade0a958c6e51499be
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 3 Jul 2019 07:49:51 +0000 (16:49 +0900)]
gbm: Deleted the usage of gbm.
Change-Id: I50a7b5a44fc844020cd6ec2bee17f51178bc8a21
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 10 May 2019 04:11:09 +0000 (13:11 +0900)]
Package version up to 1.6.3
Change-Id: I2de6663a7447ea96e009e69eb4de9118be1f47ca
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Xiaowei Guan [Mon, 13 May 2019 14:04:46 +0000 (22:04 +0800)]
Sync wayland-egl code from wayland
Because mesa need use latest wayland-egl code, so sync latest
wayland-egl code from wayland.freedesktop.org.
Change-Id: I891d777e88540e64e509c8c991dc117750887bad
Joonbum Ko [Fri, 10 May 2019 04:10:11 +0000 (13:10 +0900)]
tpl_wayland_egl_thread: Modified del_source related thread_cond.
Change-Id: I2547293e6849c2fb6322d0351f437ed5580a6e73
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 9 May 2019 01:08:16 +0000 (10:08 +0900)]
tpl_tbm: Fixed build warning
Change-Id: I91f2a54b138ad03e42489e55b86ca2e470f1b54b
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 7 May 2019 02:05:43 +0000 (11:05 +0900)]
Package version up to 1.6.2
Change-Id: Ieb01036ab1ca55e4b44bf4c8f46266ed4f9e6f43
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 18 Apr 2019 07:39:43 +0000 (16:39 +0900)]
Added TRACE at the missed point.
Change-Id: I70f6bdd58f2962b4e9b9224eda2c83545b4b1ee3
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 15 Apr 2019 05:55:41 +0000 (14:55 +0900)]
tpl_wayland_egl_thread: Modified get_window_info internal function.
- Modified the internal function so that the first format can be maintained
to avoid problems when a_size is changed in a way different from the format
at the time of surface creation.
Change-Id: I8b65c5fb9a02f7b01286429735f703aad90adbfe
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Xuelian Bai [Mon, 15 Apr 2019 12:15:44 +0000 (20:15 +0800)]
Fix a typo
Change-Id: I3411edd175f7898dfe426bd398f29739cb39044a
Joonbum Ko [Mon, 8 Apr 2019 05:49:33 +0000 (14:49 +0900)]
Package version up to 1.6.1
- Minor version up to 6 to separate tizen_5.5 feature.
Change-Id: I84612ff2a48b23446502dcfbb47394ee0e23bb7b
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 1 Apr 2019 06:17:38 +0000 (15:17 +0900)]
tpl_wayland_egl: Added checking reset flag to fix frontbuffer mode
- If activate-> deactivate-> activate occurs between
tpl_surface_dequeue <-> tpl_surface_dequeue, a new dequeue is needed.
Change-Id: Ie76f8f0ccd3e7aac6b912f6e9bd4dd90eea9b121
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Xuelian Bai [Thu, 7 Mar 2019 11:57:49 +0000 (19:57 +0800)]
Call wayland_tbm_client_create_surface_queue_tiled and
set flags for tbm_surface_queue_sequence_create, if
GPU support tiled memory.
Change-Id: I64da5f16368589777b1d53444f00fa976c783202
Joonbum Ko [Fri, 15 Mar 2019 04:51:39 +0000 (13:51 +0900)]
Package version up to 1.5.30
Change-Id: Id278d98c0576d6c1d47b9ccd222357ad6d3cceac
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 18 Mar 2019 04:10:42 +0000 (13:10 +0900)]
tpl_wl_egl_thread: Fixed a bug that attempted an incorrect enqueue for the frontbuffer.
Change-Id: Ieb6149bfb0c2683ac663e30e6308266578fe71c9
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 15 Mar 2019 04:56:35 +0000 (13:56 +0900)]
tpl_wl_egl_thread: Changed can_dequeue time limit to 10000ms.
Change-Id: Ib0adf59ea6daed5027587b864f16e2d64e08c600
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 15 Mar 2019 04:48:57 +0000 (13:48 +0900)]
tpl_wayland_egl_thread:Added mutex lock to ensure thread safety
- Previously it was unnecessary, but the vulnerability was discovered
with the addition of can_dequeue_timeout and force_flush.
Change-Id: I860df25b6949a5927a8c67596613e521d0f740ec
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 31 Jan 2019 00:34:46 +0000 (09:34 +0900)]
Package version up to 1.5.29
Change-Id: I6d35a800f2ea18fdaef343845f18da83d9132f51
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 29 Jan 2019 06:59:17 +0000 (15:59 +0900)]
tpl_wl_egl_thread: Fixed a bug related to frontbuffer mode.
Change-Id: I160d5c6002fef08d9e66e6b030dba87ab7d1016f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Zhaowei Yuan [Mon, 28 Jan 2019 07:56:44 +0000 (15:56 +0800)]
Fix a typo
Change-Id: Id6a01bb111ff0ea00aa38a4f10fafc96d1203651
Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com>
Joonbum Ko [Mon, 14 Jan 2019 04:28:47 +0000 (13:28 +0900)]
Package version up to 1.5.28
Change-Id: I1c65cedf0c2c91ba411cd849b5525be8bf50744a
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 8 Jan 2019 07:20:10 +0000 (16:20 +0900)]
tpl_wayland_egl(_thread): Initialized the callbacks of wl_egl_window to NULL when destroy.
Change-Id: I288df9cb513fea71f615f66068b4109b4677fbb9
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 28 Dec 2018 09:06:47 +0000 (18:06 +0900)]
Package version up to 1.5.27
- API dependency ( libtbm-3.0.9 )
tbm_surface_queue_can_dequeue_wait_timeout()
Change-Id: I457145607f227118b5723653098f676d0b8a80e9
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 28 Dec 2018 07:37:25 +0000 (16:37 +0900)]
tpl_wl_egl_thread: Implemented force_flush to use can_dequeue_wait_timeout.
- This is a patch to solve the problem of blocking in tbm_surface_queue_can_dequeue()
if release_event is missing due to wayland socket or server logic problem.
- If TBM_SURFACE_QUEUE_ERROR_TIMEOUT occurs, new buffers are allocated
to escape blocking without waiting for buffer release events.
Change-Id: I883c65b3af3cfa66336f4301628614ede0b421a7
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 27 Dec 2018 07:59:18 +0000 (16:59 +0900)]
tpl_wayland_egl_thread: Added assert case to detect abnomalies.
- In the twe thread, the event fd being poll must be
woken up only with G_IO_IN.
- However, if some problem occurs in fd, it can wake up with
G_IO_ERR, G_IO_HUP, G_IO_NVAL, and try dispatch.
In this case, it is difficult to predict the situation after G_SOURCE_REMOVE,
so ASSERT should be used to find the time when the problem occurs.
- If there is no ASSERT () or remove, g_main_loop will repeatedly
wake up and try to dispatch the source, causing a problem of making CPU usage high.
Change-Id: I678119c192c7ab52acd11965e54dfa9a890fa8e7
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 30 Nov 2018 08:53:56 +0000 (17:53 +0900)]
Package version up to 1.5.26
Change-Id: I051e5b49704f92ec941076c81ca8d3cb91c9e24a
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 30 Nov 2018 08:47:27 +0000 (17:47 +0900)]
tpl_wayland_egl_thread: Changed the result of handle_events() to assert checking.
- If tdm_source is destroyed when the result of tdm_client_handle_events()
is not TDM_ERROR_NONE, tdm releated functions can not be recovered.
- Unless error is unexpected, tdm_client_handle_events() should always return ERROR_NONE,
otherwise it should be checked with assert to make debugging easier for unknown ERROR.
Change-Id: I6681fc396772e7e4d692145cc702257b42a57fde
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 30 Nov 2018 06:55:53 +0000 (15:55 +0900)]
tpl_wayland_egl_thread: Printed warning to notice tdm_error_timeout.
Change-Id: I94d8e5bd7424f921a68cc4a68f70373e580da838
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 30 Nov 2018 05:24:46 +0000 (14:24 +0900)]
tpl_wayland_egl_thread: Moved tdm_del_source to twe context.
Change-Id: I6309134e87bee43ad93a2035b296e9755e50f795
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 30 Nov 2018 04:52:23 +0000 (13:52 +0900)]
tpl_wayland_egl_thread: Fixed to send signal when tdm_source already detroyed.
- If there was an error when processing tdm_client_handle_events(),
tdm_source would have been destroyed before the process terminated.
- In this case, when Main thread terminate its twe_thread,
main thread will have to wait for the tdm_source destroy signal.
Change-Id: If2a8afb8dc801e5313e33298d9b320d4976e1480
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 21 Nov 2018 05:27:43 +0000 (14:27 +0900)]
Package version up to 1.5.24
Change-Id: Ic924e64d3e73844650e2e266aab9a9784ab7996e
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 20 Nov 2018 10:58:59 +0000 (19:58 +0900)]
tpl_wl_egl_thread: Added missed mutex_lock to prevent locking problem.
Change-Id: Ia52ca1ec8d4feb0e66fb378fe7c32ab1fac93e25
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 20 Nov 2018 06:52:52 +0000 (15:52 +0900)]
tpl_wl_vk_thread: Fixed bug related to buffer_count to prevent heap-overflow.
Change-Id: I5cbc98bd787711336b2386e7e007e16dbd9f3ee8
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 20 Nov 2018 05:45:23 +0000 (14:45 +0900)]
tpl_wayland_egl_thread: Added an null exception checking.
Change-Id: I7fd92cc21c22b9c6a4b2f751829542b1f9402b10
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 8 Nov 2018 10:12:06 +0000 (19:12 +0900)]
Package version up to 1.5.24
Change-Id: Ic9ea9c802d8e2b831e6207c52cae35b8f49b0a80
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 8 Nov 2018 05:39:38 +0000 (14:39 +0900)]
tpl_wayland_egl: Modified to set the acquired buffer to frontbuffer.
- Before this patch, tpl used dequeued buffer as frontbuffer.
But using dequeued buffer as frontbuffer can cause
sequential error of tbm_surface_queue with GUARANTEE_CYCLE_MODE
when the frontbuffer mode is terminated by an external factor.
Change-Id: I0fba84605de7f50a9968ca00c9e5c4cc54292d6d
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 7 Nov 2018 02:15:08 +0000 (11:15 +0900)]
Package version up to 1.5.23
Change-Id: Iefdebf43d8f7ba9cbfbe7cf975473edbddcbd4b1
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>