platform/upstream/enlightenment.git
3 years agoe_foreign_shell: No longer use embedded client concept 96/258696/4
Seunghun Lee [Thu, 20 May 2021 04:00:53 +0000 (13:00 +0900)]
e_foreign_shell: No longer use embedded client concept

There were some tricky side effects because of the concept of embedded
client which used smart object mechanism for re-stack operation. So,
this patch removes using the concept, instead it gives the
e_foreign_shell responsibility for re-stacking on its own.

This also reverts following patchs which are no longer used:

  commit 8b545ca9e79ef2c06fc383cf9cbc788d4561e1e7.
  Revert "e_comp_object: Set an embedded E_Client as comp_object ..."

  commit fd9f1eb3cc89980295d923894ea5e016a1a360c1.
  Revert "e_client: Introduce a way of embdding a client to ..."

Change-Id: I912e038da129665b5ba6a62fe7c94aa8dce89176

3 years agoe_process: change process' state when visibility is changed 39/258439/3
Doyoun Kang [Tue, 18 May 2021 03:14:13 +0000 (12:14 +0900)]
e_process: change process' state when visibility is changed

When the visibility of window is changed to fully-obscured, e works as below.
If ec->visible flag is false, e calls _e_process_windows_act_no_visible_update.
And if not, e just calls _e_process_freeze.

There was a bug that the window which was under pending-uniconify canceled
uniconify (in other word, its state remained to iconic), e didn't send the
BACKGROUND event to the application process.

Change-Id: Iba70cb70beedfc625bce21162da19bdbe8cbaca2

3 years agoe_comp_wl: Check return value of e_comp_wl_video_init() 94/258594/1
Seunghun Lee [Wed, 12 May 2021 07:16:02 +0000 (16:16 +0900)]
e_comp_wl: Check return value of e_comp_wl_video_init()

It checks return value and leave an error log when it failed.

Change-Id: I0ee2b063862c1a96d84a3e828bc7b5ff27b88785

3 years agoe_comp_wl_video: Make boolean for return value of init() 93/258593/1
Seunghun Lee [Wed, 12 May 2021 07:13:03 +0000 (16:13 +0900)]
e_comp_wl_video: Make boolean for return value of init()

This patch is to improve consistency and readability.
And there is no functional changes.

Change-Id: I55bd4bf3d34f0285bdf8fbdbee6638f0bec29cf3

3 years agoe_comp_wl_video: Remove superfluous assignment 92/258592/1
Seunghun Lee [Wed, 12 May 2021 04:56:13 +0000 (13:56 +0900)]
e_comp_wl_video: Remove superfluous assignment

No need to assign initial value because it checks return value as an
error indicator before using outcome arguments.

Change-Id: I456143346cbc1e1cd7840b5619376635b5168830

3 years agoe_comp_wl_video: Extract methods to improve readability 91/258591/1
Seunghun Lee [Wed, 12 May 2021 04:52:40 +0000 (13:52 +0900)]
e_comp_wl_video: Extract methods to improve readability

No functional changes.

Change-Id: I96092bed1bc90beb52279cfd3c8111586677437a

3 years agoe_comp_wl_video: Remove superfluous check code 90/258590/1
Seunghun Lee [Wed, 12 May 2021 04:34:56 +0000 (13:34 +0900)]
e_comp_wl_video: Remove superfluous check code

The user data of wl_resources must be valid. Otherwise, it should be
failed loudly.

Change-Id: Ie8547e3616d1106ec6c38333a047f953f66ca4a8

3 years agoe_comp_wl_video: Separate declarations from code 89/258589/1
Seunghun Lee [Tue, 11 May 2021 07:46:57 +0000 (16:46 +0900)]
e_comp_wl_video: Separate declarations from code

Change-Id: I5a79f13a5222c98b07d6e1bc1b6b38f802839bd9

3 years agoe_comp_wl_video: Initialize fields when init function is success 88/258588/1
Seunghun Lee [Mon, 10 May 2021 05:59:44 +0000 (14:59 +0900)]
e_comp_wl_video: Initialize fields when init function is success

The fields that should be initialized during initlizing e_comp_wl_video
should be stayed as it is if any required tasks are failed.

Change-Id: I71ba204d914db3dbcb8a6fad85ea91363952dc01

3 years agoe_info_server: Erase res_rotation_set value in screen_rotation_pre option 82/258382/3 accepted/tizen/unified/20210531.130343 submit/tizen/20210517.050856 submit/tizen/20210528.060712
Junkyeong, Kim [Fri, 14 May 2021 10:01:55 +0000 (19:01 +0900)]
e_info_server: Erase res_rotation_set value in screen_rotation_pre option

If the previous rotation value is 0, 90 and 270 value cannot be adapted.
Only 180 can be adapted if width and height is different.
So do not have to check the return value to save config.

Change-Id: Ia22590ccb01f74e7a8004128edaf7ec18e1b56d5
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
3 years agoe_explicit_sync: Fix dangling pointer problem of E_Explicit_Sync_Buffer_Release 32/258232/3
Changyeon Lee [Wed, 12 May 2021 11:30:06 +0000 (20:30 +0900)]
e_explicit_sync: Fix dangling pointer problem of E_Explicit_Sync_Buffer_Release

if wl_resouce of E_Explicit_Sync_Buffer_Release is destroyed by client,
E_Comp_Wl_Buffer_Ref access dangling pointer of E_Explicit_Sync_Buffer_Release.
for this problem, resource is set by null when it is destroyed and
E_Explicit_Sync_Buffer_Release is freed when
e_explicit_sync_buffer_release_destroy is called.

Change-Id: Ia2959ae3c1389e3122216aca3e1d2c75df8dcf77

3 years agoe_test_helper: Added iconic state changed signal 15/258215/4
Junseok, Kim [Wed, 12 May 2021 08:44:57 +0000 (17:44 +0900)]
e_test_helper: Added iconic state changed signal

send iconic state changed signal when iconic state changed of test client.
it contains native window(uint) id and iconic state(Eina_Bool).

Change-Id: I33c687f32b8a7bab1e4d5e4031bc3c2447a1117d
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_policy: restore ec's layer when floating is unset 05/258105/2
Doyoun Kang [Tue, 11 May 2021 00:36:07 +0000 (09:36 +0900)]
e_policy: restore ec's layer when floating is unset

When a floating mode was unset, e restored ec's layer to NORMAL only.

However, the layer of ec can be another layer (such as NORMAL, NOTIFICATION, etc.).
So, we changed code to restore its layer to original layer.

Change-Id: Ie528e6ede7d12d9fd795b0266d04f473d301fb63

3 years agoe_presentation: Remove dead code 69/258069/1
Seunghun Lee [Mon, 10 May 2021 05:22:45 +0000 (14:22 +0900)]
e_presentation: Remove dead code

The presentation->global is NULL in any case of failure.

Change-Id: I586e30613f96c3ff2314dbf67246233f8d0f9b70

3 years agoe_client/e_policy: support always_on_parent feature 39/257939/4 accepted/tizen/unified/20210510.155219 submit/tizen/20210510.040235
Doyoun Kang [Fri, 7 May 2021 02:16:55 +0000 (11:16 +0900)]
e_client/e_policy: support always_on_parent feature

If child window set the always_on_parent aux_hint, then it always has to be placed
on the parent window even if it request to lower window.

Currently, this feature can be set by below aux hint key.
- wm.policy.win.transient_for.always_on_parent

Change-Id: Icd26fabf437a976df52018f4ad9587ac9f0f3390

3 years agosubsurface: Remove unused API, e_comp_wl_subsurface_stack_update() 79/257979/1
Seunghun Lee [Fri, 7 May 2021 06:54:36 +0000 (15:54 +0900)]
subsurface: Remove unused API, e_comp_wl_subsurface_stack_update()

It's deprecated, and no longer used anywhere.

Change-Id: I839f53d899bffcd15955f7a1f516e53041d92152

3 years agoe_poilcy_stack: Remove unnecessary updating stack order of sub-surfaces 78/257978/1
Seunghun Lee [Fri, 7 May 2021 06:44:50 +0000 (15:44 +0900)]
e_poilcy_stack: Remove unnecessary updating stack order of sub-surfaces

Updating stack order of sub-surfaces in this implementation can be
removed since the follwing patch was introduced.

d1e43082e subsurface: Fix messed up stack order of sub-surface

The stack order of sub-surfaces have been being handled by subsurface
implementation since then.

Change-Id: Id05018c3baa7516c3bad81441786c8697aabb044

3 years agoe_policy: Add E_POLICY_HOOK_CLIENT_STACK_MODE_SET hook 98/257898/4
Seungjin Park [Thu, 6 May 2021 05:55:36 +0000 (14:55 +0900)]
e_policy: Add E_POLICY_HOOK_CLIENT_STACK_MODE_SET hook

Add a new hook in policy_wl to let modules know stack mode change of clients

Change-Id: I8bd2e30ae7481acbe6ca313d6fea55b8e98db0d6
Signed-off-by: Seungjin Park <sj8808.park@samsung.com>
3 years agoe_policy_stack: fix build break on 64bit env 26/257626/1 accepted/tizen/unified/20210429.011938 submit/tizen/20210428.100323
Doyoun Kang [Wed, 28 Apr 2021 09:54:07 +0000 (18:54 +0900)]
e_policy_stack: fix build break on 64bit env

Change-Id: I96518c6d7e71c793c4cf302e6729cb0a4ca2bdb2

3 years agoe_comp_object: Revert patchs related to transp object causing issue 25/257625/2
Seunghun Lee [Wed, 28 Apr 2021 09:38:10 +0000 (18:38 +0900)]
e_comp_object: Revert patchs related to transp object causing issue

The problem that the transform bg object hided video displaying underlay.
It turned out because tranp object has been added to smart member and it
didn't work render copy operation because its parent wasn't in render copy
operation.

Revert all related patchs. And this issue will be handled in the future.

Revert "e_comp_object: Remove obsolete stacking transform transp object"

This reverts commit f40c1f181df2b6f76f70c597bbef8daf11726c0d.

Revert "e_comp_object: Fix wrong punch of window due to transp object stack order"

This reverts commit abb8da9ff51788322cfa0542d70f089e1d53d095.

Revert "e_comp_object: Add transp object as a member object of smart object"

This reverts commit 421731114b1c832cddc2b5eb8232d1e96cfc0751.

Change-Id: I115fd4bb95960c907a5d09b9917e16a766a1fd4d

3 years agopolicy/shell: refactoring parent_set/transient_for code 17/257617/2 submit/tizen/20210428.090812
Doyoun Kang [Wed, 28 Apr 2021 08:19:22 +0000 (17:19 +0900)]
policy/shell: refactoring parent_set/transient_for code

we changed code to use e_policy_stack_parent_set and e_policy_stack_transient_for_set
while handling requests for parent_set and transient_for_set

Change-Id: I7f010cf9e025f51e81b0e76b48199c876a2f2a0b

3 years agoe_policy_stack: refactoring transient window code 34/257534/6
Doyoun Kang [Tue, 27 Apr 2021 08:15:33 +0000 (17:15 +0900)]
e_policy_stack: refactoring transient window code

- remove E_Policy_Stack structure
- merge handling transient window code to e_policy_stack_transient_for_apply
  from e_policy_stack_hook_pre_post_fetch and e_policy_stack_hook_pre_fetch

Change-Id: I1f465d67c4c20e5302da5c6dc032fccbcc6e74bd

3 years agoe_test_helper: fix build warning 95/257595/2 accepted/tizen/unified/20210428.092146 submit/tizen/20210428.051036
Junseok, Kim [Wed, 28 Apr 2021 04:49:20 +0000 (13:49 +0900)]
e_test_helper: fix build warning

Change-Id: I1672775b4e332806482c4d2d36699c769d3d5ff3
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_test_helper: Added Focused variable to FocusChanged signal 64/257564/1
Junseok, Kim [Wed, 21 Apr 2021 05:25:36 +0000 (14:25 +0900)]
e_test_helper: Added Focused variable to FocusChanged signal

Change-Id: If9ea7823bbe1489ea0b23a6096256b4c7aaa469b
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_test_helper: Added get_aux_hint method 97/257497/2
Junseok, Kim [Tue, 27 Apr 2021 03:49:53 +0000 (12:49 +0900)]
e_test_helper: Added get_aux_hint method

Added method to get current aux hint data.
It requires aux hint name, and returns current applied aux hint data(ID, hint, value) matched with name.

Change-Id: I5af6f20c4ca3952422be55881b48d2036c145033
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_foreign_shell: Fix typo 31/257531/1 accepted/tizen/unified/20210428.040501 submit/tizen/20210428.001711
Seunghun Lee [Tue, 27 Apr 2021 08:26:28 +0000 (17:26 +0900)]
e_foreign_shell: Fix typo

Change-Id: I2533b1ad0e38e760b2ed7582c17afee0a2c957a6

3 years agovideo: Change to idle_enterer from ecore_job 25/257525/1
Seunghun Lee [Tue, 27 Apr 2021 04:18:43 +0000 (13:18 +0900)]
video: Change to idle_enterer from ecore_job

This patch changes video to use idle_enterer from ecore_job.

If geometry of a video changes by animating run by ecore_animator or so,
then the video cannot have chance to work before the hwc output.
Consequently, all changes with the video missing gets applied to the
output.

The occurrence order of each handler was as follow:
job(video) -> animator(animating) -> idle_enterer(hwc output)

The changed order is as follow:
animator(animating) -> idle_enterer(video) -> idle_enterer(hwc_output)

Change-Id: I558178883efcb68d6b2fb6ef8c138aea99b6eaae

3 years agoe_pixmap: do not unset/clear pixmap in e_pixmap_parent_window_set 41/257441/1
Doyoun Kang [Mon, 26 Apr 2021 04:58:47 +0000 (13:58 +0900)]
e_pixmap: do not unset/clear pixmap in e_pixmap_parent_window_set

We've modified code to set the E_Pixmap's parent window only.
If we need to set unusable and clear the pixmap, then we have to call these
functions explicitly.

Change-Id: I190b79c73f1c76eb830c853f7c23138f1c4b5050

3 years agoe_foreign_shell: Fix build error 50/257350/1 accepted/tizen/unified/20210426.002317 submit/tizen/20210423.025253
Seunghun Lee [Fri, 23 Apr 2021 02:39:01 +0000 (11:39 +0900)]
e_foreign_shell: Fix build error

The flipped transform isn't supported by wtz_foreign protocol.

Change-Id: I31eea013846ed940645e3392f9160b6e037caecd

3 years agoSupport wtz-foreign protocol 62/257262/3 submit/tizen/20210423.022029
Seunghun Lee [Fri, 9 Apr 2021 05:41:03 +0000 (14:41 +0900)]
Support wtz-foreign protocol

This is an initial commit to support wtz-foreign protocol.

This is to support out-of-process video playing surface.
wtz-foreign protocol is to enable one client to share its resources to
another client.
The client which exported a reference of foreign shell then can change
attributes - such as size, orientation, and map state - of foreign shell.
So, the client which import a foreign shell can draw its contents onto a
surface without concerning about attributes such as size like as
mentioned.

The e_foreign contains implementation of wtz_exporter and wtz_importer.
And e_foreign_shell contains implementation of wtz_exported_shell and
wtz_foreign_shell.

Change-Id: Idec6194d9b57e3346167eaa4ab6537b4d59c3393

3 years agoe_comp_object: Set an embedded E_Client as comp_object data 61/257261/2
Seunghun Lee [Wed, 21 Apr 2021 09:50:30 +0000 (18:50 +0900)]
e_comp_object: Set an embedded E_Client as comp_object data

When evas_object_data_get(obj, "E_Client") called, it will return
embedded E_Client instead of original E_Client.

This is to hide details of embedded concept.
Specifically, e_hwc_windows implementation will make a visibile window
list with an embedded E_Client, not a container.

Change-Id: I94c850d262c1357eb28f635b2ec3e97ac37c06ba

3 years agoRevert "foreign: Support wtz-foreign protocol" 60/257260/2
Seunghun Lee [Wed, 21 Apr 2021 09:34:11 +0000 (18:34 +0900)]
Revert "foreign: Support wtz-foreign protocol"

Since the foreign "surface" concept has been abandoned, the
implementation of e_foreign needs to be re-written.
(See wayland-extension)

So this patch reverts commit 0fab24dfc3e1bef3e6131aa7272cf51cdc81cbb9,
before making a commit to adopt new concept, foreign shell.

Change-Id: I4116dcdb41f1d0f72a7d766c3135c02be95863ca

3 years agoe_comp_object: defaultly use evas_object for input event instead image object 79/256179/6
Changyeon Lee [Tue, 30 Mar 2021 09:40:18 +0000 (18:40 +0900)]
e_comp_object: defaultly use evas_object for input event instead image object

map_input_object is shown for avoiding the event transform by evas_map
which is applied at effect object.

when comp_object is set by unredirect, map_input_object is
hidden even if buffer of client is rotated acoording to screen rotation.

so if client is set by redirect, map_input_object receive input event
and if client is set by unredirect, cw->obj receive input event.

it doesn't have a problem in normal cases because the size of
map_input_object(redirect) and cw->obj(unredirect) are the same size
of window(ec size).

but it has a problem in case of down/up input event

1. down event is signaled and cw->obj receive event
   comp_object is unredirect and size of cw->obj is same window size
   ex) widow size (1080x1920), cw->obj (1080x1920)

2. comp_object is redirect and map_input_object is shown and
   cw->obj is resized according to buffer size(rotated).
   ex) window size (1080x1920) cw->obj (1920x1080)
       map_input_object(1080x1920)

3. up event is signaled but cw->obj receive event
   so evas send input coordinate with current cw->obj size
   because evas can't change evas_object which is received between down
   and up event

it causes the wrong coordinate of input event is sent to the client.
so map_input_object is renamed default_input_object and
default_input_object use for input event instead image object(cw->obj).

Change-Id: I277c3804c3a2a73d2562cdbdc98cca9dfda40645

3 years agoe_hints: modify code for e_hints_aux_hint_add_with_pixmap 04/257204/2 accepted/tizen/unified/20210422.005317 submit/tizen/20210421.080150
Doyoun Kang [Wed, 21 Apr 2021 05:44:53 +0000 (14:44 +0900)]
e_hints: modify code for e_hints_aux_hint_add_with_pixmap

If there exist the aux_hint which has a same ID and its name is not same to the 3rd
parameter (name), then we replace its name and value to new name and value.

Change-Id: I383f45b3518fcbc97a09102c45fb9905eb2dee93

3 years agoe_test_helper: Added timeout set method 53/256853/5
Junseok, Kim [Wed, 14 Apr 2021 03:37:14 +0000 (12:37 +0900)]
e_test_helper: Added timeout set method

Added timeout set method.
It could set/unset timer of Testcase, and can set time of timer.

Change-Id: Ia023a4c8c49329e9ac60fbd6f5112707eaa9251d
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_test_helper: add method for add/del supported_aux_hint 99/256799/4
Junseok, Kim [Tue, 13 Apr 2021 07:17:32 +0000 (16:17 +0900)]
e_test_helper: add method for add/del supported_aux_hint

Change-Id: Ie83bbb48b7a3f66a4e70a7f84172d9866bfd2671
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_test_helper: added aux hint changed signal 40/256340/5
Junseok, Kim [Thu, 1 Apr 2021 07:58:30 +0000 (16:58 +0900)]
e_test_helper: added aux hint changed signal

Added aux hint changed signal to registered test window.
It hooks E_CLIENT_HOOK_AUX_HINT_CHANGE of registered window and send "AuxHintChanged" signal to e-tizen-unittest.

Change-Id: Ib2549682a5c85f5755d82a1e1df45c10dfac8cdf
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agosubsurface: Fix messed up stack order of sub-surface 47/256947/5 accepted/tizen/unified/20210420.090121 submit/tizen/20210420.022611
Seunghun Lee [Thu, 15 Apr 2021 07:09:06 +0000 (16:09 +0900)]
subsurface: Fix messed up stack order of sub-surface

The stack order of sub-surface sometimes got messed up when re-stacking
main surfaces.

Thinking of the case as an example that placing a surface underneath
another surface that has sub-surfaces, it obviously wasn't enough to
re-arrange sub-surfaces stack order only for E_Client given by restack
callback function.

This patch fixes it by updating stack order not only for given E_Client,
but also for E_Clients neighbored with given E_Client.

Change-Id: I95f11c9998ed4f1729e7ca3583a4f41f5dc4edf8

3 years agosubsurface: Move a handler for updating stack order of subsurfaces 45/256945/4
Seunghun Lee [Thu, 15 Apr 2021 02:38:57 +0000 (11:38 +0900)]
subsurface: Move a handler for updating stack order of subsurfaces

Place it with the other subsurface functions.

Change-Id: I57adb07ef066752e93e6027c43884bb2b0042c04

3 years agoe_policy: send iconify when uniconify_by_vis job canceled 48/257048/3
Junseok, Kim [Mon, 19 Apr 2021 01:47:24 +0000 (10:47 +0900)]
e_policy: send iconify when uniconify_by_vis job canceled

If the client's uniconify job is canceled by the enlightenment, the client's internal
state remains "Uniconic state" till the enlightenment send an iconic state change event.

In this situation, black screen can appear if the client is visible again.
This is because the client know its state is "uniconic" and doesn't render anymore.

To fix this, we add code that enlightenment sends an iconic state change event to client
to change its internal iconic state when the uniconify_by_vis job is canceled.

Change-Id: If2e71769cd622cfdb11aba0c655ea46a35bcb497
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_hwc_windows: fix getting stuck compositing in explicit fence sync 05/256805/1 accepted/tizen/unified/20210414.040528 submit/tizen/20210413.094849
Changyeon Lee [Tue, 13 Apr 2021 09:15:56 +0000 (18:15 +0900)]
e_hwc_windows: fix getting stuck compositing in explicit fence sync

do not release display buffer to queue if window isn't updated

Change-Id: I5d242478b8d092bd06d2ebcea74495b0e3089aa4

3 years agoe_policy_visibility: do not add internal ec in below activity list 69/256669/1 accepted/tizen/unified/20210412.012040 submit/tizen/20210409.043739
Doyoun Kang [Wed, 7 Apr 2021 10:32:05 +0000 (19:32 +0900)]
e_policy_visibility: do not add internal ec in below activity list

If an internal ec is added to the below activity list, then e could get timeout for uniconify
pending job because it does not send buffer attach, damage, commit event.

To prevent timeout, we change code not to add the internal ec (aka made by e or e's module)
in the below activity list.

Change-Id: I6f6e9a2c905e931cfb6bd10bdc6446d8f718095d

3 years agoe_policy: check config before calling e_client_revert_focus when window is lowered 68/256668/1
Doyoun Kang [Wed, 7 Apr 2021 09:29:43 +0000 (18:29 +0900)]
e_policy: check config before calling e_client_revert_focus when window is lowered

If the e_config's calc_vis_without_effect is set, e doesn't call e_client_revert_focus.
In this case, e_client_revert_focus is called after calculating visibility.

Change-Id: I89a47227a093cce7e6446832889785608a4b82c7

3 years agoe_policy_visibility: do not below_iconify when ec is transparent 35/256435/4
Junseok, Kim [Fri, 2 Apr 2021 07:08:12 +0000 (16:08 +0900)]
e_policy_visibility: do not below_iconify when ec is transparent

No need to below uniconify if the lower / hide window is transparent.
Because of below windows are already uniconic state.

Change-Id: I1c94ae0080e9fd97d075cb6ab7669cfbc13b9b38
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_comp_object: Remove obsolete stacking transform transp object 80/256480/1 accepted/tizen/unified/20210406.000344 submit/tizen/20210405.091208
Seunghun Lee [Mon, 5 Apr 2021 06:54:17 +0000 (15:54 +0900)]
e_comp_object: Remove obsolete stacking transform transp object

Now that transform transp object's been added to smart member as a
child(see 4217311), to stack transform transp object with ancestor
object got obsolete.

Change-Id: I6aa421a2dde285559d79af694f682845dc16b526

3 years agoe_comp_object: Fix wrong punch of window due to transp object stack order 79/256479/1
Seunghun Lee [Mon, 5 Apr 2021 06:41:15 +0000 (15:41 +0900)]
e_comp_object: Fix wrong punch of window due to transp object stack order

The transform transp object's been added to smart member as a child(see
42173111), so it cannot be re-stacked by
"_e_comp_object_transform_obj_stack_update" due to the policy of smart
member objects.

For this reason, transform transp object must be stacked lowest of
children. Otherwise transform transp object will stay above window
contents and then cover contents.

Change-Id: I92293de7e8d98fe5b48e03981cd75663bb679ddd

3 years agoadd norender_disable feature 06/256406/1
Doyoun Kang [Fri, 2 Apr 2021 03:53:30 +0000 (12:53 +0900)]
add norender_disable feature

We added a new API
 - void e_policy_visibility_norender_disable_set(Eina_Bool disable)

Change-Id: I35c5f1df99701d2dc73a9a07c36ab5e1667e452d

3 years agoe_client: Introduce a way of embdding a client to support wtz_foreign protocol 00/255100/6 accepted/tizen/unified/20210403.020828 submit/tizen/20210331.060244 submit/tizen/20210401.063607 submit/tizen/20210402.004228
Seunghun Lee [Wed, 10 Mar 2021 08:25:46 +0000 (17:25 +0900)]
e_client: Introduce a way of embdding a client to support wtz_foreign protocol

This is an attempt to embed one E_Client into another E_Client and make
it live in. Thus embbeded E_Client will follow stack order of its
container E_Client automatically by evas smart object.

This patch will be necessary in the future patch to support wtz_foreign
protocol.

Change-Id: I3b0dde95e13aee0ae58275e3afdeb0befd6a37ca

3 years agoe_comp_object: Add transp object as a member object of smart object 99/255099/6
Seunghun Lee [Wed, 10 Mar 2021 08:42:29 +0000 (17:42 +0900)]
e_comp_object: Add transp object as a member object of smart object

Seeing "smart_member_del" when transp object gets deleted, it seems like
transp object is supposed to be a member of smart object. I assume that
it was accidentally left out for some reason.

So, this patch will make transp object member of smart object.
Otherwise, it won't be able to track stack order of parent object if
parent object gets added to another smart object.

Change-Id: If465c24ef46aadf5f5b272354b009ab55e608689

3 years agoforeign: Support wtz-foreign protocol 01/255101/7
Seunghun Lee [Wed, 10 Mar 2021 08:40:15 +0000 (17:40 +0900)]
foreign: Support wtz-foreign protocol

This is a first commit to support wtz-foreign protocol.

This is to support out-of-process video playing surface.
wtz-foreign protocol is to enable one client to share its surface to
another client.
In addition to just sharing surface, the client which acquires a
reference of exported surface then can change attributes - such as size,
orientation, and map state - of exported surface.
So, the client which export a surface can draw its contents onto a
surface without concerning about attributes such as size like as
mentioned.

The e_foreign contains implementation of wtz_exporter and wtz_importer.
And e_foreign_surface contains implementation of wtz_exported_surface
and wtz_imported_surface.

Change-Id: I9ebe90cb930ba7cfa142b6763395036d21d10072

3 years agoe_policy_visibility: allow parent window to uniconify when child's 77/243777/6 accepted/tizen/unified/20210331.063712 submit/tizen/20210330.233813
Duna Oh [Thu, 10 Sep 2020 04:56:49 +0000 (13:56 +0900)]
e_policy_visibility: allow parent window to uniconify when child's
visibility is UNOBSCURED

When parent window is activated, parent should wait for the child to be
uniconify-rendered AND 'UNOBSCURED'.
This commit is to fix a visual defect that the parent window was uniconified
before the child and child was uniconified later.

Change-Id: I4fe0d5b4a6348c413467d8044e1cebf25becc640

3 years agoe_service_quickpanel: fix memery leak 56/256056/1 accepted/tizen/unified/20210330.003650 submit/tizen/20210329.044022
Doyoun Kang [Mon, 29 Mar 2021 03:44:19 +0000 (12:44 +0900)]
e_service_quickpanel: fix memery leak

Change-Id: If9db89c4b12c9470a95832cc9ebab5b0474203b2

3 years agoe_module: fix code - using freed resource 49/256049/1
Doyoun Kang [Mon, 29 Mar 2021 02:34:03 +0000 (11:34 +0900)]
e_module: fix code - using freed resource

We used freed resource(m->name). This patch fixes this error

Change-Id: I577a6c679027adbdd9ed765089fc0e19dfaca907

3 years agoe_hwc_windows: set skip ui if color of window is invisible and render copy 86/255986/1
Changyeon Lee [Tue, 23 Mar 2021 09:43:05 +0000 (18:43 +0900)]
e_hwc_windows: set skip ui if color of window is invisible and render copy

if color of window is invisible and render op is copy,
window located below it is invisible.

in the below case, stack 2 window isn't added to visible window list
after this patch is applied.

stack    window
  1      24bit transparent internal window(render copy and full size)
  2      skip iconify window (evas object is shown)

Change-Id: Ie161f9a8095fac35febd1da19c1399aa55307b12

3 years agoe_comp_wl: add log for argb value changes 26/255926/1
Junseok, Kim [Thu, 25 Mar 2021 05:06:48 +0000 (14:06 +0900)]
e_comp_wl: add log for argb value changes

All of ec->argb assignments are print their change log except here.
So, added log for argb value changes for easy debugging.

Change-Id: I0e583159d3d81f55b7c7f65ed1e4711053f888fe
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_explicit_sync: Fix error duplicate release in buffer flush state 55/255855/1 submit/tizen/20210325.005912 submit/tizen/20210325.050726
Changyeon Lee [Wed, 24 Mar 2021 08:09:33 +0000 (17:09 +0900)]
e_explicit_sync: Fix error duplicate release in buffer flush state

In buffer flush state, buffer of client is unreferenced before
e_explicit_sync_surface_commit is called.
it causes error duplicate release because pending_buffer_release is
existed even if client call wl_surface_commit.

so this patch call e_explicit_sync_surface_commit before e_pixmap_buffer_clear
and destroy pending_buffer_release if client doesn't reference buffer.

Change-Id: I204ae447305aaa3fd8102a94665c05e6fca04a4f

3 years agoRevert "Remove e_client_transform_core_update in e_client_transform_core_remove" 41/255841/2 accepted/tizen/unified/20210324.124208 submit/tizen/20210324.072246
JunSeok Kim [Wed, 24 Mar 2021 07:20:05 +0000 (07:20 +0000)]
Revert "Remove e_client_transform_core_update in e_client_transform_core_remove"

This reverts commit 039398c93cd6daaff369577df55133aabd9e96c5.

Reason for revert: This patch will re-commit with related module patch

Change-Id: Ifab1a7297771d718a7708ac3e8f70c7e20f5eb7e

3 years agoe_hwc_window_queue: use list instead of hash for managing queue 19/255119/3 accepted/tizen/unified/20210315.134136 submit/tizen/20210315.062614
Changyeon Lee [Fri, 12 Mar 2021 04:05:58 +0000 (13:05 +0900)]
e_hwc_window_queue: use list instead of hash for managing queue

iterator object can't be deleted in EINA_ITERATOR_FOREACH.
it can cause a crash.
so e_hwc_widow_queue use list instead of hash

Change-Id: Ic2ca95a6ba16de0feb12458a7b1cc4ef3a06aed4

3 years agoRemove e_client_transform_core_update in e_client_transform_core_remove 76/254976/3 accepted/tizen/unified/20210312.142507 submit/tizen/20210311.063230
Doyoun Kang [Thu, 11 Mar 2021 05:38:30 +0000 (14:38 +0900)]
Remove e_client_transform_core_update in e_client_transform_core_remove

When we change or replace some transform (remove old transform and add new transform),
there was an unnecessary calculation for removing old transform because of calling
e_client_transform_core_update in e_client_transform_core_remove().
So, we remove e_client_transform_core_update in e_client_transform_core_remove.

FYI,
e_client_transform_core_update is called in idler_before handler(exactly _e_client_eval).
If we want to apply transform immediately, we have to call e_client_transform_core_update
after calling e_client_transform_core_remove.

Change-Id: I17b2cbb360769ca69793d6ca55cffab4178feba4

3 years agoe_client/e_comp_wl: set role information for each transform 79/254879/2 accepted/tizen/unified/20210311.083834 submit/tizen/20210310.085140
Doyoun Kang [Wed, 10 Mar 2021 08:03:22 +0000 (17:03 +0900)]
e_client/e_comp_wl: set role information for each transform

We use a E_Util_Transform to apply various transform.
However, there was no way to know what purpose of each transform that
was applied to E_Client.

This patch sets the role to below transforms.
- viewport_transform
- base_output_resolution
- desk_group

Change-Id: Ia8f47c603767744e6ca0ca324ccca9f9f82a37b5

3 years agoe_info_client/server: add role option for transform test 74/254874/1
Doyoun Kang [Wed, 10 Mar 2021 07:40:18 +0000 (16:40 +0900)]
e_info_client/server: add role option for transform test

Change-Id: Ia490960df2e2cb7a83645a0e7c7476b8a863cb8c

3 years agoe_info_server: print role for transform information 48/254748/1
Doyoun Kang [Tue, 9 Mar 2021 06:49:47 +0000 (15:49 +0900)]
e_info_server: print role for transform information

Change-Id: Icee19d85575ba237cf6461ea53bae6d9085c3a60

3 years agoe_comp_wl: skip sending touch cancel even for a 'video' ec 69/254669/5 accepted/tizen/unified/20210308.132435 submit/tizen/20210308.233703
Sung-Jin Park [Mon, 8 Mar 2021 20:49:42 +0000 (05:49 +0900)]
e_comp_wl: skip sending touch cancel even for a 'video' ec

In _e_comp_wl_surface_state_commit(), there is a process of applying a new map
information to the ec if the viewport information of a given ec's buffer is changed.
Before applying the map information, if a touch down or move event is being sent to
the ec, we usually send a touch cancel event to it. This is done to prevent the
dramatic changes of touch event coordinates before and after applying
map information.

By the way, if the given ec is a 'video' ec, we must not send a touch
cancel event as the video ec itself doesn't get touch event(s).
The other ec which contains the video ec will be the touch event(s)
instead. Therefore we must not send a touch cancel to the 'video' ec.

Change-Id: I433329b226d5d268b96fe79572a6927198fc4d0e
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
3 years agovideo: Hide a video view if dst size is zero 70/254470/5
Seunghun Lee [Wed, 3 Mar 2021 07:54:53 +0000 (16:54 +0900)]
video: Hide a video view if dst size is zero

The function _e_video_hwc_tdm_viewport_clip() crops viewport of video
to fit it into screen, and the dst size of tdm gets zero if viewport
of video is out of the screen.

However, setting dst size to zero is highly likely to be treated as
illegal. That means applying the change would be failed and former
changes would finally be kept.

Since setting destination size to zero implies that it should be hidden,
thus this patch makes video implementation hide a video view if dst size
of tdm is zero.

Change-Id: Iae5a86e8dcbb6b13306ee72d4aef11fac139c3d4

3 years agoe_policy_wl: Raise a protocol error for a request with invalid parent 66/253966/2
Seunghun Lee [Fri, 19 Feb 2021 07:21:33 +0000 (16:21 +0900)]
e_policy_wl: Raise a protocol error for a request with invalid parent

The E crashed with null pointer access to comp_data of
sub-surface's parent in _e_comp_wl_subsurface_order_commit() function.

And it turned out that the parent was an internal window created by E.
But the internal window cannot be the parent of sub-surface
theoretically. So, it is possible for wl_client to try to create
sub-surface with invalid resource ID for parent using
tizen_policy::get_subsurface protocol.

So, this patch will raise a protocol error for that case to get it
failed early.

Change-Id: I98351de962e3ea8cf5b8d218a858859929b0da5d

3 years agoe_comp_wl_remote: add override when saving image 77/253677/2 accepted/tizen/unified/20210219.040833 submit/tizen/20210218.104053
Changyeon Lee [Tue, 16 Feb 2021 07:17:10 +0000 (16:17 +0900)]
e_comp_wl_remote: add override when saving image

e_comp_wl_remote_surface_image_save is called in unmap of surface
so add override at e_comp_wl_remote_surface_image_save

Change-Id: I0bf66b3afbdc917f742969bd013253d3b6e53b89

3 years agoe_hwc_windows: set transition if window has transtion and client state 76/253676/2
Changyeon Lee [Mon, 8 Feb 2021 03:33:03 +0000 (12:33 +0900)]
e_hwc_windows: set transition if window has transtion and client state

fix flickering this case
1. A window set device state and unredirect
2. target window render frame which doesn't have A window frame
3. A window set client state before hwc state isn't accepted
4. target window commit gl compositing frame, but flickering
   is occurred because 2 step frame doesn't have A Window

Change-Id: Icd8cbf102d21e73a769bb3392fc9dc5b7b2adec8

3 years agoe_comp_object: fix typo 53/253753/1 accepted/tizen/unified/20210218.042203 submit/tizen/20210217.084606
Doyoun Kang [Wed, 17 Feb 2021 08:03:38 +0000 (17:03 +0900)]
e_comp_object: fix typo

Change-Id: If15c0ec51403430c2448972bc2af0abb668eddfb

3 years agoe_client/e_comp_object: add log for debug information 44/253744/2
Doyoun Kang [Wed, 17 Feb 2021 07:13:45 +0000 (16:13 +0900)]
e_client/e_comp_object: add log for debug information

Change-Id: I569390da409c065faecbe1fe6a600dd2c75a1b3a

3 years agoe_service_quickpanel: change focus set method to latest_set for ensure qp is focusable 06/253306/2 accepted/tizen/unified/20210217.030900 submit/tizen/20210216.050357 submit/tizen/20210216.093402
Junseok, Kim [Mon, 8 Feb 2021 12:38:34 +0000 (21:38 +0900)]
e_service_quickpanel: change focus set method to latest_set for ensure qp is focusable

To ensure quickpanel is focusable, use e_client_focus_latest_set for give focus to quickpanel instead of e_client_frame_focus_set.
and added condition check of quickpanel's evas_object is visible.

Change-Id: I043de2f002d562b4019ef70b40fb7df1d820f12f
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_client: check ec is in the Zone while focusable check 04/253304/2
Junseok, Kim [Mon, 8 Feb 2021 12:37:20 +0000 (21:37 +0900)]
e_client: check ec is in the Zone while focusable check

Change-Id: Ibff341d0b57d9bc07022d794d11c135dd3447072
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agovideo: Fix crash when commit video buffer with null resource 38/253438/2 accepted/tizen/unified/20210215.130919 submit/tizen/20210210.053159
Seunghun Lee [Wed, 10 Feb 2021 04:55:40 +0000 (13:55 +0900)]
video: Fix crash when commit video buffer with null resource

The resource of surface can be null, and it led segfault.

Change-Id: I61cd033f9c9f37d10929e5ca3741780e3e256cbf

3 years agoe_service_quickpanel: don't send ignore_output_transform 61/252461/2 accepted/tizen/unified/20210208.085130 submit/tizen/20210208.032946
Junseok, Kim [Thu, 28 Jan 2021 10:05:08 +0000 (19:05 +0900)]
e_service_quickpanel: don't send ignore_output_transform

Change-Id: I0c4ae232e958502d375b3f1396944200e0fa95b6
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_service_quickpanel: set map to mirror obj if origin obj has map 50/253050/1
Changyeon Lee [Thu, 4 Feb 2021 04:29:23 +0000 (13:29 +0900)]
e_service_quickpanel: set map to mirror obj if origin obj has map

buffer of client can have transform according to screen rotation.
if buffer has transform, effect object has map transform to
rotate buffer.
so mirror obj should have map transform for getting image which
doesn't have transform.

Change-Id: I87cc8af80a21f2d78c0410b4e5b704f905d076ad

3 years agovideo: Fix crash when commit video buffer with deleted E_Client 69/252969/3 accepted/tizen/unified/20210204.041558 submit/tizen/20210203.114639
Seunghun Lee [Wed, 3 Feb 2021 11:05:36 +0000 (20:05 +0900)]
video: Fix crash when commit video buffer with deleted E_Client

With change 32a04d07, this crash was made since null buffer can be
given to _e_video_hwc_windows_commit_data_set().
Accessing comp_data of deleted E_Client caused a crash.

Change-Id: Icaa8e0022a8d81c51f611a0180f65112479979bf

3 years agoe_policy_wl: send tizen_position changed event while creating tizen_position resource 37/252937/1 accepted/tizen/unified/20210203.145427 submit/tizen/20210203.080741
Doyoun Kang [Wed, 3 Feb 2021 07:20:17 +0000 (16:20 +0900)]
e_policy_wl: send tizen_position changed event while creating tizen_position resource

If the ec's position is not same to client's geometry which set by client,
then e send tizen_position changed event to the client to notice new position.

There was a bug that the window's position was not changed in below case.
"Hide -> Unset user geometry -> Show -> Set user geometry -> Move -> Resize".
This was because the ec's position was not same to the client's position.
In this case, ec's position was (0,0) and client's position was not (0, 0).

Change-Id: I53074b2de3bb98cb0aeff629a89776bcf1d380cb

3 years agovideo: Update comp object after cleanup HWC resources 54/252454/3 accepted/tizen/unified/20210203.145557 submit/tizen/20210202.094427
Seunghun Lee [Thu, 28 Jan 2021 07:18:29 +0000 (16:18 +0900)]
video: Update comp object after cleanup HWC resources

It was discovered that abnormal frame was exposed when video render
backend got switch to SW compositing from HW due to the transformation
of 180 degree under no HW rotation support. This problem only occurred
on one frame at the very first try.

This change updates comp object (by calling e_comp_wl_surface_commit)
after cleanup HWC data. I couldn't figure out the root cause, but it
looked like HWC implementation affected updating efl object in some way.
Nonetheless, This change all makes sense on its own after all.

Change-Id: Ia99e5d626506d68128733b39b6f82cd763ee70c4

3 years agovideo: Keep video client from being resized by wl_surface::commit 84/252784/2
Seunghun Lee [Tue, 2 Feb 2021 07:44:52 +0000 (16:44 +0900)]
video: Keep video client from being resized by wl_surface::commit

When video client is displayed on HW overlay, it is wasteful to resize
its evas object. It eventually causes evas rendering to run wastefully.

Plus, evas rendering normally run on idle enterer and
wl_display_flush_clients() which flush its messages for client is
handled on fd handler of ecore event loop.

So, if evas rendering happens because of resize of evas object, then
wl_surface::frame will be delayed depending on it,
even though video contents is not actually rendered by evas.

Change-Id: I44332acf5079a204f8e833f35fe2ef27255bb9dc

3 years agovideo: Fix double cropping source/output region of tdm 10/252610/1 accepted/tizen/unified/20210201.055415 submit/tizen/20210130.024922
Seunghun Lee [Sat, 30 Jan 2021 01:33:10 +0000 (10:33 +0900)]
video: Fix double cropping source/output region of tdm

Cropping an already cropped source/output region is an error.
So, this change makes updating tdm config happen once during render job.

So far this has been no problem since wl_client didn't try to set its
output region beyond the screen. However, once wl_client tried to do
that, the problem came out because of the double cropping.

More specifically, source region was a problem. source region was
cropped and updated once during applying viewport, but it was cropped
and updated again with already cropped source region during applying
map.

Change-Id: Ia8efb27a3af66eda5564f166a9ea734d21a93cf1

3 years agovideo: Fix starvation of wl_buffer::release for video surface 18/252418/1 submit/tizen/20210129.065141
Seunghun Lee [Thu, 28 Jan 2021 00:32:26 +0000 (09:32 +0900)]
video: Fix starvation of wl_buffer::release for video surface

This change drops reference count on wl_buffer when null wl_buffer is
newly attached on wl_surface. It would eventually send
wl_buffer::release.

Change-Id: Iddc829e77889dc0317aaa69e9c01775a189abfdc

3 years agoe_devicemgr_inputgen: remove unused variable 65/252265/2
Junseok, Kim [Tue, 26 Jan 2021 05:51:41 +0000 (14:51 +0900)]
e_devicemgr_inputgen: remove unused variable

Change-Id: I295cc47b7237cb6d54b40ef0af7c051f6ae3cc75
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_service_quickpanel: add null check of qp->ec 35/252335/1
Junseok, Kim [Wed, 27 Jan 2021 03:52:05 +0000 (12:52 +0900)]
e_service_quickpanel: add null check of qp->ec

Change-Id: Ie14559244229e8916b34b414cf832dd42b262d96
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_hwc_windows: remove restriction ui subsurface 99/252199/2 accepted/tizen/unified/20210127.144837 submit/tizen/20210126.104819
Changyeon Lee [Mon, 25 Jan 2021 10:16:18 +0000 (19:16 +0900)]
e_hwc_windows: remove restriction ui subsurface

subsurface can be displayed by DEVICE type

Change-Id: I63506b0857cf981e401ad67e9ea048d332cd52ea

3 years agoe_hwc_window: add e_hwc_window_get and remove e_hwc_window_new/free 98/252198/2
Changyeon Lee [Mon, 25 Jan 2021 06:54:54 +0000 (15:54 +0900)]
e_hwc_window: add e_hwc_window_get and remove e_hwc_window_new/free

1. make e_hwc_window_new/free to static func _e_hwc_window_new/del
2. use e_hwc_window_get at video and presentation mode
3. add e_hwc_window_video_set for video

Change-Id: I286f36bc7354cdc012af9e2de87a28c089240568

3 years agoe_hwc_window: add e_hwc_window_ref/unref 97/252197/1
Changyeon Lee [Mon, 25 Jan 2021 04:35:24 +0000 (13:35 +0900)]
e_hwc_window: add e_hwc_window_ref/unref

use e_hwc_window_ref/unref instead e_object_ref/unref

Change-Id: I750999e846434ff811669346e186936a7345a495

3 years agoe_input: support a LIBINPUT_EVENT_TOUCH_CANCEL 52/250752/6
jeon [Mon, 4 Jan 2021 09:09:54 +0000 (18:09 +0900)]
e_input: support a LIBINPUT_EVENT_TOUCH_CANCEL

Change-Id: Iea7a8754cd9a4c6fce267792a613c6376754fe24

3 years agoe_service_quickpanel: set focus to quickpanel that finish show effect and not focused 00/252000/3
Junseok, Kim [Thu, 21 Jan 2021 11:32:13 +0000 (20:32 +0900)]
e_service_quickpanel: set focus to quickpanel that finish show effect and not focused

Change-Id: Icdec3e1a9bf066e91a18f165bb09ad6398cc172d
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_hwc_window_queue: reset constraints if norender is pushed 78/251878/2 accepted/tizen/unified/20210121.134601 submit/tizen/20210121.033805
Changyeon Lee [Wed, 20 Jan 2021 05:08:53 +0000 (14:08 +0900)]
e_hwc_window_queue: reset constraints if norender is pushed

if norender is pushed, hwc doesn't change accpeted state of window.
so hwc_window can be block render because hwc_window_queue doesn't
send usable event.

Change-Id: I6cddbd80866a294561a70eb9729ef0e14ea3b2fa

3 years agoe_hwc: add E_HWC_HOOK_NORENDER_SET hook 77/251877/2
Changyeon Lee [Tue, 19 Jan 2021 12:35:02 +0000 (21:35 +0900)]
e_hwc: add E_HWC_HOOK_NORENDER_SET hook

Change-Id: Iace117688b6b501bd2e276f5307763b8d8005dd0

3 years agoe_hwc_window: consider output transform when set cursor transform 00/251800/2
Changyeon Lee [Tue, 19 Jan 2021 04:27:23 +0000 (13:27 +0900)]
e_hwc_window: consider output transform when set cursor transform

Change-Id: Ic8b412bf6f774e3926ef09e790212aed6873c5df

3 years agoe_comp: remove unnecessary error log 81/251581/2
Changyeon Lee [Fri, 15 Jan 2021 08:26:58 +0000 (17:26 +0900)]
e_comp: remove unnecessary error log

Change-Id: Ibf12a713c82262724cbc25a2f5ae3c3769c6c00e

3 years agoe_hwc_windows: don't check visible of client if client is added to visible list 12/251512/2
Changyeon Lee [Thu, 14 Jan 2021 10:55:11 +0000 (19:55 +0900)]
e_hwc_windows: don't check visible of client if client is added to visible list

if ec is got from effect_client, it checks twice visible of hwc_window

Change-Id: I0941695a92eeb102e124de0e63bf259cc785d084

3 years agoe_hwc_windows: set window transition even if target bufer isn't changed 11/251511/2
Changyeon Lee [Thu, 14 Jan 2021 08:27:43 +0000 (17:27 +0900)]
e_hwc_windows: set window transition even if target bufer isn't changed

Change-Id: I145c279108436c08e8ee69a5a64e9e1f1ad2456f

3 years agoe_hwc_window_queue: use size of buffer when to compare queue with client 10/251510/2
Changyeon Lee [Tue, 12 Jan 2021 09:23:20 +0000 (18:23 +0900)]
e_hwc_window_queue: use size of buffer when to compare queue with client

comparing buffer and queue is better way

Change-Id: Ia71e443b908d9182ec0d7e68df7317e464240a97

3 years agoe_devicemgr: create an input generator touch device has configurred touch count accepted/tizen/unified/20210121.015632 submit/tizen/20210120.080543
jeon [Fri, 15 Jan 2021 05:44:25 +0000 (14:44 +0900)]
e_devicemgr: create an input generator touch device has configurred touch count

Change-Id: Ic4f9907a120c0844cfa24193bf4000bcf1c87bf6

3 years agosubsurface: Regard wl_subsurface for video viewport as not normal subsurface 57/251857/1
Seunghun Lee [Tue, 19 Jan 2021 09:48:31 +0000 (18:48 +0900)]
subsurface: Regard wl_subsurface for video viewport as not normal subsurface

This is a workaround patch to fix the problem that some E_Client
couldn't take advantage of HW Composition because of its child
wl_subsurface which is not actually viewable due to its purpose
for video viewport.

Now that this function returns EINA_FALSE if given E_Client has
1x1 wl_subsurface or the one for video viewport, the implementation
of HWC will try to apply given E_Client to HW Composition.

Change-Id: I8aec661647187faac7ff1be67154ab5e32080e79

3 years agoe_client: consider ec's force_obscured while focusable check 78/251778/1
Junseok, Kim [Tue, 19 Jan 2021 08:31:01 +0000 (17:31 +0900)]
e_client: consider ec's force_obscured while focusable check

Change-Id: Icd4843f41e491782e091af7450e1557f2e96e7f1
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
3 years agoe_hwc_windows: set E_HWC_WINDOW_STATE_NONE if color of image is invisible 74/251474/1
Changyeon Lee [Wed, 13 Jan 2021 10:49:36 +0000 (19:49 +0900)]
e_hwc_windows: set E_HWC_WINDOW_STATE_NONE if color of image is invisible

module set argb to 0000 for making invisible even if comp object is show state

Change-Id: Ib1fb25936496128e6889f4a0e40f9ce15c35c08f

3 years agovideo: Fix segfaults running render job with deleted E_Client 15/251415/2 accepted/tizen/unified/20210115.004628 submit/tizen/20210113.113637
Seunghun Lee [Wed, 13 Jan 2021 10:05:33 +0000 (19:05 +0900)]
video: Fix segfaults running render job with deleted E_Client

Rendering job relies on 'comp_data' field of E_Client, and 'comp_data'
gets invalid at some point after E_Client is deleted.
Since there is no way to know when 'comp_data' gets invalid exactly,
it checks if E_Client is deleted whenever render job is needed.

Change-Id: I472abb606795540fbd79f55cf2323596a244c4e2

3 years agoe_devicemgr: support a set_touch_count request 95/250595/3
jeon [Wed, 30 Dec 2020 04:52:00 +0000 (13:52 +0900)]
e_devicemgr: support a set_touch_count request

Change-Id: I96fd84bcbf2bf01ac3d54f4da5f116ad690c3435