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>
Joonbum Ko [Wed, 31 Oct 2018 04:57:07 +0000 (13:57 +0900)]
tpl_wl_vk_thread: Fixed bug to prevent heap-buffer-overflow.
Change-Id: I991585fd99975196715d98a23b83603f4f20bf62
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 29 Oct 2018 10:40:21 +0000 (19:40 +0900)]
Package version up to 1.5.22
Change-Id: I307e28cb09f251722725ad426f8a1be783ad2f38
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 29 Oct 2018 10:39:33 +0000 (19:39 +0900)]
tpl_wayland_egl_thread: Added an exception checking to prevent blocking issue.
Change-Id: I3fce4d6db3e4f4a4dd7446b3946edc523c31e148
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 29 Oct 2018 10:31:00 +0000 (19:31 +0900)]
tpl_wayland_egl_thread: Enabled vblank pending list.
Change-Id: I706d67a9b1fb9859782c0cc6c1894bd8e73e830c
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 25 Oct 2018 23:59:52 +0000 (08:59 +0900)]
Package version up to 1.5.21
Change-Id: I9ba3e4b2404259f4be4d89cf8d9256959f3146ee
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 25 Oct 2018 23:53:44 +0000 (08:53 +0900)]
tpl_wl_egl_thread: Changed the wait flag to enable waiting in can_dequeue.
- Using the while loop with can_dequeue(wait=0) can occur high cpu usage problem.
Change-Id: Ic7645b336eeeb0088354838ae9b3c32259dbe9ec
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 21 Sep 2018 01:22:44 +0000 (10:22 +0900)]
Package version up to 1.5.20
Change-Id: I87c74ae438518db4464e764da6e8e08a8bb45a8f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 21 Sep 2018 01:20:42 +0000 (10:20 +0900)]
tpl_wayland_egl: Modified to update the transform information of newly created buffers.
Change-Id: If2cca56e29f79b4ca3bf7cb6a755959d4e2c134d
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 19 Sep 2018 06:09:19 +0000 (15:09 +0900)]
Package version up to 1.5.19
Change-Id: I9478b93838f55a6df38aa8ea1b84a6b5767c925f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 19 Sep 2018 05:45:48 +0000 (14:45 +0900)]
tpl_wayland_egl_thread: Modified wait_vblank handling of PRESENT_MODE_FIFO.
- PRESENT_MODE_FIFO has been modified to be dependent on
the behavior of the display server which can use HW vblank.
(Therefore, PRESENT_MODE_IMMEDIATE and PRESENT_MODE_FIFO_RELAXED
are not meaningful because client can not control HW vblank.)
- If the client sends a commit only once per one vblank,
the display server will perform pageflip on the HW vsync,
so the latency of PRESENT_MODE_FIFO can be reduced.
Change-Id: Ie3802e0a7b93515827e93c6712bb8cf3160640ce
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Fri, 14 Sep 2018 02:00:06 +0000 (11:00 +0900)]
Package version up to 1.5.18
Change-Id: I3d315a58c125dce96d061f245dbd93a8ad00fd72
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 13 Sep 2018 09:47:35 +0000 (18:47 +0900)]
tpl_vk_wsi_thread: Increased the ref_cnt of swapchain_buffers.
- vulkan-wsi-tizen creates vkImage(s) from the swapchain_buffers obtained
from the tpl_surface_get_swapchain_buffers() API.
- If the queue_reset occurs in the event thread, then swapchain_buffers that
have already been acquired by wsi will be destroyed, which can cause problems.
- Therefore, even if queue_reset occurs in event_thread,
TPL must increase ref_cnt of swapchain_buffers so that it is valid
until swapchain is destroyed.
Change-Id: Ibe41f212a64da89dbc30ea3f137f44dab187eb50
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 13 Sep 2018 06:40:59 +0000 (15:40 +0900)]
Package version up to 1.5.17
Change-Id: Ifca8d8586dfbf9f11c1e45bf9cbae52b25e3ef7f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 13 Sep 2018 06:22:22 +0000 (15:22 +0900)]
wl_vk_wsi_thread: Fixed missing unlocking at destroy swapchain.
Change-Id: I174859edee77a17df09424f12bf15153391afd67
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 13 Sep 2018 02:07:13 +0000 (11:07 +0900)]
wayland-egl-tizen: Fixed a build warning.
Change-Id: Icab11757adc178357488559cc8dc4ef5a724276f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 12 Sep 2018 04:15:07 +0000 (13:15 +0900)]
Package version up to 1.5.16
Change-Id: I686392475ada3218c2301f86ab0f715daed038ef
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 12 Sep 2018 04:13:31 +0000 (13:13 +0900)]
tpl_vk_wsi_thread: Enhanced thread safety for destroy swapchain.
- If wayland events handled in the event thread during destroy_swapchain,
unexpected problem can occur related wayland-tbm.
Change-Id: I0b80e2784f8a51590ad238ffb63dcc783db2f969
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 12 Sep 2018 03:03:56 +0000 (12:03 +0900)]
tpl_wayland_egl(_thread): Implemented a few lines releated to set_window_serial.
Change-Id: I01df22d47a6add48fcb97a2aa50b96bb87e269fd
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 12 Sep 2018 02:44:40 +0000 (11:44 +0900)]
wayland-egl: Added new API to set window serial.
- New wayland-egl-tizen API :
void
wl_egl_window_tizen_set_window_serial(struct wl_egl_window *egl_window,
unsigned int serial)
- If client use this new API, increaing wl_egl_window->serial will not
work at dequeue, and buffer's serial value will be set to the serial
that the client passed to this API.
'- The serial value client want to set must be incremented
whenever there is a change related to the window.
- This API should be called before the gl first draw call to ensure
the correct one frame in the desired serial.
Change-Id: I66266fc58867b331ab253ce5682df10d70176851
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 12 Sep 2018 00:17:31 +0000 (09:17 +0900)]
tpl_tbm: Modified to mutex_unlock during waiting for can_dequeue.
Change-Id: I4279bc245e391a66cb80285b12ab6efd92df9965
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 12 Sep 2018 00:12:54 +0000 (09:12 +0900)]
tpl_wayland_egl_thread: Enhanced thread safety for get_swapchain_buffers
- If wayland events handled in the event thread during get_swapchain_buffers,
unexpected problem can occur.
Change-Id: I6c6955fd7bb5f9b03372de0c396c1b6e157b92c0
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 6 Sep 2018 05:16:31 +0000 (14:16 +0900)]
tpl_wayland_egl_thread: Added log and trace mark
Change-Id: I32a175d2c6e36c1ad9c068337c32a0db9e201f40
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 6 Sep 2018 04:53:16 +0000 (13:53 +0900)]
tpl_wayland_egl_thread: Inserted the missing code to use sync fd.
Change-Id: I4a8434e3c040b4abc9749d027fbcc4691f96d040
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 6 Sep 2018 04:27:07 +0000 (13:27 +0900)]
tpl_wayland_egl_thread: Modified some bugs in in_use_buffers list.
- For vulkan, get_buffers causes set_wl_buffer_info
to be called once for all buffers. Therefore, vulkan does not
have to push in_use_buffers when set_wl_buffer_info
is called for each buffer first.
Change-Id: Ic6fe472d675449906f3033f64807adc2821cec18
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Juyeon Lee [Fri, 17 Aug 2018 05:11:23 +0000 (14:11 +0900)]
wayland_egl: Added new APIs related with serial
- once dequeue, increase serial number and assign it both on
wl_egl_window and twe_wl_buffer_info.
- at the same time of wl_surface_commit, deliver the serial to wayland-tbm server
by using wayland_tbm_client_set_buffer_serial
- New wayland_egl API:
unsigned int wl_egl_window_tizen_get_window_serial(struct wl_egl_window *egl_window)
egl_window cannot be NULL
Change-Id: I8a607be8c44b2a37e8ba90cceae3e3962a128ec9
Harsh Aggarwal [Tue, 31 Jul 2018 11:03:53 +0000 (16:33 +0530)]
Add support for VK_KHR_incremental_present: pass wl_surface_damage rects to compositor
+ added based on wl_surface protocol version
+ for vulkan the coordindate system is top left (so no inverted y)
Change-Id: I00d47db5044ce00c855f898b55a1d15d443be9ae
Joonbum Ko [Mon, 3 Sep 2018 05:53:17 +0000 (14:53 +0900)]
Package version up to 1.5.15
Change-Id: I28db1a95f4f2f6043b8e0dd9e0660236ee8d4f7b
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 3 Sep 2018 03:01:35 +0000 (12:01 +0900)]
tpl_wayland_egl: Fixed bug related with deadlock.
- Using wl_event_mutex in the shm_flush_callback can cause
deadlock problem with polling in the wait_dequeuable().
Change-Id: I624bf18e120492cda6825fc84a061e9d27f6a02d
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 30 Aug 2018 09:10:13 +0000 (18:10 +0900)]
tpl_wayland_egl_thread: Deleted meaningless lines.
Change-Id: I51e14837e6daa4fdbab04bda2f80ffab2210906a
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 30 Aug 2018 09:07:25 +0000 (18:07 +0900)]
tpl_wayland_egl_thread: Added enqueue trace callback to tbm_queue.
- Tracking dequeued buffers in the in_use_buffers is only from dequeue to enqueue.
Change-Id: I0ba57d16fc181898f9ccd7e2c76767f082b83472
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 30 Aug 2018 07:17:02 +0000 (16:17 +0900)]
tpl_wayland_egl_thread: Fixed a bug to prevent tearing.
- In the case of vulkan, the meaning of enqueue is not render_done state.
Therefore, vulkan surface should check the can_acquire count
in the dirty_queue of tbm_queue as well as the draw_done_count
of surf_source.
Change-Id: Ibdd3e2438ac158fa78d2f897ae83f1cceb289efb
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 9 Aug 2018 08:43:31 +0000 (17:43 +0900)]
Package version up to 1.5.14
Change-Id: Iad63a60908ac832f806b004984f34b4e53e6be5e
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Thu, 9 Aug 2018 05:03:08 +0000 (14:03 +0900)]
tpl_display: Added a new API to get existed display with backend type.
- Added API below.
Get TPL display object for the given native display.
If there's already existing TPL display for the given native display and backend type,
then return the existed TPL display object.
If the given backend type is TPL_BACKEND_UNKNWON,
it behaves the same as tpl_display_get().
Otherwise, it searches for the tpl_display created with the given type.
@param type backend type of the given native display.
@param native_dpy handle to the native display.
@return pointer to the display on success, NULL on failure.
tpl_display_t *
tpl_display_get_with_backend_type(tpl_backend_type_t type,
tpl_handle_t native_dpy);
Change-Id: I82f65da4f168f47b2669e5e82f92aae4e77968a0
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 31 Jul 2018 07:18:46 +0000 (16:18 +0900)]
Package version up to 1.5.13
Change-Id: I5b929878b1097e9dfe771cbab76099bea732f4d6
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 31 Jul 2018 07:18:09 +0000 (16:18 +0900)]
tpl_utils: Modified to avoid unnecessary loop.
Change-Id: I8a63c27414b50e19b5425771d726e1c6fbeb8400
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Tue, 31 Jul 2018 07:13:01 +0000 (16:13 +0900)]
tpl_wayland_egl: Modified to remove only flushed buffers from committed_wl_buffers.
- If flush_callback removes all buffers from committed_wl_buffers,
it can cause problems on non-iconified surfaces if they are multi-surfaces.
Change-Id: I6f1e6d6faa024e15961669bcfef1c6d62dc89037
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 25 Jul 2018 07:04:44 +0000 (16:04 +0900)]
Package version up to 1.5.12
Change-Id: I52a5b1ad8c3e0c1f6c5c4332307ecc142eb30101
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 25 Jul 2018 06:40:09 +0000 (15:40 +0900)]
tpl_wayland_egl: Modified to track committed wl_buffer using global list.
- If more than one release event is processed for only once committed wl_buffer,
the tbm_surface that should not be destroyed can be destroyed.
- Save wl_buffer during from wl_surface_commit to wl_buffer_release to a global list
called committed_wl_buffers to filter out unwanted release events.
[The cases of the problem]
1. Multi-surfaces client.
2. client want to render in iconified status.
Change-Id: I09ea2f0ba26b7066695971238d9bed003443e9e4
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Wed, 25 Jul 2018 06:35:03 +0000 (15:35 +0900)]
tpl_utils: Added internal util function to find node from given list with data.
Change-Id: I5754db81f7edc27728d7b839985a124923671e6f
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
Joonbum Ko [Mon, 23 Jul 2018 05:43:33 +0000 (14:43 +0900)]
Package version up to 1.5.11
Change-Id: I247df5594ceadb92f7a53d0bd6eefeb56b27cf15
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>