Konstantin Drabeniuk [Fri, 15 Sep 2017 14:41:44 +0000 (17:41 +0300)]
Merge branch 'tizen' into sandbox/srk/hwc
Change-Id: I1516546b16a40946b3c5c30cf3774f4cdf6023be
Boram Park [Wed, 13 Sep 2017 03:41:19 +0000 (12:41 +0900)]
backend: add dummy backend.
Change-Id: I5829d55e3f14d531c55adab3fde9bcaf145464cd
Boram Park [Wed, 13 Sep 2017 07:12:54 +0000 (16:12 +0900)]
load a dummy module if failed to load a default module
Change-Id: I29efec59122b4e6b4a9666b901edf214fd09221b
Roman Marchenko [Fri, 1 Sep 2017 08:34:46 +0000 (11:34 +0300)]
HWC: unlock mutex before return
Change-Id: I1f1cdf0b9b054bb7d0def96e97ff33aa2fc097a7
Signed-off-by: Roman Marchenko <r.marchenko@samsung.com>
Boram Park [Fri, 8 Sep 2017 07:43:44 +0000 (16:43 +0900)]
package vesion up to 1.7.8
Change-Id: Iaeeff325761e15d591326dbf73ce63be53bedb9f
Boram Park [Fri, 8 Sep 2017 06:24:28 +0000 (15:24 +0900)]
add debugging logs
Change-Id: I3aae4e23b3d6b24f8638ea58673a63e844acb5fa
Boram Park [Fri, 8 Sep 2017 05:35:40 +0000 (14:35 +0900)]
use SW timer when output disconnected
If enable_fake == 1, use SW timer when output disconnected as well as DPMS off.
Change-Id: I9e528b6eb6749d099c6b8f7ff765ce46a7728f5a
Konstantin Drabeniuk [Fri, 8 Sep 2017 06:51:42 +0000 (09:51 +0300)]
hwc_window: add flags
Change-Id: I51e3cb8ac46189a66ced6783a2335ed29999123f
Signed-off-by: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
Boram Park [Fri, 8 Sep 2017 02:58:28 +0000 (11:58 +0900)]
add error information to protocol
Change-Id: Ieba9ce9235eb815528228b6b656d12531af7e746
Boram Park [Fri, 8 Sep 2017 02:57:25 +0000 (11:57 +0900)]
add error type for output disconnection
Change-Id: I7450a453217d138cb73e8be289e72682a13bf768
Boram Park [Fri, 8 Sep 2017 02:07:43 +0000 (11:07 +0900)]
add get_dpms, get_connection, get_mode request
If a client adds the change_handler, we might be able to guess that
the client will watch the tdm client's fd and handle tdm events in
event loop. Otherwise, we CAN'T make sure if a client has event loop
which handles tdm events.
Change-Id: I49685d7eb3b88cda59b167f5ae66a7e9501a2315
Konstantin Drabeniuk [Wed, 6 Sep 2017 11:20:39 +0000 (14:20 +0300)]
hwc_window: add the buffer dump
Change-Id: I3cc26e6e02af28a0e620527a99c128c0729ae7f5
Signed-off-by: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
Boram Park [Thu, 31 Aug 2017 05:31:56 +0000 (14:31 +0900)]
tdm-monitor: fix big message issue
Wayland has the 4096 message size restriction. So if tdm debug message
is bigger than that, the message will be devided.
Change-Id: I3ba57801bb149c489577ad1adff2c8befc69e69f
Boram Park [Tue, 22 Aug 2017 06:14:06 +0000 (15:14 +0900)]
package version up to 1.7.7
Change-Id: I523415f93746816f933806d07f6c1d2f03088895
Boram Park [Tue, 22 Aug 2017 04:25:48 +0000 (13:25 +0900)]
dump layer when calling tdm_layer_set_buffer
To dump all buffers of a layer, set_buffer function is much better than
layer_committed function.
Change-Id: I51c3daf926490a23764067e4a75fa6a12cab5f18
Boram Park [Tue, 22 Aug 2017 04:24:19 +0000 (13:24 +0900)]
add tdm_helper_clear_buffer_color function
Change-Id: I033f2212eb057b9896cb5d37e0d6eacb059994a5
Boram Park [Tue, 22 Aug 2017 04:23:35 +0000 (13:23 +0900)]
correct wrong description
Change-Id: I2b5110d70a8ae81ac805d557c0b6715256947cbc
Boram Park [Sat, 19 Aug 2017 07:41:33 +0000 (16:41 +0900)]
layer: dump layer buffers when showing
Change-Id: I157ff0b26fdbbb71cea08d5c65a99691dffbbae2
Boram Park [Wed, 16 Aug 2017 05:23:43 +0000 (14:23 +0900)]
package version up to 1.7.6
Change-Id: I8598c7f16df9c651f79f53aabf6bc7009e691b21
Boram Park [Wed, 16 Aug 2017 05:23:05 +0000 (14:23 +0900)]
client: change log level
Change-Id: I7e3cdf1e0104cc556da6b0407d1dc403c36f75e5
Boram Park [Wed, 16 Aug 2017 05:06:44 +0000 (14:06 +0900)]
vblank: correct the client request time
The client request time SHOULD be bigger than the last vblank time. To make
sure it, we forcely set the last vblank time to the client request time when
the req_time is smaller than the last_time.
Change-Id: Ib1dbec907fa04693d6df05b8260e300f6032563e
Boram Park [Wed, 16 Aug 2017 05:04:00 +0000 (14:04 +0900)]
client: enhance vblank logs
Change-Id: I6b12bc6aa56a1d4cdd2c319d7172dc46945fbd20
Boram Park [Mon, 7 Aug 2017 10:30:08 +0000 (19:30 +0900)]
package version up to 1.7.5
Change-Id: Id40ac9c7d9193125051433a0603f0abbf3a01871
SooChan Lim [Mon, 7 Aug 2017 06:27:41 +0000 (15:27 +0900)]
adapt ASLR for tdm-monitor and tools
Change-Id: I14544a6fa5f4a9d4ded753ec12f031a7e09309ef
Boram Park [Mon, 7 Aug 2017 07:57:16 +0000 (16:57 +0900)]
remove buffers from commit_buffer_list when commit failed.
When pp, commit is the sync operation, cb_done() will be called at the line of
commit(). In this case, buffers will be freed in cb_done() before
LIST_FOR_EACH_ENTRY_SAFE(b, bb, &commit_buffer_list, commit_link) line done.
So commit_link should be deleted when freed.
When commit() successed, commit_link will be deleted twice. So we need to use
LIST_DELINIT instead of LIST_DEL
Change-Id: I6a09878e1eae49d31eb3f3626e005a3ae10841d8
Boram Park [Mon, 7 Aug 2017 07:53:34 +0000 (16:53 +0900)]
fix memory leak
Change-Id: I3e259c314d069bc76884b96dba2b08d975060716
SooChan Lim [Fri, 28 Jul 2017 01:59:31 +0000 (10:59 +0900)]
package version up to 1.7.4
Change-Id: I30ad6821660e110bf9b51dc80352a6e3092cfb98
Boram Park [Tue, 25 Jul 2017 10:05:18 +0000 (19:05 +0900)]
deinit the event loop after all resources are destroyed.
The event loop should be deinited after all event sources are removed. The
event sources can be removed in _tdm_display_destroy_private_display and
_tdm_display_unload_module function. So we make the tdm thread join to the
main thread and remove all resources. And finally we deinit the event loop.
Change-Id: I32f3b5429b40b0711ef50215d05e0eda1c8b1814
Boram Park [Tue, 25 Jul 2017 09:58:56 +0000 (18:58 +0900)]
correct the wrong condition
Change-Id: Ie7a60db49527b1f1e71067d10eda4327d0492603
Boram Park [Mon, 24 Jul 2017 08:37:43 +0000 (17:37 +0900)]
package version up to 1.7.3
Change-Id: I16d73e08975905546d71fe413e8395de75eba99d
Changyeon Lee [Mon, 24 Jul 2017 07:30:30 +0000 (16:30 +0900)]
layer: check always commit handler list when checking commit possible
Change-Id: I3a121f7a90e3ff68a473f473fbc6b4c864a0d859
Signed-off-by: Boram Park <boram1288.park@samsung.com>
Boram Park [Mon, 24 Jul 2017 00:34:15 +0000 (09:34 +0900)]
package version up to 1.7.2
Change-Id: I1131954ba752ae4d6d2fc9e5bb79483e99015e63
Sangjin Lee [Fri, 21 Jul 2017 04:44:23 +0000 (13:44 +0900)]
dump: add function to check whether file is link or not
According to security code guide, before open the file for write it
should be check the file is symbolic link.
Change-Id: I11e5be6898640995669c470cec703aef93869bfd
Boram Park [Fri, 21 Jul 2017 07:09:57 +0000 (16:09 +0900)]
lock/unlock outside of the helper function
Change-Id: I58ffefedb39143391a62a3f9526dea09256f647b
Boram Park [Wed, 19 Jul 2017 06:10:06 +0000 (15:10 +0900)]
lock/unlock when calling a tdm_output internal function
Change-Id: I0b3e4023f79309fd276142a9706e6ade564e001c
Boram Park [Wed, 19 Jul 2017 05:36:16 +0000 (14:36 +0900)]
package version up to 1.7.1
Change-Id: Ie7163eaa657b052afe4be96e7e46ad02b54fb295
Boram Park [Wed, 19 Jul 2017 05:06:34 +0000 (14:06 +0900)]
fix invariant result
Change-Id: Iecb805dfda52036b6bf9a37bb9af994dbe2979d8
Boram Park [Wed, 19 Jul 2017 03:23:44 +0000 (12:23 +0900)]
add tdm_output_set_dpms_async
Change-Id: I9775ea2e5e78e8a4b11ec85b2b7481b670959b13
Boram Park [Thu, 6 Jul 2017 02:42:23 +0000 (11:42 +0900)]
increase version to 1.7.0
Change-Id: I69d8bc1d44f992e66a097e6aae7569e13e6df194
Sangjin Lee [Tue, 11 Jul 2017 04:34:58 +0000 (13:34 +0900)]
log: use public wayland api
remove useless code for protocol log.
Change-Id: Ide45ca176c8998f604f8f55664271a1c89d5208b
Roman Marchenko [Fri, 26 May 2017 09:54:14 +0000 (12:54 +0300)]
HWC: first draft
Change-Id: I1a43cedfbff4c75ff77f167428787ccdbee6a8e8
Signed-off-by: Roman Marchenko <r.marchenko@samsung.com>
Boram Park [Wed, 5 Jul 2017 01:35:32 +0000 (10:35 +0900)]
package version up to 1.7.0
Change-Id: I16fa39bb01c3547de50988e47794546578d6331c
Boram Park [Tue, 4 Jul 2017 01:08:12 +0000 (10:08 +0900)]
support tdm_value type
Change-Id: I88a97af9c00566cb6d21ce8062fb4d73eb678751
Boram Park [Tue, 13 Jun 2017 06:43:42 +0000 (15:43 +0900)]
package version up to 1.6.21
Change-Id: Ia2a26859bdbe445abc36a72c6c6b7a6b04e5e963
Boram Park [Sat, 10 Jun 2017 23:25:27 +0000 (08:25 +0900)]
helper: consider the real buffer size
Change-Id: I6950f430aa2581c93709c80200f7b60600b56af4
Boram Park [Sat, 10 Jun 2017 23:24:07 +0000 (08:24 +0900)]
helper: add tdm_helper_get_buffer_full_size() to get the real buffer size
Change-Id: Ie27d3b52ab57171b25628e8a85fc509d1e643e21
Boram Park [Tue, 30 May 2017 05:37:17 +0000 (14:37 +0900)]
package version up to 1.6.20
Change-Id: I6aa36f184b3d4e23c9388af1fc89e1d0ea24c11b
Boram Park [Tue, 30 May 2017 04:57:18 +0000 (13:57 +0900)]
server: ignore chown & chmod errors
Change-Id: I0a923486ca44f8b2b0232bfe4d728a39a66d6df0
Boram Park [Fri, 26 May 2017 04:32:45 +0000 (13:32 +0900)]
package version up to 1.6.19
Change-Id: Ide4d9c9d0deeb0cf0e034497d40824ac8ebd4f8e
Boram Park [Fri, 26 May 2017 04:08:34 +0000 (13:08 +0900)]
server: skip chown if not a super user
If tdm_display_init is called by non super user, we don't need to
change the owner and group of a tdm socket file. And also changing
the owner of the tdm socket file which is created by non super user
is not allowed. So we just skip chown in this case.
Change-Id: Ib119becc4b9048f0fcc79c52089cfe04907cac60
Boram Park [Mon, 22 May 2017 15:23:07 +0000 (00:23 +0900)]
package version up to 1.6.18
Change-Id: I6fc719c0eee8e70d6bf482251490697d6d355492
Changyeon Lee [Mon, 22 May 2017 13:23:05 +0000 (22:23 +0900)]
server: set permission and group to tdm-socket when it is added
Change-Id: I9052f391202781a9ac34c2fce7efacdd75e83761
Boram Park [Thu, 11 May 2017 00:12:51 +0000 (09:12 +0900)]
package version up to 1.6.17
Change-Id: I302bba1a0087af5ba28a90b8cca52e99d70c174b
Boram Park [Thu, 27 Apr 2017 04:39:10 +0000 (13:39 +0900)]
vblank: support global fps
Change-Id: Iec9c621fc270336a0d95c4a2f90b583704f9cc46
Boram Park [Tue, 2 May 2017 05:25:12 +0000 (14:25 +0900)]
vblank: correct target time
We should consider the vblank interval to calculate the target time.
Change-Id: I7f78631d644ce5dce0e2dfb2c8d8bcefbab45205
Boram Park [Tue, 2 May 2017 04:47:32 +0000 (13:47 +0900)]
monitor: add trace option to debug server-client protocol
Change-Id: Id27af997282b51db1541e2d7e59e521d95097d66
Boram Park [Tue, 2 May 2017 02:35:53 +0000 (11:35 +0900)]
vblank: use tdm_server_get_client_name
Change-Id: I4f47cca1d1f4fa268ab330fd947cd91e5c9458b8
Boram Park [Tue, 2 May 2017 02:33:43 +0000 (11:33 +0900)]
server: trace client information
Change-Id: I3e9ae2599119240628ff276aeebdd7cb34ff1341
SooChan Lim [Fri, 28 Apr 2017 00:26:57 +0000 (09:26 +0900)]
package version up to 1.6.16
Change-Id: I8f48e66666d0e2e664facf5a179b327c21683d7b
Junkyeong Kim [Mon, 17 Apr 2017 08:43:42 +0000 (17:43 +0900)]
change sscanf to strtol for getting fd
Change-Id: I7fed3efbd3fc9a9273a670b3b967707453471be2
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
Boram Park [Fri, 14 Apr 2017 03:23:26 +0000 (12:23 +0900)]
package version up to 1.6.15
Change-Id: Ied1c6d1fb9b1a09b2e495c7ee39366d7b3fd675b
Boram Park [Fri, 14 Apr 2017 02:46:50 +0000 (11:46 +0900)]
tdm: don't send output changes if client doesn't watch them
Change-Id: I0c77afab20462f01cc8d2676e868d48b32978878
Boram Park [Fri, 7 Apr 2017 07:51:59 +0000 (16:51 +0900)]
package version up to 1.6.14
Change-Id: Ic05b0a42b8ec8f5856afeaba3d74e05525f3e62d
Boram Park [Fri, 7 Apr 2017 07:51:19 +0000 (16:51 +0900)]
log: enable dlog by default to debug client error
Change-Id: Id3c2a1b7fc7089efb6d62fdb1832fcd48fd4f688
Boram Park [Fri, 7 Apr 2017 07:51:02 +0000 (16:51 +0900)]
client: allow set-fps during vblank running
Change-Id: I8139d220d7938b5b5001e68c066c066cf2e49f61
Boram Park [Thu, 23 Mar 2017 10:15:17 +0000 (19:15 +0900)]
package version up to 1.6.13
Change-Id: I622f6d65a5d106d7f8ac86e6f92eb8441d8f8d55
Boram Park [Thu, 23 Mar 2017 09:18:50 +0000 (18:18 +0900)]
log: add debugging logs for dump
Change-Id: If8d84e12c2ece5cd46379d97c42f45ffaa80cc36
Boram Park [Thu, 23 Mar 2017 07:59:32 +0000 (16:59 +0900)]
test: remove sig handler to avoid deadlock
Change-Id: I4db7accacebca43bca85751d18918a94dfb43d94
Boram Park [Thu, 23 Mar 2017 06:51:33 +0000 (15:51 +0900)]
event_loop: set the user func and data before calling wayland API.
The user func can be called at the line of wl api by the backend implementation
Change-Id: Idfc19afa17f584531ef37834c592f59f803d2823
SooChan Lim [Wed, 22 Mar 2017 07:13:05 +0000 (16:13 +0900)]
use %license macro to copy the COPYING file.
Change-Id: I66b44ad1d92bf2db69cd7215ae16d5eca309e46e
Boram Park [Thu, 9 Mar 2017 04:17:11 +0000 (13:17 +0900)]
package version up to 1.6.12
to upload patch to server again
Change-Id: I62aceb2224fa19e41849123d6ede17c0f4726f42
Boram Park [Thu, 9 Mar 2017 03:58:58 +0000 (12:58 +0900)]
package version up to 1.6.11
Change-Id: I33a8efdb08ce79a280fc52476b3b7999f52c188c
Boram Park [Thu, 9 Mar 2017 03:58:11 +0000 (12:58 +0900)]
output: don't refresh current_dpms_value in case of commit-per-vblank disabled
Change-Id: I76bef3fa002e1112faa3a1ad17a23d2dc5ea624e
Boram Park [Wed, 8 Mar 2017 08:48:37 +0000 (17:48 +0900)]
output: don't call output_get_dpms in case of commit-per-vblank disabled
Change-Id: I3e1b57d58b6a71586a247b7611dd592baa2ad73e
Boram Park [Wed, 8 Mar 2017 01:05:40 +0000 (10:05 +0900)]
layer: init local variable
Change-Id: I73bb6e3f2ae443b4d571395e13b5eae39d2d9c94
Boram Park [Tue, 7 Mar 2017 10:57:11 +0000 (19:57 +0900)]
package version up to 1.6.10
Change-Id: I3e0e98825a48f5ab2ac9d1ee1330e64beb3b3b56
Boram Park [Tue, 7 Mar 2017 09:43:18 +0000 (18:43 +0900)]
layer: support to remove the commit handler
Change-Id: I732e0ffbe44b47d195fcec3ecbff3b2221e6de09
Boram Park [Tue, 7 Mar 2017 09:42:31 +0000 (18:42 +0900)]
layer: remove the commit handler when all resource are freed
Change-Id: I0f8afee8189a806cf4014faace4c09cdde8d51f1
Boram Park [Tue, 7 Mar 2017 08:49:33 +0000 (17:49 +0900)]
package version up to 1.6.9
Change-Id: Ic0b49e444558d4fb643a765af7ddc1bc274c4b80
Boram Park [Tue, 7 Mar 2017 08:36:43 +0000 (17:36 +0900)]
vblank: remove the vblank handler when wait_info freed
If not removed, it makes the crash when the vblank handler is called
for the freed wait_info.
Change-Id: I07b168da39d1ff9f4e5effe69b99dd249d976027
Boram Park [Tue, 7 Mar 2017 07:56:25 +0000 (16:56 +0900)]
output: support to remove the commit & vblank handler
Change-Id: I36a569d4e6fdc018fb188444c3ca10f082c4c672
Boram Park [Sat, 4 Mar 2017 14:11:09 +0000 (23:11 +0900)]
log: enhance debugging log for DPMS change
Change-Id: I77ad1ebcc5b9f2b6434970446d429cdd26640fe5
Boram Park [Sat, 4 Mar 2017 14:09:47 +0000 (23:09 +0900)]
layer: call the layer commit handlers once tdm_layer_commit returns success
Once _tdm_layer_commit returns success, the layer commit handler MUST be called always.
That is, even if we get error in _tdm_layer_got_output_vblank() function for some reasons,
the layer commit handler MUST be called.
Change-Id: Ia251061c965a9dec89ed655266bb23667a097e5e
Boram Park [Sat, 4 Mar 2017 14:07:12 +0000 (23:07 +0900)]
output: use tdm_output_get_dpms_internal to get the DPMS value.
To make sure that the backend's output_get_dpms is called inside of a function
because it can change the current_dpms_value variable.
Change-Id: I207213776aa90033c2e03068ef86ff7d1986ce31
Boram Park [Fri, 3 Mar 2017 10:54:54 +0000 (19:54 +0900)]
package version up to 1.6.8
Change-Id: I98d1bba2549bb099b4bc220d392df3cf920f3d5b
Boram Park [Fri, 3 Mar 2017 10:50:46 +0000 (19:50 +0900)]
log: enhance debug log
Change-Id: Idf32a49c6fb5380f0b01837d91fc28f196839bfc
Boram Park [Fri, 3 Mar 2017 08:20:36 +0000 (17:20 +0900)]
output: call the output commit handler immediately when dpms off
Change-Id: I33264947381669d3104c37c99f41b88b961b4c3f
Junkyeong Kim [Tue, 21 Feb 2017 05:08:09 +0000 (14:08 +0900)]
set null init for tdm_private_vblank *v
Change-Id: Iac60a6f0330a28b7bc82248748967bdc8f5e9441
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
Boram Park [Wed, 15 Feb 2017 12:45:38 +0000 (21:45 +0900)]
package version up to 1.6.7
Change-Id: Iee6a3cb8506ac95b5d94eaadef9cfe6cba6f847c
Boram Park [Wed, 15 Feb 2017 12:09:46 +0000 (21:09 +0900)]
vblank: move the set-client-vblank-fps function to server function
Change-Id: Iaca45f4daa29c1d070f976f011633a10f2e3483d
Boram Park [Wed, 15 Feb 2017 07:29:05 +0000 (16:29 +0900)]
mutex: don't use the tdm macros for gLock variable.
When _pthread_mutex_unlock macro, tdm_mutex_locked becomes 0. Then, TDM_MUTEX_IS_LOCKED
return 0 even though display->lock is locked. TDM_MUTEX_IS_LOCKED actually is for
display->lock.
Change-Id: Idd4f638b84c0d244de61404e08ee4dfcf81921a2
Boram Park [Wed, 15 Feb 2017 07:26:24 +0000 (16:26 +0900)]
debug: enhance debug information for mutex lock/unlock
Change-Id: I0ec99252d2a71d5f770fe3ecb8ce803df74c1c75
Boram Park [Fri, 10 Feb 2017 05:43:05 +0000 (14:43 +0900)]
package version up to 1.6.6
Change-Id: If839d522bcc6a67723cc2eafd5941634d8bfda9c
Boram Park [Fri, 10 Feb 2017 05:32:35 +0000 (14:32 +0900)]
display: separate output & layer part from display
tdm_display.c had more than 2000 lines. To increase readability, separate
output & layer part from display
Change-Id: I06493e50fbd931a006bef0cf402f02fb7f3d4a0e
Boram Park [Fri, 10 Feb 2017 00:09:35 +0000 (09:09 +0900)]
buffer: correct the buffer management
Change-Id: Ica59998a4739b95727e0cf19bad8a5387c795d3a
Boram Park [Thu, 9 Feb 2017 11:25:38 +0000 (20:25 +0900)]
buffer: use tdm_private_layer_buffer structure for layer buffers
Change-Id: I45b5e8842328da77e9fd78bce811d018f3229431
Boram Park [Thu, 9 Feb 2017 05:19:50 +0000 (14:19 +0900)]
display: correct fps count
Change-Id: I0cbe1789db617f4c8ffc81735b33628048f2d6a7
Boram Park [Wed, 8 Feb 2017 03:39:16 +0000 (12:39 +0900)]
vblank: add set_vblank_fps functionality for the given PID
Change-Id: I28a8b5ca1e585f68817da6f887aed13f188b64f0
Boram Park [Wed, 8 Feb 2017 11:23:06 +0000 (20:23 +0900)]
package version up to 1.6.5
Change-Id: I41c28ddc3a78c58e8914ab86530f0c1f526c63c2
Boram Park [Wed, 8 Feb 2017 10:51:39 +0000 (19:51 +0900)]
commit: fix the double registration for layer vblank handler
Change-Id: I5154539f0b6f0f7656035aff9d54d6178be058e2