deasung.kim [Thu, 13 Oct 2016 05:22:44 +0000 (14:22 +0900)]
tpl_worker_thread: remove regist vblank handler.
vblank handler raises performance regression.
remove regist vblank handler and replace all present mode to MAILBOX.
Change-Id: I4a56b77aea2ff67dbe0f09dc322d3219a2c69190
joonbum.ko [Wed, 12 Oct 2016 08:31:13 +0000 (17:31 +0900)]
tpl_util: Revised in order to use dlog as the default tpl logs.
- If set ENABLE_DLOG which is the flag in the spec file with 0, default log change to fprintf.
- To distinguish the kind of logs, I added several below font colors.
FONT_DEFAULT, FONT_RED(error), FONT_YELLOW(warning), FONT_GREEN(frontend), FONT_BLUE(backend), FONT_MAGENTA(debug)
Change-Id: I13f41add53e0e3f3346bc89d4d056623f9bd98d1
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
deasung.kim [Sat, 24 Sep 2016 10:59:45 +0000 (19:59 +0900)]
tpl_wayland_vk_wsi: implement the wsi's present mode
implement __tpl_wayland_vk_wsi_display_query_window_supported_present_modes
vblank event feature supports FIFO/FIFO_RELAXED modes
Change-Id: Id4fafee58ad3b2772449c3fb050ede2c004c52a9
deasung.kim [Mon, 10 Oct 2016 09:44:13 +0000 (18:44 +0900)]
tpl_worker_thread: change the timing of calling of epoll_ctl_add() on "next draw wait buffer".
- before: __tpl_worker_thread_loop() iterates all surfaces before calling of epoll_wait()
after : __tpl_worker_thread_loop() calls once __tpl_worker_prepare_draw_wait_buffer after handling of "current surface's buffer draw-done event".
Change-Id: Ia8ffb537794eb01c19f4fff33acf40e3071f1184
Gwan-gyeong Mun [Wed, 12 Oct 2016 07:05:26 +0000 (00:05 -0700)]
Merge "tpl: tpl_surface_create_swapchain() API is modified for present mode support tpl_display_query_supported_present_modes_from_native_window() is added for querying of present mode" into tizen
deasung.kim [Sat, 24 Sep 2016 09:26:46 +0000 (18:26 +0900)]
tpl: tpl_surface_create_swapchain() API is modified for present mode support
tpl_display_query_supported_present_modes_from_native_window() is added for querying of present mode
- Add enum of tpl_display_present_mode_t
it's comments is referred from vulkan present mode comments of vulkan spec.
Change-Id: Ief1f322dbb083996d7b77afed7832860dc6e063a
Gwan-gyeong Mun [Wed, 12 Oct 2016 06:54:35 +0000 (23:54 -0700)]
Merge "tpl_worker_thread: added vblank event" into tizen
Gwan-gyeong Mun [Mon, 10 Oct 2016 11:21:09 +0000 (04:21 -0700)]
Merge "tpl_worker_thread: added worker_thread files" into tizen
deasung.kim [Sat, 24 Sep 2016 09:06:08 +0000 (18:06 +0900)]
tpl_worker_thread: added vblank event
added vblank event use tdm client for present mode FIFO
Change-Id: I86830125cf9091e634a03375857a7723f7f9cafc
deasung.kim [Sat, 24 Sep 2016 06:53:03 +0000 (15:53 +0900)]
tpl_worker_thread: added worker_thread files
change thread model from per each surface to one process
event handle in worker thread
backends set "draw done"/"fd get" func to tpl_worker_thread_surface
will be added more event functions
Change-Id: Ic6a316c75f3a0fa40e6fb3e8830f488e92d5cfa5
joonbum.ko [Thu, 6 Oct 2016 05:45:16 +0000 (14:45 +0900)]
tpl_wayland_egl: Do unreference the attached buffers when the flushing of buffer is occured. it uses the list of attached_buffers.
Change-Id: Iaf880e86807af33e75ad7ee41e682628db4216e1
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Mun, Gwan-gyeong [Thu, 6 Oct 2016 09:14:18 +0000 (18:14 +0900)]
tpl: Add TPL_ERROR_OUT_OF_MEMORY to enum vaulue of tpl_result_t.
- it provides error case of OOM (out of memory) for users of libtpl-egl.
previous: tpl returns TPL_ERROR_INVALID_OPERATION or NULL when the tpl fails on allocation of memory.
current : tpl returns TPL_ERROR_OUT_OF_MEMORY or NULL when the tpl fails on allocation of memory.
Change-Id: I9859b71be94422b2f36250d62a7e68029f355072
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
Sangjin Lee [Thu, 6 Oct 2016 01:56:33 +0000 (10:56 +0900)]
tpl_wayland_egl: Fix error check for dispatch queue
Change-Id: I8b2f684a160358b632e1edf2d1f28a8843b409ed
joonbum.ko [Tue, 27 Sep 2016 09:41:29 +0000 (18:41 +0900)]
tpl: Added frontend API "tpl_surface_set_reset_cb"
- This API can set function of reset_cb to tpl_surface.
- When the tbm_surface_queue_reset is occured, if there is reset_cb which is registered by frontend, tpl_surface calls that function of reset_cb with reset_data.
- tpl_surface_validate() also can notify info of surface's "reset/resized states" to frontend as before.
But if you want to know the surface reset state without render call, it is better that registers callback of reset, using above API.
Change-Id: Ib762856ad1db306c435013218c1a4be2b24ef1c9
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 5 Oct 2016 08:44:52 +0000 (17:44 +0900)]
tpl_wayland_egl: Fix misused return value of wl_display_roundtrip_queue() on buffer_flusher_init()
- If there are errors on wl_display_roundtrip_queue then it returns values as '-1'.
Change-Id: I754df1768b46f0d815af84255255997429eefa7b
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Sangjin Lee [Fri, 23 Sep 2016 07:04:07 +0000 (16:04 +0900)]
tpl_wayland_egl: Use the tizen_surface_shm protocol for flushing of buffer
If the client's state changes the deiconified state, the tizen display server sends tizen_surface_shm_flusher event to client.
So, when the client gets the tizen_surface_shm_flusher event from server, client can flush buffers of surface_queue.
And the tizen_surface_shm_flush event is dispatched by client's default event queue in tpl_wayland_egl.
Change-Id: Icccb55e621fe264bf299d9d8c81e6f5376cee24d
joonbum.ko [Mon, 26 Sep 2016 01:49:06 +0000 (10:49 +0900)]
tpl_wayland_egl: Fixed some bugs related to wl_display_dispatch_queue_pending.
Temporal fix : Change of tbm_surface's reset state.
- Currently, tbm_surface's reset state is changed by tpl_surface_validate() and tbm_surface_queue event handler.
When we have good solution of changing of tbm_surface's reset state, tpl_surface_validate()'s wayland egl backend should remove changing of tbm_surface's reset state.
- Fixed some bugs about ACTIVE/DEACTIVE(queue_flush) events and finally applied wl_display_dispatch_queue_pending().
- Related with below commit.
019e7ff6cade7d660524cb23f7b7c442011a07dd
tpl_wayland_egl: dispatching before checking whether can dequeue or not.
- The event processing can be delayed in case there are idle buffer in free queue.
So, in dequeueable procedure, it has to call wl_display_dispatch_queue_pending before checking whether tbm_surface_queue can dequeue or not.
It can process that the events related to 'queue flush' more rapidly.
- In future commit, tpl_surface_validate will be modified to suitable one which is related to reset flag.
Change-Id: I0584211aed14ef2dd22531074c3b50e8463dd95f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 23 Sep 2016 05:04:54 +0000 (14:04 +0900)]
tpl_wayland_egl: Call wl_display_dispatch_queue_pending with wl_tbm_event_queue instead of dispatching with default_queue on __tpl_wayland_egl_surface_fini().
- __tpl_wayland_egl_surface_fini() should call wl_display_dispatch_queue_pending with wl_tbm_event_queue because of the wl_event_queue is seperated default_queue and wl_tbm_event_queue.
Change-Id: I7b80e8752e4d056c4ee6fba5467503cd6c73c0db
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Fri, 23 Sep 2016 04:47:45 +0000 (13:47 +0900)]
tpl_wayland_egl: Release locks while tpl-egl waits for vblank done.
- If error occurs on tdm_client_handle_events(), the worker thread may be faced the loop of unlimited.
- As a result, after the next tpl_surface API is called , the main thread will be faced the dead lock state
Change-Id: I7902678dad6120d540563279f35ccd5a344851cc
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 22 Sep 2016 04:05:09 +0000 (13:05 +0900)]
tpl_wayland_egl: Revert commit 'dispatching before checking whether can dequeue or not.'
Change-Id: Ic053d5ce9d98ba94d09224541534f11e54575761
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 22 Sep 2016 02:52:23 +0000 (11:52 +0900)]
tpl_wayland_egl: Reused buffer's reset flag set to TPL_FALSE.
Change-Id: I2edc82f5e61ccb35deb22bdefe9b888568a313f9
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 22 Sep 2016 02:41:44 +0000 (11:41 +0900)]
tpl: Fixed image dump util.
Change-Id: I8c1727194fb1934cda60f6d413590ecc2ff0eb73
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 19 Sep 2016 10:59:01 +0000 (19:59 +0900)]
tpl_wayland_egl: dispatching before checking whether can dequeue or not.
- The event processing can be delayed in case there are idle buffer in free queue.
So, in dequeueable procedure, it has to call wl_display_dispatch_queue_pending before checking whether tbm_surface_queue can dequeue or not.
It can process that the events related to 'queue flush' more rapidly.
Change-Id: I5512e576e985d57dc9181e338f589d344f2b8161
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Gwan-gyeong Mun [Thu, 8 Sep 2016 08:27:08 +0000 (01:27 -0700)]
Merge "tpl_wayland_egl: Use seperated event-queue for wl_tbm." into tizen
Sangjin Lee [Thu, 8 Sep 2016 05:28:12 +0000 (14:28 +0900)]
tpl_wayland_egl: Use seperated event-queue for wl_tbm.
the tdm_client related protocol provides wl_tbm, wl_tbm_queue and wl_buffer proxy.
if wl_tbm proxy uses the seperated queue from wl_display, then wl_tbm_queue and wl_buffer also use the seperated queue by inherited from wl_tbm proxy's queue.
( if wl_tbm_queue and wl_buffer are gotten before setting of wl_tbm proxy queue. this machanism does not work. therefore, wl_tbm_queue and wl_buffer use wl_display's default queue.)
- this patch chages the timing of handling of wl_buffer_release event.
wl_buffer_release event is only handled before dequeue_buffer.
reference:
1. wl_tbm proxy handles what received below wayland events.
- buffer_attached_with_id
- buffer_attached_with_fd
2. wl_tbm_queue handles what received below wayland events.
- active
- deactive
Change-Id: Iac8b07016aae3418563ab5b5cc181fa8d2e7712f
joonbum.ko [Tue, 6 Sep 2016 09:17:22 +0000 (18:17 +0900)]
tpl_wayland_egl: Add object locking mechanism for multi-threads client.
- In the multi-threads environment, backend surface's locking mechanism(using tpl_object_t) is needed
in order to prevent the case that the tpl_list is concurrently accessed by wayland_event of multi-threaded client.
Change-Id: I2957a2893f469d2b8eb3fc4b4c30dd9da3cdfeff
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Mun, Gwan-gyeong [Mon, 5 Sep 2016 13:42:27 +0000 (22:42 +0900)]
tpl_wayland_vk_wsi: Change strerror to strerror_r for the guaranteee of thread safety.
Change-Id: I5947b09c64c439ef9433b5f9c8f47e73d7fa55b9
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
Mun, Gwan-gyeong [Fri, 2 Sep 2016 12:21:14 +0000 (21:21 +0900)]
tpl_utils_hlist: Fix compile warning on 64bit architecture
fix size_t type argument format warning of printf() on 64bit architecture.
Change-Id: I6f3f0959f29dec2c26a5456b75dbdf85e00f0020
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
Mun, Gwan-gyeong [Fri, 2 Sep 2016 11:45:21 +0000 (20:45 +0900)]
pkgconfig: package-config file which is generated while building.
before: package config's library section is fixed.
after : generated package config's library section is selected when package is building.
Change-Id: I938c9dd0c5267d3d04eb761ed672863af33fadbe
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
joonbum.ko [Fri, 2 Sep 2016 06:35:29 +0000 (15:35 +0900)]
tpl_gbm: Add ttrace infos on DEQ~ENQ.
Change-Id: I3f94be8f2a985602b627b0ac786cf0be2a2e4df8
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Mun, Gwan-gyeong [Tue, 30 Aug 2016 13:36:44 +0000 (22:36 +0900)]
tpl_wayland_egl: add TPL_OBJECT_CHECK on __tpl_wayland_egl_surface_enqueue_buffer() and __tpl_wayland_egl_surface_dequeue_buffer()
Change-Id: Ie7f230aeb0eccf3689725459307f6f45eb891fa4
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
Mun, Gwan-gyeong [Tue, 30 Aug 2016 13:16:16 +0000 (22:16 +0900)]
libtpl-egl: add checking of tpl_object validation feature
tpl_object check(validation check) supports magic-number mode and finding hash mode.
Change-Id: Ic885930bc6cda0d885250f8cd19371eacb5a1186
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
Mun, Gwan-gyeong [Mon, 29 Aug 2016 14:25:36 +0000 (23:25 +0900)]
tpl_wayland_egl: Fix build warning
Change-Id: I0c40d3d40e7c9f6fefbf5e641a81732488ac69a8
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
joonbum.ko [Mon, 29 Aug 2016 10:30:21 +0000 (19:30 +0900)]
tpl_wayland_egl: Add wl_proxy to wayland_egl_display about wayland_tbm_client for handling some events.
- The separated events will be processed like below.
[wayland_egl_surface->wl_tbm_queue] : process 'ACTIVE' and 'DEACTIVE'
[wayland_egl_display->wl_tbm] : process 'buffer_attached_with_id' and 'buffer_attached_with_fd'
- Related reference : wayland-tbm
https://review.tizen.org/gerrit/#/c/85406/
https://review.tizen.org/gerrit/#/c/85407/
Change-Id: Ic22ce21c753916cfa7e66f5ad3a67b8e24013df5
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 29 Aug 2016 10:54:07 +0000 (19:54 +0900)]
tpl_wayland_egl: Change the name 'wayland_egl_surface->wl_proxy' to 'wayland_egl_surface->wl_tbm_queue'.
Change-Id: Ia6bafcaa31d9652238e03307ba5a1bb590f47feb
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Mun, Gwan-gyeong [Mon, 29 Aug 2016 04:51:32 +0000 (13:51 +0900)]
libtpl-egl: Apply coding style and add coding style document for astyle.
Change-Id: Ie39cc4244e19532bb000a16b97776575352aab69
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
joonbum.ko [Wed, 24 Aug 2016 11:04:33 +0000 (20:04 +0900)]
tpl_wayland_egl: Delete unnecessary polling for tdm vblank.
The necessary polling is already exist inside libtdm.
Change-Id: I5cf90dd599a2bee99ac3ba0094d8d4a36a7ca8bb
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 24 Aug 2016 10:58:30 +0000 (19:58 +0900)]
tpl_wayland_egl: Create tdm_vblank object directly and maintain every surfaces until destroy.
tdm_vblank object decide to be maintained every tpl_wayland_egl_surface
for the case where one or more surfaces are created in one display connection.
Change-Id: I74a3195d1d7f6662d233edf30f43ac87902da4b5
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
deasung.kim [Wed, 24 Aug 2016 08:14:20 +0000 (17:14 +0900)]
libtpl-egl: change the usage of libtbm_sync api
remove tbm_sync objects and use fd
tbm sync related api change reference: https://review.tizen.org/gerrit/#/c/85169/ submitted
Change-Id: Ia291424c127487bed3af99759b6f37e9bd76c27a
deasung.kim [Mon, 1 Aug 2016 08:31:10 +0000 (17:31 +0900)]
tpl_wayland_vk_wsi: [sync - thread] added worker thread
the worker thread do wait buffer's draw done signal before attach/commit
and wait buffer enqueue with pthread_condition.
main thread support timeout in dequeue_buffer with worker thread.(single thread not support timeout)
this patch can modify clear after libtbm support timeout(can dequeue/can acquire)
Change-Id: I90fe6340c4457169073537f18c1fd7368b5b5f7b
deasung.kim [Mon, 1 Aug 2016 05:45:07 +0000 (14:45 +0900)]
tpl_wayland_vk_wsi: [sync] divide __tpl_wayland_vk_wsi_surface_enqueue_buffer
added func __tpl_wayland_vk_wsi_surface_commit_buffer
this func do 'attach/commit/insert free queue' buffer
for worker thread
Change-Id: I609c5a1e2d59e5340b5f27e1c61e6147e8189bd6
deasung.kim [Fri, 29 Jul 2016 06:56:30 +0000 (15:56 +0900)]
tpl_wayland_vk_wsi: [sync] wait driver's sync in enqueue (without thread)
wait driver's draw done signal with sync_fd before attach/commit
Change-Id: I8c85231693a4b8c5e646bb5d0ef5eca10c17515c
deasung.kim [Fri, 29 Jul 2016 03:33:06 +0000 (12:33 +0900)]
tpl_wayland_vk_wsi: [sync] move buffer_release after buffer_acquire
move buffer_release after buffer_acquire for vulkan's acquireNextImage spec.
and insert wl_display_dispatch in enqueue_buffer's last line.
if not call wl_display_dispatch it occur broken pipe.
see code's comments.
Change-Id: If2d1e52404c1e9425a0196392b99eba8f28b6d60
deasung.kim [Thu, 28 Jul 2016 07:31:45 +0000 (16:31 +0900)]
tpl_wayland_vk_wsi: [sync] implement make sync timeline and send
create timeline when buffer created
and transfer to server and server increase timeline value
create fence when buffer acquired and client wait fence before draw
this patch client side
need server side patch
Change-Id: Ibfb4bb9dbc6bd0c7bb1fb0fbb36c1faeac7a23d7
deasung.kim [Thu, 28 Jul 2016 06:02:56 +0000 (15:02 +0900)]
[sync] added dequeue/enqueue with sync interface
added function
- tpl_surface_dequeue_buffer_with_sync
- tpl_surface_enqueue_buffer_with_damage_and_sync
added parameter in backend function
dequeue_buffer timeout, tbm_sync_fence_h
enqueue_buffer tbm_sync_fence_h
this patch dependent https://review.tizen.org/gerrit/#/c/84089/
Change-Id: I2eb7bf54c43fc75dcb73dc6a12b76eb21659eaca
Mun, Gwan-gyeong [Mon, 22 Aug 2016 14:30:58 +0000 (23:30 +0900)]
tpl_wayland_egl: Add Null check on wayland_egl_buffer and wayland_egl_surface of __tpl_wayland_egl_surface_enqueue_buffer()
Change-Id: Ice0924f4a9a068ad5962d3743538f03ce46cf766
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
joonbum.ko [Mon, 8 Aug 2016 05:01:26 +0000 (14:01 +0900)]
tpl-wayland-egl: Add tracking list of tbm_surface in order to track dequeued buffers.
When tbm_surface_queue was reset, if the dequeued buffer(s) render done,
don't call tbm_surface_enqueue and do wl_surface_commit directly.
Change-Id: I095964f3fbb6c21f4fffc43f2682182f3cedb34a
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 4 Aug 2016 09:28:55 +0000 (18:28 +0900)]
tpl-wayland-egl: Change some contents of the structure tpl_wayland_egl_buffer_t, tpl_wayland_egl_display_t.
tpl_wayland_egl_display_t has handle for 'struct wl_display'.
tpl_wayland_egl_buffer_t has handle for tpl_wayland_display_t instead of tpl_display_t.
Change-Id: I2aa27f55741256b8633808212313a500093ae58c
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 3 Aug 2016 05:35:20 +0000 (14:35 +0900)]
tpl-wayland-egl: Add tracking list of tbm_surface in order to track attached buffers.
If wayland-client dependes on release_cb to free the resources related to buffer,
there are some problem occured in situation when cannot expect. (unexpected process kill)
wayland-client doesn't depend any more on release_cb, it will release the resources
related to buffer when surface was destroyed or reset immediately.
Change-Id: Ic97b37d54226b6b478fc13dd5a2ffe1a518782d3
joonbum.ko [Tue, 19 Jul 2016 01:53:14 +0000 (10:53 +0900)]
Added the exception checking codes about tbm_surface when release_cb called.
Change-Id: Ia5ddf37d3b6a41c99475616dfb62ed3c3883084f
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Mon, 18 Jul 2016 08:29:53 +0000 (17:29 +0900)]
Call wl_display_dispatch_pending() once before client surface is finalized.
Change-Id: I15721d89dc9d8dea14a02aefc36db42a3bad89f2
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Wed, 13 Jul 2016 00:50:43 +0000 (09:50 +0900)]
Added codes about processing for event_queue of wl_tbm_queue.
Change-Id: I687624549548c405a2325e68072991a21b7e6a54
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Boram Park [Fri, 1 Jul 2016 09:37:50 +0000 (18:37 +0900)]
tpl-wayland-egl: change usage of libtdm-cleint api
remove the deprecated name and use the new name of structure and enumeration of
libtdm client. In libtdm library, tdm_client_error and TDM_CLIENT_ERROR_xxx prefix
changed to tdm_error and TDM_ERROR_xxx.
Change-Id: I2ccdc493f9cb26cb49914d5de59137b1c19331f3
joonbum.ko [Thu, 23 Jun 2016 07:04:38 +0000 (16:04 +0900)]
Deleted unnecessary code.
- It is not useful any more but if it exist continuously, this exception code can cause some problem.
Change-Id: Ib56805fee97cc99e8f25338c08fabb93e04db180
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 23 Jun 2016 06:56:20 +0000 (15:56 +0900)]
Prevent the case that cannot receive the release event.
- While doing the wl_buffer proxy set with the private queue, process the event in the default queue once more.
Change-Id: Ifa02c80c7cee05416db3fb7da1e66e54c087f8f6
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
joonbum.ko [Thu, 16 Jun 2016 07:01:15 +0000 (16:01 +0900)]
Add fd polling for receive the vsync event.
- The logic which wl_client check the vsync events in order to perform only one commit
for one vsync was added.
- If TPL_WAIT_VBLANK env value set to 0, this login will be disabled.
Change-Id: I559f709e2272c3904d9690c68f53ce800d60d97a
joonbum.ko [Fri, 10 Jun 2016 08:43:55 +0000 (17:43 +0900)]
Reorganize TPL log system.
- Logs will be printed out using fprintf.
- ENABLE_DLOG flag set to 1 all logs will be printed out using dlog.
- TPL_LOG_LEVEL
1: Only frontend API logs.
2: Frontend API logs + Backend detail logs.
3: Frontend + Backend + Debug logs.
4: Only Debug logs.
Change-Id: Iceacc4163b225c1b0595b2c02dc119f85cee59b3
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Sangjin Lee [Fri, 10 Jun 2016 11:13:02 +0000 (20:13 +0900)]
tpl-wayland-egl: remove a wl_queue
The wayland-egl backend just event dispatch in main-thread.
So it is sufficient to use just default display event queue.
But in dequeue function, create other event queue for wait to
buffer-release event.
Change-Id: I66edc877cfef6ab91598e8b3c5042ba00d871447
Mun, Gwan-gyeong [Mon, 2 May 2016 00:38:11 +0000 (09:38 +0900)]
Add Null check on wl_surface of wl_egl_create_window().
Change-Id: Id52668525b55aa176b17874a7b85c9ad351c3ae0
joonbum.ko [Wed, 18 May 2016 04:44:31 +0000 (13:44 +0900)]
Initialize reset flag after tbm_surface_queue_dequeue.
Change-Id: I657b1f52603d49821820ecd3802c245e7566ab8c
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
Mun, Gwan-gyeong [Thu, 12 May 2016 11:11:54 +0000 (20:11 +0900)]
Change indent : 8 tab size -> 4 tab size
Change-Id: Ic33e79873e5d15947c36675f13ce436f3ba06fc6
Sangjin Lee [Thu, 28 Apr 2016 05:42:27 +0000 (14:42 +0900)]
Support frontbuffer mode
Change-Id: Ie40e463ceaa83c34ea6e12fd76b660275f11c951
joonbum.ko [Wed, 4 May 2016 10:10:09 +0000 (19:10 +0900)]
Add routine for validation checking about tbm_surface before using tbm_surface_internal API.
Change-Id: I430e3699b0a8737659961a9ea66d03afa150938e
joonbum.ko [Tue, 3 May 2016 00:37:53 +0000 (09:37 +0900)]
Organize ttrace log.
- The flag in the .spec file, ENABLE_TTRACE default value is Zero(disable).
- If you want to use this feature, change the value of ENABLE_TTRACE zero to one(enable).
Change-Id: If03bb923700fb5a3d1e3c889e2de4138af8a7d6e
Mun, Gwan-gyeong [Mon, 9 May 2016 12:55:56 +0000 (21:55 +0900)]
Add Null Check before pointer dereference on tbm backend.
Change-Id: I4028c9d2f3e3906a69e6045dbbb6be8559515268
Mun, Gwan-gyeong [Fri, 29 Apr 2016 14:47:17 +0000 (23:47 +0900)]
Add missing requires on libwayland-egl-devel
: add requires of libwayland-egl to libwayland-egl-devel
Change-Id: I38a215d1097e2ae4e4e01310624673b007f6b85e
Mun, Gwan-gyeong [Wed, 27 Apr 2016 07:44:20 +0000 (16:44 +0900)]
Add build enable architecture on emulator: x86, x86_64
Change-Id: I0a5816e5857237ff2c161510c1644488e48c956e
Gwan-gyeong Mun [Tue, 26 Apr 2016 12:16:33 +0000 (05:16 -0700)]
Merge "tbm: check need_dpy_deinit" into tizen
Sangjin Lee [Tue, 26 Apr 2016 11:54:50 +0000 (20:54 +0900)]
tbm: check need_dpy_deinit
Change-Id: Ib13fe70e133e2f63f4a520acda4f068dc34d33d4
Mun, Gwan-gyeong [Thu, 21 Apr 2016 11:14:18 +0000 (20:14 +0900)]
Move tpl_surface's query_supported_buffer_count feature to tpl_display.
Change-Id: I2bab1fbd738a7c5c016dc3e1c79d4ec3fe438524
joonbum.ko [Tue, 19 Apr 2016 08:09:48 +0000 (17:09 +0900)]
Delete repeated wrong code.
Change-Id: I3cf3cfd3b84b65fe8fb62d95c000102c8341745a
joonbum.ko [Tue, 19 Apr 2016 06:26:28 +0000 (15:26 +0900)]
tbm_surface_internal_unref has to called before get_user_data.
- When client received release_cb from server, if client surface already destroyed
released tbm_surface should be destroyed before checking its own user_data.
Change-Id: I5ed2c880182e1f64c6e2b70bdcfe9b6722b204d0
Mun, Gwan-gyeong [Tue, 19 Apr 2016 02:22:42 +0000 (11:22 +0900)]
Change file mode bits.
: remove execute bit on source file.
Change-Id: I1d553aa0ed6446dc84a7db951d64f28c9b23dfe9
joonbum.ko [Mon, 18 Apr 2016 06:59:25 +0000 (15:59 +0900)]
Set user_data to tbm_surface not tbm_bo
Change-Id: Ibc478c60764662e3bb6ba0493e5dfbc089e7ae0f
Mun, Gwan-gyeong [Fri, 15 Apr 2016 10:29:10 +0000 (19:29 +0900)]
Fix "tpl_surface_get_swapchain_buffers() returns only one buffer" problem
Change-Id: I74aadeecdabc2b1fe13927e5b2812dc1c3efd968
Gwan-gyeong Mun [Fri, 15 Apr 2016 08:14:50 +0000 (01:14 -0700)]
Merge "Add internal function for wl_surface_commit." into tizen
Gwan-gyeong Mun [Fri, 15 Apr 2016 08:06:23 +0000 (01:06 -0700)]
Revert "Add Null check on wl_surface of wl_egl_create_window()."
This reverts commit
0dedb2b4e15dfa862fa142f0335d7deeafd87676.
Change-Id: Ib1073db0da011f2845d0a1583e0a118e1392e9b1
joonbum.ko [Fri, 15 Apr 2016 05:37:38 +0000 (14:37 +0900)]
Add internal function for wl_surface_commit.
- Do wl_surface_commit forcibly although failed to tbm_surface_queue_enqueue.
- Only when getting ERR_NONE in tbm_surface_queue_enqueue, do unref the tbm_surface to prevent destruction.
Change-Id: I4ea4cc531903c63e138d9850be03a010d82dd330
SooChan Lim [Mon, 11 Apr 2016 02:42:54 +0000 (11:42 +0900)]
set the wl_tbm_queue proxy to the wl_queue
The gl application which does not have an event loop cannot
get the event from wl_tbm_queue interface.
The tpl wayland checks the event of the wl_tbm_queue interface.
Change-Id: I0f6d828c47a1d19c862a5f654d192db299c0f954
Mun, Gwan-gyeong [Tue, 5 Apr 2016 08:55:17 +0000 (17:55 +0900)]
Add Null check on wl_surface of wl_egl_create_window().
Change-Id: Id0ece99fd81410bbcd8e05ec2c0ba3c0a9ddc02c
Mun, Gwan-gyeong [Fri, 1 Apr 2016 12:05:47 +0000 (21:05 +0900)]
Support wayland vulkan wsi backend / frontend
Change-Id: I0ba8249947b470c20d467e536b55ca0ad1d30f17
joonbum.ko [Wed, 30 Mar 2016 08:17:18 +0000 (17:17 +0900)]
Call wl_display_dispatch_queue_pending before checking dequeuable.
- Before the dequeuable checking, call the function wl_display_dispatch_queue_pending() in order to process the accumulated events(release) received from server.
Change-Id: I92abae0ae6fdda80367c2193d0926b5c1637d24e
Sangjin Lee [Tue, 15 Mar 2016 02:04:21 +0000 (11:04 +0900)]
wayland: Change for scanout-queue
For support fixed-scanout buffer target.
wayland-tbm expand protocol.
(commit
9979f19d9639652b61ca9903c2961b7059deabc2)
Change-Id: Id7938309f1c917a425a32203792b1cf83ca5eeae
Mun, Gwan-gyeong [Thu, 17 Mar 2016 10:42:12 +0000 (19:42 +0900)]
Change the function of describing error number: strerror to strerror_r
because strerror_r is thread safe.
Change-Id: I37b59e15c63f5af7a29d1dcff0850beb8d60358e
Mun, Gwan-gyeong [Thu, 17 Mar 2016 02:43:58 +0000 (11:43 +0900)]
Remove unused internal APIs
- __tpl_display_flush()
- __tpl_runtime_flush_all_display
Change-Id: I1260b65452feaeb3b48d06790d8dbb08b185350a
Sangjin Lee [Mon, 14 Mar 2016 10:12:14 +0000 (19:12 +0900)]
Change deprecated API
tbm_surface_queue_set_destroy_cb() is depercated.
So use tbm_surface_queue_add_destroy_cb().
Change-Id: Idb602e2a1b7dffe31b8d720a3fbc21c2c7d51646
Mun, Gwan-gyeong [Tue, 8 Mar 2016 05:05:57 +0000 (14:05 +0900)]
Remove potential defect: It doest not need to call __tpl_hashlist_delete() when the __tpl_hashlist_insert() fails on __tpl_rintime_add_display().
Change-Id: Icfa9e0d05a0a906bc2cee33573b6aa06b8b536be
Mun, Gwan-gyeong [Sun, 13 Mar 2016 08:59:18 +0000 (17:59 +0900)]
Change timing of buffer reset on egl_window resize case.
Change-Id: Ie7112fa1b7d4ff857439b7b8f5bcb5d981eb004f
Mun, Gwan-gyeong [Sun, 13 Mar 2016 08:58:27 +0000 (17:58 +0900)]
Fix compile warning: suggest parentheses around assignment used as truth value
Change-Id: I7f076dfa978f8db5add7e5cdcd9f1bc7d25007d6
Mun, Gwan-gyeong [Mon, 29 Feb 2016 09:12:20 +0000 (18:12 +0900)]
Add get_buffer_from_native_pixmap, get_pixmap_info for supporting of eglCreateImageKHR() EGL_WAYLAND_BUFFER_WL target on wayland backend
Change-Id: I30a95056d2045c643b02b060f12a6875bc0f056c
joonbum.ko [Fri, 11 Mar 2016 05:39:48 +0000 (14:39 +0900)]
Modify spec file for installing license files.
Change-Id: I37072c36733b622bf39aab09a14e4e7cb8d1297d
Mun, Gwan-gyeong [Mon, 7 Mar 2016 11:17:57 +0000 (20:17 +0900)]
Fix No unlock for mutex 'runtime_mutex' case.
Change-Id: Ib5935d5ab3f4bdafd89acbaca628e4e1884a0b57
Mun, Gwan-gyeong [Mon, 7 Mar 2016 11:04:56 +0000 (20:04 +0900)]
Fix free after use.
Change-Id: I336fff939247d4b3da8b921e0846360d1f983191
Mun, Gwan-gyeong [Mon, 7 Mar 2016 10:55:39 +0000 (19:55 +0900)]
Add enqueue buffer dump on gbm backend
Change-Id: Ib5b998d7d9f66fa9f9ea809568acd5ca87bf9262
Mun, Gwan-gyeong [Mon, 7 Mar 2016 10:45:35 +0000 (19:45 +0900)]
Fix unreachable state.
- fwrite() only retrurns a short item count (or zero). so program does not reach under zero state.
Change-Id: Ibed62e2933f88dcbaccc74a15d18253ea9681c77
Mun, Gwan-gyeong [Fri, 19 Feb 2016 05:37:35 +0000 (14:37 +0900)]
Apply coding style
Change-Id: I5c3d76f1ba6fcabb98d3d472a9985eb7887ba86a
Mun, Gwan-gyeong [Thu, 18 Feb 2016 02:41:32 +0000 (11:41 +0900)]
Increment version to 1.0.0
Add coding style guide.
Change-Id: I30511764157000b01db040e8b35ba4a85aea0a7b
Mun, Gwan-gyeong [Wed, 17 Feb 2016 17:25:48 +0000 (02:25 +0900)]
Fix indent, typo, build warnning
Change-Id: I0430791e127f5d3035cc2b57550b66022eff100b
joonbum.ko [Wed, 17 Feb 2016 04:36:49 +0000 (13:36 +0900)]
Add enumeration for tpl result type.
- Enum
TPL_ERROR_NONE : Successful
TPL_ERROR_INVALID_PARAMETER : Error, Invalid parameter
TPL_ERROR_INVALID_OPERATION : Error, Invalid operation
Change-Id: Idc7d9112ccb146b83aa7f96a0a49e3736f0957cf
joonbum.ko [Tue, 16 Feb 2016 09:51:18 +0000 (18:51 +0900)]
Add API tpl_surface_enqueue_buffer_with_damage.
- Deleted usages of tpl_region_t and file because the need that
tpl_surface_t has tpl_region_t(damage info) disappeared.
Change-Id: I076352c21042007ebf166f80229658c963cafa30