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
Sangjin Lee [Mon, 17 Apr 2017 05:47:11 +0000 (14:47 +0900)]
wayland_egl: fix handle to the source of wayland
Change-Id: I7c15966a2874d6fc7b3b3e88bad6a6a79ac41062
Sangjin Lee [Fri, 14 Apr 2017 07:45:25 +0000 (16:45 +0900)]
tpl_wayland: Add initial code for thread
we need to make thread for wayland event, in current,
the wayland events are just consumed at render the frame.
So wayland event or the fds are increase during
background state. For solve this issue,
we should make event loop in other thread.
Change-Id: I8f78ec035677ccc627f6fc638bb64057a9dca71a
joonbum.ko [Wed, 21 Jun 2017 07:03:48 +0000 (16:03 +0900)]
tpl_surface: Fixed a bug in error situation.
- It need to resolve SVACE issue.
Change-Id: Ib5b071fa1c6a252d0bd80ce891a02b23adb5862b
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 16 Jun 2017 05:00:16 +0000 (14:00 +0900)]
tpl_wayland_egl: Fixed errors in managing the transform value.
- package version up to 1.1.1
Change-Id: I93b2cb8fd7c2b0f0957ee4e45a9a1c744b4cc75f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 15 Jun 2017 09:01:16 +0000 (18:01 +0900)]
package version up to 1.1.0
Change-Id: I748a032a7fc41501c0ac43294c083d252f78cbeb
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 15 Jun 2017 08:53:28 +0000 (17:53 +0900)]
tpl_wayland_egl: Deleted unused listener to resolve build warning.
Change-Id: I10a524f2a1a452a31c3089f68dfc36ebbf04ff4c
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 11 Apr 2017 07:07:37 +0000 (16:07 +0900)]
wayland_egl: Added new APIs related with wl_surface_set_buffer_transform.
- If wayland_egl provides the following function, the client can set
the correct transform value, and tpl_wayland_egl can pass the transform value
to the server at the appropriate time (befor wl_surface_attach).
- New wayland_egl API:
void
wl_egl_window_set_buffer_transform(struct wl_egl_window *egl_window,
int wl_output_transform)
- egl_window cannot be NULL.
- wl_output_transform is a value of WL_OUTPUT_TRANSFORM enum.
(See wayland.xml)
Change-Id: Ibf4d1b8eee90ee75f519a6ad6bb680299d780d26
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Sangjin Lee [Fri, 9 Jun 2017 07:22:13 +0000 (16:22 +0900)]
tpl_wayland_egl: change version of shm_flusher
Change-Id: Id0d73a50953a8d2c07430ddf18386dec91e9e636
Sangjin Lee [Tue, 6 Jun 2017 22:59:01 +0000 (07:59 +0900)]
tpl_wayland_egl: 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: I165af89f6030b651f4417e260e1dcb6115acaa44
joonbum.ko [Mon, 22 May 2017 07:40:09 +0000 (16:40 +0900)]
tpl_wayland_egl: Registered a callback function to set frontbuffer mode.
Change-Id: I03267086c07b258b6453dd9fe1fcd42bcbf503cc
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 22 May 2017 07:36:18 +0000 (16:36 +0900)]
wayland-egl: Added an API to set frontbuffer mode.
Change-Id: Id8f52c83ae4a110ce00c9c1271babcfaf242f9bd
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 17 May 2017 06:25:58 +0000 (15:25 +0900)]
tpl: Add missed mutex lock / unlock on __tpl_runtime_fini()
If race condition occures on __tpl_hashlist_destroy() of __tpl_runtime_fini(),
then __tpl_hashlist_destroy() can raise double free.
This patch fixes it.
Change-Id: Ib438e7e9b3a69d330fbda05d8090d76a80a19222
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 16 May 2017 11:04:17 +0000 (20:04 +0900)]
tpl_wayland_egl: Added async trace points to track frontbuffer.
Change-Id: I61f9a665ffaf492ecd5b465f7f2786f764572f1c
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 16 May 2017 09:51:59 +0000 (18:51 +0900)]
wayland_egl: Fixed build warning.
Change-Id: I21132792d3606114dc3cb96192a9703d7836d8e1
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Tue, 16 May 2017 09:17:54 +0000 (18:17 +0900)]
tpl_wayland_egl: Fixed case of non-pixed buffer in frontbuffer mode.
Change-Id: Ie5b6a7bc29bca359aa01092d4b9c86c79d8b0713
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>