SooChan Lim [Wed, 9 Aug 2017 00:45:04 +0000 (09:45 +0900)]
tpl_wayland_egl: remove the unused variable
Change-Id: Id25e309dbcd59f67fa9edaa0b048577bf7a263ee
joonbum.ko [Wed, 2 Aug 2017 06:22:55 +0000 (15:22 +0900)]
tpl_wayland_egl: Fixed wrong procedure of cancel_dequeued_buffer
Change-Id: Iac13118c24e87546ffaef6116bf826285a0766e0
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 1 Aug 2017 06:04:47 +0000 (15:04 +0900)]
Package version up to 1.4.1
libwayland-egl : package version up to 1.2.2
Change-Id: Ic80a31bb98a5521578a57048818208ef335017dc
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 1 Aug 2017 05:55:35 +0000 (14:55 +0900)]
libtpl-egl.spec: libwayland-egl.so was included again.
- Since libwayland-egl.so is often directly dlopen,
it is included again temporarily.
Change-Id: Ica57a476e4d7d3a470c591a7424928b69f129e42
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Hoyub Lee [Tue, 25 Jul 2017 10:58:15 +0000 (19:58 +0900)]
tpl_wayland_egl: Format of tpl_surface is now used instead of ARGB8888
Because there was no real use case using format other than ARGB8888,
the format value in __tpl_wayland_egl_surface_init() was fixed as ARGB8888.
However, there were cases using other formats on CTS.
Therefore, the format of tpl_surface is going to be used.
Change-Id: I427d1a989267b9ec0fbe03f5bb67b02ba985a039
Signed-off-by: Hoyub Lee <hoyub.lee@samsung.com>
joonbum.ko [Wed, 19 Jul 2017 10:44:35 +0000 (19:44 +0900)]
Package version up to 1.4.0
- DDK can use WAYLAND_EGL_THREAD backend to enable multi-thread
since this version 1.4.0
Change-Id: Ic8156273e06ae6c3600ebda631e9d42a9f2f04f5
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 19 Jul 2017 10:17:08 +0000 (19:17 +0900)]
libtpl-egl.spec: Excluded worker_test binary building.
Change-Id: I47724d2be1cbdabb503d24adcf0998aad388b5d4
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 4 Jul 2017 07:16:18 +0000 (16:16 +0900)]
tpl_wayland_egl_thread: Made tbm_surface_queue operate in GUARANTEE_CYCLE mode.
- In multi-threaded architectures, tbm_surface_queue must fully guarantee
the life cycle of tbm_surface so that it does not cause problems in queue_reset
or surface destory, so wayland_egl_thread must operate the queue in
GUARANTEE_CYCLE mode.
- In order to avoid problems with surface source deletion, surf_source must
remove the canceled buffer from the in_use_buffers list.
- [libtbm]
commit : surface_queue: added queue cancel acquire/dequeue
I0857b16141894eaf6f06a3b1584e971ac380a513
commit : tbm_surface_queue: added tbm_surface_queue_mode
if user set queue mode to GUARANTEE_CYCLE, user must do enqueue/acquire/release
or cancel_dequeue for tbm_surface which is dequeued before
tbm_surface_queue is reset
Ia26ae79ca376ad69d9714500bd4dfb48ae61da79
Change-Id: Idc5b256efad8167f010dd817e1228c776b970dfb
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 19 Jul 2017 08:38:01 +0000 (17:38 +0900)]
tpl_display: Added a new frontend API that returns appropriate backend type.
- New API :
tpl_backend_type_t tpl_display_get_backend_type(tpl_handle_t native_dpy)
- The native_dpy, which can be supported by tpl,
this function will return the corresponding backend type.
- It is preferable to explicitly pass the returned backend type
to tpl_display_create.
Change-Id: I987335e6e30c774b73d6bb79ff8c65fd05141baf
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 19 Jul 2017 07:49:43 +0000 (16:49 +0900)]
tpl_wayland_egl_thread: Fixed a issue of passing destroyed memory address.
This commit can fix the SVACE issues below.
[SVACE][WGID][264489] PASSED_TO_PROC_AFTER_FREE.EX
Change-Id: I5b0ed5cf369990f6fe6809be375d47d79e7c2dcc
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 19 Jul 2017 07:43:50 +0000 (16:43 +0900)]
tpl_wayland_egl_thread: Fixed a bug code that set transform value in buf_info.
Change-Id: I0e2f5201db361f198a8498068d0caf132bb38480
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 19 Jul 2017 07:28:50 +0000 (16:28 +0900)]
tpl_wayland_egl_thread: Fixed potential memory leak problem.
Change-Id: I277770bcc41ef6bbffcd8be705f09a944dec97bd
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 19 Jul 2017 07:18:09 +0000 (16:18 +0900)]
tpl_wayland_egl_thread: Added NULL checking when creating thread and thread context.
This commit can fix the SVACE issues below.
[SVACE][WGID][259615] DEREF_OF_NULL.RET.ALLOC
[SVACE][WGID][264745] DEREF_OF_NULL.RET.ALLOC
Change-Id: Ida8202a811e34ebddb3557abd43daa3610336179
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 19 Jul 2017 06:11:12 +0000 (15:11 +0900)]
Package version up to 1.3.1
Change-Id: I47d7908822e5118f7ae47cbbcde32ff0703edde6
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 6 Jul 2017 11:08:35 +0000 (20:08 +0900)]
tpl_wayland_egl: Removed duplicated logs.
Change-Id: I7a2abb66fa20a5060c7add7b8150eda2b562c9c9
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 6 Jul 2017 10:43:41 +0000 (19:43 +0900)]
tpl: Modified the syntax to enable threads.
Change-Id: Ic08f11e71414711067c6e27fa70bdf31c38f4149
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 6 Jul 2017 10:46:34 +0000 (19:46 +0900)]
tpl_wayland_egl_thread: Fixed memory corruption bug related to thread context.
Change-Id: I0458b16cb80889e46029dcf929cd6aa27b3ffbc5
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 4 Jul 2017 05:28:00 +0000 (14:28 +0900)]
tpl_wl_egl_thread: Changed the procedure to dequeue buffer.
Change-Id: I5bdc7988e84dc25fb1cb479bfacc55f6d6f4b4fa
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 4 Jul 2017 03:20:46 +0000 (12:20 +0900)]
tpl_wl_egl_thread: Modified the policy of the queue reset flag to be thread-specific.
- When the queue is resized, change the reset flag to TPL_TRUE to reflect
the changed window size at the next frame.
- When queue_reset_callback is called, if is_activated is different from
its previous state change the reset flag to TPL_TRUE to get a new buffer
with the changed state(ACTIVATED/DEACTIVATED) at the next frame.
Change-Id: I9cd15205217456ff128beec78f5f0089852079d9
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 13 Jul 2017 10:43:46 +0000 (19:43 +0900)]
Removed the libdrm dependency from the all backends except X11.
Change-Id: I34a1cea44121ff9bcb14012337e2c5dbad961e60
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 12 Jul 2017 07:24:37 +0000 (16:24 +0900)]
libtpl-egl.spec: Modified the spec to build in all arches.
Change-Id: Id59bf919a88e73aca1f808d1221ea144c3e6b512
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Sangjin Lee [Thu, 6 Jul 2017 01:24:08 +0000 (10:24 +0900)]
wayland-egl: add wayland-egl-tizen.h
Change-Id: Ib344bebf6060b4dd612442bbd14d42cad4794e0f
joonbum.ko [Wed, 5 Jul 2017 08:26:46 +0000 (17:26 +0900)]
tpl_wl_egl_thread: Changed default logs TPL_LOG_B to TPL_LOG_T.
Change-Id: I294619a6a88052552165c57c5363f42a5281b515
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 5 Jul 2017 08:21:06 +0000 (17:21 +0900)]
wayland-egl: Package version up to 1.2.1
Change-Id: I3e66cee2edab76c48a9a44a8daf32aef4b5a02e8
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 5 Jul 2017 08:20:08 +0000 (17:20 +0900)]
wayland-egl: Set the initial values when wl_egl_window created.
Change-Id: I4f6607eda7d4e0e97ce987f4f8a4986ddc443511
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 5 Jul 2017 08:04:51 +0000 (17:04 +0900)]
Clean up the spec file and change the versioning policy of shared object.
- If user install these packages after this commit,
symbolic links are created as shown below.
[Packages for Installation] - Exclude .so file
install dir = /usr/lib/
libtpl-egl.so.{TPL_VERSION_MAJOR} -> libtpl-egl.so.{TPL_VERSION}
libtpl-egl.so.{TPL_VERSION}
libwayland-egl.so.{WL_EGL_VERSION_MAJOR} -> libwayland-egl.so.{WL_EGL_VERSION}
libwayland-egl.so.{WL_EGL_VERSION}
[Devel Packages] - Include .so files
libtpl-egl.so -> libtpl-egl.so.{TPL_VERSION}
libwayland-egl.so -> libwayland-egl.so.{WL_EGL_VERSION}
Change-Id: I9200e542a91d21caf7f97a0b0289e78bb6da07d5
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Hoyub Lee [Tue, 4 Jul 2017 09:03:12 +0000 (18:03 +0900)]
Change rpm package versioning policy
libtpl-egl
- RPM package version changes to (MAJOR).(MINOR).(PATCH)-(RELEASE)
libwayland-egl
- RPM package version is separately managed with libtpl-egl
Change-Id: I25ed5152d62d1181f8635de43f877c67c7733da6
Signed-off-by: Hoyub Lee <hoyub.lee@samsung.com>
Hoyub Lee [Fri, 30 Jun 2017 08:09:46 +0000 (17:09 +0900)]
Change version macro name of libwayland-egl for consistency
Change-Id: I148dfa2c459bc6e44c7e65424471f9e8baa139e0
Signed-off-by: Hoyub Lee <hoyub.lee@samsung.com>
Hoyub Lee [Fri, 30 Jun 2017 07:52:41 +0000 (16:52 +0900)]
Create version macros for libwayland-egl
Change-Id: I9f7963a8c0bb839206de4fac49d8455b6f6c16d8
Signed-off-by: Hoyub Lee <hoyub.lee@samsung.com>
joonbum.ko [Tue, 4 Jul 2017 07:27:47 +0000 (16:27 +0900)]
Package version up to 1.3.0
- There is a dependency using new API of wayland-tbm.
Change-Id: Ica8e1100dc26a5a4f2688509f91865212a0ad07f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 26 Jun 2017 06:42:32 +0000 (15:42 +0900)]
tpl_wayland_egl: Implement related to window rotation
- Only wayland_tbm_client_set_buffer_transform is called for buffers
that need to be updated after window rotation occurs.
Change-Id: I2905fdf34536bd55eebdf943165ac364aa21d9d7
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 22 Jun 2017 08:00:16 +0000 (17:00 +0900)]
wayland_egl: Added an API to set window_transform.
- New API :
void wl_egl_set_window_transform(struct wl_egl_window *egl_window, int window_transform)
- libwayland-egl package version up to 1.2.0
Change-Id: If1e225d5bdc043f9f1acc3da1c8894caeee12136
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 19 Jun 2017 10:01:34 +0000 (19:01 +0900)]
Package version up to 1.2.0
Change-Id: I2e9f90dbb91549ce2b0fb73a2530ed3ecab98b61
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 19 Jun 2017 07:41:23 +0000 (16:41 +0900)]
tpl: Added a frontend API to cancel dequeued buffer.
- Previously, when dequeued buffer was canceled, ref counts were run to be destroyed
without tbm_surface_queue_release. However, for the normal operation of wayland_egl_thread,
DDK need to cancel the dequeued buffer before using it.
- In wayland_egl_thread structure, tbm_surface_queue_release should be called so that tbm_surface
can be completely destroyed.
- The newly added below API calls tbm_surface_queue_release directly to destroy unused tbm_surface.
tpl_surface_cancel_dequeued_buffer(tpl_surface_t *surface, tbm_surface_h tbm_surface)
- The type of tpl_surface must be window surface,
and tbm_surface must be a buffer in the state before rendering begins.
Change-Id: Ibf4950dc2846f1f6a01998ea39bae99bc8300b4f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 14 Jun 2017 12:17:57 +0000 (21:17 +0900)]
integrated tpl_wayland_egl_thread feature.
- This feature is disabled defaultly.
- It can be enabled with set environment value 'TPL_WL_EGL_THREAD' to '1' when before running gl application.
- Also it can be enabled defaultly with set 'ENABLE_DEFAULT_WL_THREAD' to '1' when build this package.
- There is a new backend type for wayland_egl using thread.
TPL_BACKEND_WAYLAND_THREAD
- If enabled the thread feature, backend will be set to TPL_BACKEND_WAYLAND_THREAD and called every backend functions
in tpl_wl_egl_thread.c
If not enabled the thread feature, tpl's behavior is the same as before this commit.
Change-Id: Ib8bb0c7836ef07b53cbf306b0f5e2404d9c119ff
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 14 Jun 2017 11:03:49 +0000 (20:03 +0900)]
tpl_wayland_egl_thread: Implement free_flush protocol.
- Implement free_flush of tizen_surface_shm_flusher.
Just flush free_buffer when receive free_flush event from server.
If this protocol is active in server,
it can reduce quick_panel buffer 3 to 1 in idle time.
Change-Id: I69422c1b10f43ea6430c2c059eb330403a18824c
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 14 Jun 2017 08:31:43 +0000 (17:31 +0900)]
tpl_wayland_egl_thread: Fixed some build warning.
Change-Id: Ied55bdacdf5e0e910ae6b4806050c6b51c7a939e
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 14 Jun 2017 08:19:55 +0000 (17:19 +0900)]
tpl_wayland_egl_thread: Changed to acquire only if vblank_done state is TPL_TRUE.
- The function _twe_thread_wl_surface_acquire_and_commit can be called in both situations.
One is when acquirable event is received from the main thread,
and the other is when __cb_tdm_client_wait_vblank callback is called.
The reason for calling the acquire function in the two situations described
above is to make only one commit for one vblank.
Change-Id: I720ac9290a9338b6e681026ee35104a22da6aecc
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 12 Jun 2017 08:35:18 +0000 (17:35 +0900)]
tpl_wayland_egl_thread: Cleaned up the codes for creating/deleting/dipatching tdm_source.
- It has been modified to control tdm resources only within threads
to prevent wl_display errors due to thread differences.
tdm_source (gsource)
- tdm_source will be created when before loop running start.
tdm_client_vblank object
- vblank object of twe_surf_source will be created newly when surface commit.
If both tdm_source and vblank object failed to create,
surface commit will fall back to TPL_WAIT_VBLANK disabled mode.
Change-Id: I417b36e7f5e8f5964af267a0ecae83899b5a3c2d
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 25 May 2017 04:27:16 +0000 (13:27 +0900)]
tpl_wayland_egl_thread: Added APIs for thread safety during event processing.
- If a new event is handled in the worker_thread while processing
the dequeue process in the main thread, it can cause problems.
- Thread safety must be guaranteed in the part that uses
the same resource (tbm_surface_queue) between threads.
- Added APIs
twe_display_lock / twe_display_unlock
Change-Id: I3cd405147a196ced800faefec80e559b15693673
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 25 May 2017 01:20:17 +0000 (10:20 +0900)]
tpl_wayland_egl_thread: Changed the order of surface fini.
Change-Id: I191044552c521a435eaf83fa31fecc1615643efd
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 24 May 2017 06:49:53 +0000 (15:49 +0900)]
tpl_wayland_egl_thread: Fixed to do acquire_and_commit until there was no tbm_surface to be consumed.
- One or more tbm_surfaces that are not consumed can be in tbm_surface_queue
because event_fd has two writes but read may be processed only once.
Change-Id: Iae3fa749f411e1ce957317a1b1d9085948a22e55
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 24 May 2017 06:20:48 +0000 (15:20 +0900)]
tpl_wayland_egl_thread: Deleted unnecessary logs that were printed too often.
Change-Id: Ibbb51f8a3e4cad25a2096581bd7485e0006517b0
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 24 May 2017 05:27:12 +0000 (14:27 +0900)]
tpl_wayland_egl_thread: Modified the gsource to validate before the event is processed.
- In a short period of time, gsource can be destroyed.
- So added exception handling syntax to process event handling only when gsource is valid.
Change-Id: I719a7b988a73b44df846b2318b3e96544fb3dea5
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 24 May 2017 05:15:13 +0000 (14:15 +0900)]
tpl_wayland_egl_thread: Modified to do wl_display_read_events only if revent has G_IO_IN.
- revent can be G_IO_ERR, in which case do cancel_read and returning FALSE is more correct
than returning TRUE for dispatching.
Change-Id: I2ccb898a16115cad1f9996e399575a242686eb5d
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 24 May 2017 04:28:34 +0000 (13:28 +0900)]
tpl_wayland_egl_thread: Modified using Wayland API that does not fit in bound version.
- wl_surface_damage_buffer -> wl_surface_damage
- Since 'wl_surface_damage_buffer' is higher API, it is not nomarlly supported on the current platform.
- When wayland client need to use this API, I will add it with version checking syntax.
Change-Id: If5d426edc63fb481c637b17f5955949b1b31c1a1
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 22 May 2017 05:31:03 +0000 (14:31 +0900)]
tpl_wayland_egl_thread: Deleted an unused handle type.
Change-Id: Iabac36d4e22d371263052871b6633185f2d97a26
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 22 May 2017 05:24:34 +0000 (14:24 +0900)]
tpl_wayland_egl_thread: Added an API to check whether the buffer need to be committed.
- Added API : twe_surface_check_commit_needed(twe_surface_h, tbm_surface_h)
- This API helps to determine whether to commit the buffer which is render done in front-buffer mode.
Change-Id: I9d06c79073f76581a4d37f585ca03fc6e0d09b2b
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 18 May 2017 07:38:25 +0000 (16:38 +0900)]
tpl_wayland_egl_thread: Added an API to check if client is activated.
Change-Id: I6a667e30c937bec138de0c04eb6f0fc392f8a5ef
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 18 May 2017 07:14:18 +0000 (16:14 +0900)]
tpl_wayland_egl_thread: Added an API to force commit without enqueue.
- It need to commit without enqueue, like when client start frontbuffer rendering.
Change-Id: I8cfcccd2fcd948907c1fb2c39b97b4aa85f6b78a
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 19 May 2017 07:07:20 +0000 (16:07 +0900)]
tpl_wayland_egl_thread: Added an API to check whether native handle is wl_display.
- Added API
tpl_bool_t twe_check_native_handle_is_wl_display(tpl_handle_t)
Change-Id: Icf1a67368724ca98cec80bcc21d57af1debf22b7
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 19 May 2017 06:53:33 +0000 (15:53 +0900)]
tpl_wayland_egl_thread: Fixed output of wayland protocol error when processing wayland event.
Change-Id: I67105f6f0884a0335496ed30bacce621511442af
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 19 May 2017 05:26:18 +0000 (14:26 +0900)]
tpl_wayland_egl_thread: Added implementation for buffer_flush.
Change-Id: Ide710a0d90d42d772d39580a432623bec9c0b81f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 19 May 2017 05:18:45 +0000 (14:18 +0900)]
worker_test: Added SRCS&HEADERS to use tizen_surface_shm_flusher.
Change-Id: Idb4d6ec1ca1b052265ba89672b76d0f4871d0fb2
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 12 May 2017 08:08:28 +0000 (17:08 +0900)]
tpl_wayland_egl_thread: Added a list of in_use_buffers to keep track of the buffers in use.
- When twe_surface_del is called, if the surface is deleted even though the DDK still has a buffer,
it can cause problems at commit time.
- Tracking the buffers in use can solve the problem by waiting for the surface to be deleted unitl it is finished.
Change-Id: If01bd98d409c5f94b956fcfc3ac20d26ca50df55
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 12 May 2017 07:49:13 +0000 (16:49 +0900)]
worker_thread: Deleted twe_surface_set_buffer.
Change-Id: I874bd23a837099c2b813fcfbbbf8121bf275a64a
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 12 May 2017 07:43:19 +0000 (16:43 +0900)]
tpl_wayland_egl_thread: Deleted API 'twe_surface_set_buffer'
- Registered tbm_surface_queue_trace_cb to know dequeued tbm_surface.
So twe_surface_set_buffer was removed because tbm_surface_queue_trace_cb replaces the
behavior of it and twe's user does not need to call it immediately after
tbm_surface_queue_dequeue.
Change-Id: Iadfcf6cbffba31ecdf006a5f346d0f197faccf7a
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 22 Jun 2017 08:27:18 +0000 (17:27 +0900)]
tpl_gbm: Fixed a svace issue.
Change-Id: I4d0da189a126347b272bf3c3a54d05fe78d979ff
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 12 May 2017 06:39:20 +0000 (15:39 +0900)]
worker_test: Added SRCS&HEADERS to build with internal APIs of tpl_object_t.
Change-Id: I1bbd070fa03bca23e0ebd8d35f8202755a4199c3
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 12 May 2017 06:35:51 +0000 (15:35 +0900)]
tpl_wayland_egl_thread: Added tpl_object_t to twe_wl_surf_source to use mutex lock.
- committed_buffers(tpl_list_t) wrapped in TPL_OBJECT_LOCK/UNLOCK to ensure thread safety of tpl_list_t.
Change-Id: Ia54a71bd4f11a3804a72450faca08ca0c8e63ff5
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 12 May 2017 04:03:05 +0000 (13:03 +0900)]
tpl_wayland_egl_thread: Fixed an abnormal destroy procedure to avoid double free problem.
Change-Id: I2fb9d3060b92513b1a884d588453c7c430bce813
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 11 May 2017 07:28:17 +0000 (16:28 +0900)]
tpl_wayland_egl_thread: Added a list to track committed buffers.
- This list exists to do unref tbm_surfaces, which were committed but not released yet, without waiting for further events(after surface destroyed)
by emptying at surface_finialize.
Change-Id: Ieece90193e678ab9afce2279b9d6e04c0443723f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 11 May 2017 03:50:16 +0000 (12:50 +0900)]
worker_test: Added wayland-tbm-server.pc to ldflag for build.
Change-Id: Iccd94d6401aa8f0e7acc04fb8c8200c609b6b4e8
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 11 May 2017 03:29:44 +0000 (12:29 +0900)]
tpl_wayland_egl_thread: Added APIs to get information of wayland native_handle.
- Added APIs :
twe_get_native_window_info(tpl_handle_t window, int *w, int *h)
twe_get_native_buffer_from_pixmap(tpl_handle_t pixmap)
Change-Id: I39ed01d562ebde9534e87a6b2e5a02b1277d902c
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 8 May 2017 06:11:20 +0000 (15:11 +0900)]
tpl_wayland_egl_thread: Separated the file for testing worker thread.
Change-Id: Ie00ad8ca16d88b6cecccbd8ba3e86f116d21d6c2
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 8 May 2017 06:23:59 +0000 (15:23 +0900)]
tpl_wayland_egl_thread: Added the missing info to the twe_wl_buffer_info when it is created.
Change-Id: I274ae06a2de772425bbc1800b1cd05ca7afa8052
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 4 May 2017 03:42:11 +0000 (12:42 +0900)]
tpl_wayland_egl_thread: Added implementation about waiting vblank event.
Change-Id: Idc206c2be1b410fdbeea30b6c5de138810a8fc14
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 28 Apr 2017 01:53:21 +0000 (10:53 +0900)]
tpl_wayland_egl_thread: Added internal function for acquire and commit.
Change-Id: Ifb322ae2623d69906c0c44ee2f6de46a807a3022
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 27 Apr 2017 07:25:14 +0000 (16:25 +0900)]
tpl_wayland_egl_thread: Added twe_surface_set_damage_region.
- NEW API : twe_surface_set_damage_region(tbm_surface_h, int num_rects, const int* rects)
- I expect it to be called before tbm_surface_queue_enqueue() inside tpl_surface_enqueue_buffer().
- The input parameter tbm_surface_h must be a dequeued buffer from tbm_surface_queue.
- Operation :
* Get twe_wl_buffer_info from tbm_surface user_data.
* If buf_info->rects already exists, free this old one and re allocate new rects.
Change-Id: Ib9e552dab4450caad3aa9c1e941f9190abe79252
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 27 Apr 2017 04:02:39 +0000 (13:02 +0900)]
tpl_wayland_egl_thread: Added twe_surface_set_buffer API.
- NEW API : twe_surface_set_buffer(twe_surface_h ,tbm_surface_h)
- I expect it to be called immediately after tbm_surface_queue_dequeue() inside tpl_surface_dequeue_buffer().
- The input parameter tbm_surface_h must be a dequeued buffer from tbm_surface_queue.
- Operation :
* Create twe_wl_buffer_info and set to tbm_surface as user_data.
* Create wl_buffer with wl_tbm_client, wl_surface and set to twe_wl_buffer_info.
* Get wl_egl_window's size and set to twe_wl_buffer_info.
Change-Id: I6b1b5d4a46ccb8cb7b475c8a068a1991dc156ab9
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 25 Apr 2017 12:35:48 +0000 (21:35 +0900)]
tpl_wayland_egl_thread: Simplified the name of internal functions.
Change-Id: I6182eb953091ad5fdabd738248832dcf9ec27b9d
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 25 Apr 2017 11:46:45 +0000 (20:46 +0900)]
tpl_wayland_egl_thread: Registered tbm_surface_queue acquirable callback.
- acquirable callback is called when tbm_surface enqueued to tbm_surface_queue.
In callback function, event will be sent to thread by writing to registered event_fd.
Change-Id: I424f75bf164d25678d5a6300884a97f627bb952b
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 25 Apr 2017 11:12:26 +0000 (20:12 +0900)]
tpl_wayland_egl_thread: Registered wl_egl_window get_rotation_capability callback.
Change-Id: I2753c8e4b658cdc95c6992976c9db0142d5a572c
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 25 Apr 2017 11:05:28 +0000 (20:05 +0900)]
tpl_wayland_egl_thread: Added API to set rotation capability.
Change-Id: I28fdc7cabac80155aa21fe9fdcb5ee684339d27e
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 25 Apr 2017 10:51:44 +0000 (19:51 +0900)]
tpl_wayland_egl_thread: Added API to get rotation value.
Change-Id: I444f2ef708026f42fe25f7ae1dec5994d9ad4f5f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 25 Apr 2017 10:39:51 +0000 (19:39 +0900)]
tpl_wayland_egl_thread: Registered wl_egl_window rotate callback.
Change-Id: Ie5a6afc303bf36cceca6046e053450bb9b42b04a
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 25 Apr 2017 10:24:07 +0000 (19:24 +0900)]
tpl_wayland_egl_thread: Registered wl_egl_window resize callback.
Change-Id: I15dbf11f280bab7e37fa699914f522b2fee6ba65
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 25 Apr 2017 08:28:22 +0000 (17:28 +0900)]
tpl_wayland_egl_thread: Registered tbm_surface_queue_reset callback.
- But it is only for testing, it does not do anything yet.
Change-Id: I74e94267144d0727ff5ec0d97e087f7cc48b67e6
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 25 Apr 2017 07:31:56 +0000 (16:31 +0900)]
tpl_wayland_egl_thread: Applied new logs for thread test.
Change-Id: I49ac182b9c3ee52d296a10a95d3a5eaaa23e1f3f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 25 Apr 2017 06:34:21 +0000 (15:34 +0900)]
tpl_util: Added logging for threads.
Change-Id: I4c89bb464f0becba6bf2b5267777c4b28bfc1b6a
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 24 Apr 2017 07:50:56 +0000 (16:50 +0900)]
tpl_wayland_egl_thread: Added implementation for tbm_surface_queue creation.
Change-Id: I94939dd72140a55ac4c844826d7eb55ba0c7c888
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 24 Apr 2017 05:03:48 +0000 (14:03 +0900)]
tpl_wayland_egl_thread: Changed input parameter wl_surface to wl_egl_window.
Change-Id: I2a51d9d200d0bb011aecf7171d1d559f93befde1
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 24 Apr 2017 04:23:48 +0000 (13:23 +0900)]
tpl_wayland_egl_thread: Changed the internal function name.
Change-Id: I868f105b8507e4d07e7006fd77fc539678897bb0
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 21 Apr 2017 07:56:34 +0000 (16:56 +0900)]
tpl_wayland_egl_thread: Changed the name of APIs.
Change-Id: I86b11375d12e8531fd3d3ecef0c3396d19e62c20
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 21 Apr 2017 07:32:42 +0000 (16:32 +0900)]
tpl_wayland_egl_thread: Simplified APIs and modify design between the data structures.
- Added handle for sources.
twe_display_h, twe_surface_h
Change-Id: I1d8e806aed89f33c24dc627128109f733a589872
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 21 Apr 2017 03:47:48 +0000 (12:47 +0900)]
tpl_wayland_egl_thread: Removed the duplicated define.
Change-Id: If382e6acbc7641a024e2ee092d7b077947b821f6
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Sangjin Lee [Fri, 21 Apr 2017 03:54:43 +0000 (12:54 +0900)]
tpl_wayland_egl_thread: add testcase to gtest
Change-Id: I3ce36d710b73ae025916cb92809babc07d1919f0
joonbum.ko [Fri, 21 Apr 2017 00:45:56 +0000 (09:45 +0900)]
tpl_wayland_egl_thread: Added timeout source for test.
Change-Id: Ib2ee280a2a1ef97117d37c123450e79e64bae6df
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 20 Apr 2017 23:45:06 +0000 (08:45 +0900)]
tpl_wayland_egl_thread: Added basic debug logs for thread monitoring.
Change-Id: I6d4d450392d06e0c704d4140e6db831cde04e000
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 20 Apr 2017 08:14:40 +0000 (17:14 +0900)]
[FOR TEST] Added basic test codes for tpl_wayland_egl_thread.
- executable file name is 'glib_wl_test'
- bindir = /usr/bin/
- This is a temporary commit for test until integration.
Change-Id: Ie51a8ec1221cf890a4a6bafcd3edb5cb50f170bf
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 20 Apr 2017 23:48:33 +0000 (08:48 +0900)]
tpl_wayland_egl_thread: Removed tbm_surface_queue_h from input parameter.
Change-Id: Ie1bedbcf6cd0ebc6ce931637d270959407a8fdba
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Sangjin Lee [Thu, 20 Apr 2017 23:38:10 +0000 (08:38 +0900)]
tpl_wayland_egl_thread: move the useless header define
Change-Id: Ia15c1018705915216171c7ef12238ebd4742ddfe
Sangjin Lee [Thu, 20 Apr 2017 05:30:37 +0000 (14:30 +0900)]
tpl_wayland_egl_thread: Add tdm to thread
Change-Id: I1aac64996989ee528f5ef23eb9c2a87dcd8d3e06
joonbum.ko [Wed, 19 Apr 2017 10:00:46 +0000 (19:00 +0900)]
tpl_wayland_egl_thread: Added init/deinit routine for wayland_tbm_client.
Change-Id: Ic1b5c3341bd36b26e86acd81f9d03345db9d85ff
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 20 Apr 2017 02:04:57 +0000 (11:04 +0900)]
tpl_wayland_egl_thread: Remove g_source from current poll when before g_source_destory.
Change-Id: I6534a363bfb4d3fdb7344bb6c4260453f3f9f137
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 19 Apr 2017 08:56:18 +0000 (17:56 +0900)]
tpl_wayland_egl_thread: Fixed a deadlock issue in case of destroying display source.
Change-Id: Id622900535bc981952ef60b01328bd8e72bcdbd0
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 19 Apr 2017 07:11:23 +0000 (16:11 +0900)]
tpl_wayland_egl_thread: Added initial code for wl_surface.
Change-Id: If05fe5350a101af37db273f7eac88a4069dfe079
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Sangjin Lee [Mon, 17 Apr 2017 10:15:16 +0000 (19:15 +0900)]
tpl_wayland_egl_thread: remove wl_event_queue from input parameter
Change-Id: Iece9723b18f9ca5339c956747c9ee1c8b757292a
joonbum.ko [Mon, 17 Apr 2017 04:55:30 +0000 (13:55 +0900)]
tpl_wayland_egl_thread: Separated header file for some APIs & structures.
Change-Id: I6787f7ae615732b31f8b24193f9b1a4ef5992f5f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Sangjin Lee [Mon, 17 Apr 2017 07:04:02 +0000 (16:04 +0900)]
tpl_wayland: add destory function for wl_display
When this api was called, twe will be remove the event source from thread.
Change-Id: Iadc162afaeea0b0ce6d083bbb8687a9181c4f191