platform/upstream/enlightenment.git
2 years agoe_eom: set the parent client to the presentation_ec 66/272966/1
Changyeon Lee [Fri, 25 Mar 2022 12:19:03 +0000 (21:19 +0900)]
e_eom: set the parent client to the presentation_ec

There is bug that mirror mode is not enabled after
video client is display by presentation mode.

if e_client of subsurface is set to presentation_ec,
mirror mode is not set after presentation_ec is destroyed
in _e_eom_cb_wl_eom_client_destroy() callback
because eom_client set shall window with parent surface.

Change-Id: I654f9a5f9f36279262b2e3cf4cdd37014950c640

2 years agoe_eom: connect,disconnect eom_output after it is created 65/272965/1
Changyeon Lee [Fri, 25 Mar 2022 11:51:33 +0000 (20:51 +0900)]
e_eom: connect,disconnect eom_output after it is created

if output is connected when enlightenment is launched,
E_OUTPUT_HOOK_CONNECT_STATUS_CHANGE is not calld.

the calling _e_output_external_update is redundant in e_output_commit()

Change-Id: I04081da92ad223288c92d2c69834d677814c1b57

2 years agoe_hwc_windows: clear buffer of pp in case of dstination rectangle is partial 20/272920/1
Changyeon Lee [Fri, 25 Mar 2022 05:39:15 +0000 (14:39 +0900)]
e_hwc_windows: clear buffer of pp in case of dstination rectangle is partial

area outside of dstination rectangle is not rendered by pp

Change-Id: I3baa4cc7eaf8fa7ff4abeef1bd518e4daafcc229

2 years agoe_hwc_windows: remove duplicate code 19/272919/1
Changyeon Lee [Fri, 25 Mar 2022 03:53:51 +0000 (12:53 +0900)]
e_hwc_windows: remove duplicate code

Change-Id: I33e01f650a8d7bb5ede24001a4a8e012a9b63e16

2 years agoe_hwc_windows: update the pp buffer from the root target hwc window 18/272918/1
Changyeon Lee [Fri, 25 Mar 2022 03:09:19 +0000 (12:09 +0900)]
e_hwc_windows: update the pp buffer from the root target hwc window

the root target hwc window has buffer of gl/sw compositing

Change-Id: I9dc4173979d6ada774de95c30c2213efc2c59a6c

2 years agoe_hwc: remove unused memeber 17/272917/1
Changyeon Lee [Thu, 24 Mar 2022 08:29:54 +0000 (17:29 +0900)]
e_hwc: remove unused memeber

Change-Id: I059a456ebfcc2534385ab2de9e751431900d2db7

2 years agoe_hwc_windows: refactor mirror mode by pixmap composite 46/272846/1
Changyeon Lee [Thu, 24 Mar 2022 08:16:44 +0000 (17:16 +0900)]
e_hwc_windows: refactor mirror mode by pixmap composite

if tdm backend does not support tdm_pp, hwc windows use pixman composite
for zoom and mirror senario.
this patch unify seqence of tdm_pp and pixman composite for
easliy understanding sequence of mirror and zoom.

Change-Id: Ic5533dbbb025017833fe05c438b2cd1b09f12eb3

2 years agoe_hwc_windows: add e_hwc_windows_pp_set/unset function 45/272845/1
Changyeon Lee [Tue, 22 Mar 2022 10:22:27 +0000 (19:22 +0900)]
e_hwc_windows: add e_hwc_windows_pp_set/unset function

e_hwc_windows_zoom_set/unset function is used at two cases.
first case is zoom of output and second case is mirror mode.
it makes hard to understand mirror and zoom of hwc windows
e_hwc_windows_pp_set/unset function is added and
zoom and mirror mode use this function.

Change-Id: If942448cdbd1e1e07c7741ea4cb7bd53f1d51d66

2 years agoe_hwc_windows: calculate pp source rectangle in e_hwc_window_mirror_set 44/272844/1
Changyeon Lee [Wed, 16 Mar 2022 07:16:01 +0000 (16:16 +0900)]
e_hwc_windows: calculate pp source rectangle in e_hwc_window_mirror_set

pp source rectangle should be set to geometry of source hwc
in mirror mode.

Change-Id: I4ee743922d55580172d316c542a2abd61957cc0c

2 years agoe_comp_wl: add log about which device/seat an evas event is from 07/272807/1
duna.oh [Fri, 25 Mar 2022 00:17:15 +0000 (09:17 +0900)]
e_comp_wl: add log about which device/seat an evas event is from

Change-Id: I38fdc92678956375f6d687ddbea334e827f0c1e9

2 years agowinfo: add option -input_seat_set [ex./dev/input/event3] [ex.seat-bluetooth] 06/272806/1
duna.oh [Fri, 25 Mar 2022 00:07:53 +0000 (09:07 +0900)]
winfo: add option -input_seat_set [ex./dev/input/event3] [ex.seat-bluetooth]

Change-Id: Ie2307cb76e9c30b5ba2bf362ab8b31fee16eefda

2 years agoe_input: add func to set a input device to a new seat 05/272805/1
duna.oh [Fri, 25 Mar 2022 00:03:40 +0000 (09:03 +0900)]
e_input: add func to set a input device to a new seat

Change-Id: I9afef8bbb1a9b1c7791a07a1806e49c30e015ab5

2 years agodevicemgr: fix to use strdup() instead of eina_stringshare_add/del() 59/272759/1
duna.oh [Thu, 24 Mar 2022 01:20:59 +0000 (10:20 +0900)]
devicemgr: fix to use strdup() instead of eina_stringshare_add/del()

Since the 'identifier' variable is a 'char *' type, strdup() and free()
should be used to avoid memory corruption.

Change-Id: I8f4121ae37a2fccf7cb7d9c44adc35c1235e121d

2 years agoe_hwc_windows: adjust position of the hw cursor based on coordinate of output 38/272738/1 accepted/tizen/unified/20220324.134407 submit/tizen/20220323.112026
Changyeon Lee [Wed, 23 Mar 2022 09:43:41 +0000 (18:43 +0900)]
e_hwc_windows: adjust position of the hw cursor based on coordinate of output

coordinate of the hw cursor is based on output but coordinate of E_Pointer
is based on canvas.

Change-Id: Ie82527f39fb4ac156395349fd20ab78e6c424d8f

2 years agoe_input: fix wrong return statement from e_input_device_output_name_set() 14/272714/1
duna.oh [Wed, 23 Mar 2022 04:23:19 +0000 (13:23 +0900)]
e_input: fix wrong return statement from e_input_device_output_name_set()

Change-Id: I0797809c1d941c1da260ef1c03619c1775e3dedc

2 years agoe_comp_wl: remove the unused surface signals 01/272701/1 accepted/tizen/unified/20220323.062712 submit/tizen/20220323.020128
SooChan Lim [Tue, 22 Mar 2022 11:09:25 +0000 (20:09 +0900)]
e_comp_wl: remove the unused surface signals

Change-Id: I7f0a40411a4de6427b0c922b9f1bde4f3f72b875

2 years agoe_policy_visibility: don't check current zone in _e_vis_ec_below_uniconify 98/272698/1
Doyoun Kang [Tue, 22 Mar 2022 11:12:59 +0000 (20:12 +0900)]
e_policy_visibility: don't check current zone in _e_vis_ec_below_uniconify

We remove code which checks whether the ec's zone is same to the current zone or not.
We always check that the below window should be uniconified or not when its above
window is hidden or lowered.

Change-Id: I27b451f50c73565d392cd16ab848bbd2178ad51c

2 years agoe_config/e_policy: add new configuration - use_configured_desks 15/272615/1 accepted/tizen/unified/20220322.082849 submit/tizen/20220321.231646 submit/tizen/20220322.055616
Doyoun Kang [Mon, 21 Mar 2022 07:29:37 +0000 (16:29 +0900)]
e_config/e_policy: add new configuration - use_configured_desks

If the "use_configured_desks" is set, then we add E_Desks which are configured by e_config's
policy_desks (E_Config_Policy_Desk) only.
Otherwise, we add E_Desks regardless of the e_config's policy_desks.

Change-Id: I2a80d311f70704c99b7955fbe4d0f1ff1351c091

2 years agoe_client: consider zone's position while calculating visibility 80/272580/1
Doyoun Kang [Mon, 21 Mar 2022 03:01:19 +0000 (12:01 +0900)]
e_client: consider zone's position while calculating visibility

To calculate visibility, we make a tiler to calculate region first.
But there was a bug that the visibility was wrong in multi zone environment because we didn't
consider the zone's position when we made a tiler.

This patch resolves this problem.

Change-Id: I068428547eea43c43eaa21024f35e2e52ba0d505

2 years agoe_video_hwc: fix leak of the E_Comp_Wl_Video_Buf 79/272479/1
Changyeon Lee [Wed, 16 Mar 2022 10:27:46 +0000 (19:27 +0900)]
e_video_hwc: fix leak of the E_Comp_Wl_Video_Buf

If the committed_vbuf is changed before it is set to
the current_fb, in_use flag of vbuf is not changed to false and
vbuf is not freed in _e_comp_wl_video_buffer_free() fucntion.

This patch fixes leak of the E_Comp_Wl_Video_Buf in this case

Change-Id: Id844c6109688f676154d959c7d2cc9538f6beefc

2 years agoApply changed boot mode get API 53/272353/2 accepted/tizen/unified/20220318.133023 submit/tizen/20220317.053005
Junkyeong, Kim [Tue, 15 Mar 2022 07:14:02 +0000 (16:14 +0900)]
Apply changed boot mode get API

Change-Id: I707b51448abd7c0cbe8c3d78aff8240b41e7560d
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agoe_hwc_windows: add mirror state in hwc_wins info 07/272407/1
Changyeon Lee [Mon, 14 Mar 2022 07:03:01 +0000 (16:03 +0900)]
e_hwc_windows: add mirror state in hwc_wins info

Change-Id: Ic99e334c723edca09d8b73d44cc3e5f96d05ba1f

2 years agoe_hwc_windows: do not available device state if the mirror mode is enabled 06/272406/1
Changyeon Lee [Thu, 3 Mar 2022 01:22:52 +0000 (10:22 +0900)]
e_hwc_windows: do not available device state if the mirror mode is enabled

do not use e_hwc_deactive api for mirror mode because
hwc can be active state even if other module is set deactive state hwc
when zoom is disabled

Change-Id: I7df141ee8ab3804258eb8979184e7b15bf58b1e0

2 years agoe_policy_visibility: Added e_policy_visibility_client_raising_job_cancel. 44/272344/3
Junseok Kim [Mon, 14 Mar 2022 11:29:08 +0000 (20:29 +0900)]
e_policy_visibility: Added e_policy_visibility_client_raising_job_cancel.

There was a bug that client shown after client request lower.
in detail, the client was a transient_for child and parent request activate.
During the deiconify render of parent and child, child requested unset transient_for and lower.
In this case, the child client have to be lower, but it shown after parent deiconify render done.

To fix this problem, added raising job cancel function and called in lower callback.

Change-Id: Ib66664d518a064567e43eb470929b0caa0620986
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
2 years agoe_output: set rotation of screen after ecore_evas is resized 85/272285/1 accepted/tizen/unified/20220315.132308 submit/tizen/20220315.042653
Changyeon Lee [Fri, 11 Mar 2022 09:34:02 +0000 (18:34 +0900)]
e_output: set rotation of screen after ecore_evas is resized

rotation of ecore_evas is reset after ecore_evas is resized
so we should set rotation of ecore_evas after it is resized

Change-Id: I8358eae3362587989f3eeac0e97c38c0c91d01e2

2 years agoe_output: do not resize ecore evas of e_comp in e_output 84/272284/1
Changyeon Lee [Fri, 11 Mar 2022 04:38:24 +0000 (13:38 +0900)]
e_output: do not resize ecore evas of e_comp in e_output

ecore evas is resized in E_OUTPUT_HOOK_MODE_CHANGE hook of e_comp_screen
(_e_comp_screen_cb_output_mode_change function)

Change-Id: I5c58dca348b4c336dca5d7caf26872ffc0f5e908

2 years agowinfo: add seat_name in a result string of '-input_devices' 23/272223/1
duna.oh [Fri, 11 Mar 2022 08:33:10 +0000 (17:33 +0900)]
winfo: add seat_name in a result string of '-input_devices'

Change-Id: I088f92a17402a0abbd7c302065b4439d478d54bc

2 years agoadd seat_name variable in struct E_Devicemgr_Input_Device 22/272222/1
duna.oh [Fri, 11 Mar 2022 07:11:40 +0000 (16:11 +0900)]
add seat_name variable in struct E_Devicemgr_Input_Device

Change-Id: Ica53641c84c38b0d8198113ff915c22dafca3873

2 years agoe_input_evdev: fix mouse event coord. according to the associated output 98/272198/1
duna.oh [Fri, 11 Mar 2022 04:46:01 +0000 (13:46 +0900)]
e_input_evdev: fix mouse event coord. according to the associated output

Change-Id: Ia07319c6d3f7ca0827a68cf4eae01115d4ff6c30

2 years agowinfo: add option -input_output_set [input(ex./dev/input/eventX)] [output(ex.HDMIA-0)] 97/272197/1
duna.oh [Fri, 11 Mar 2022 03:35:27 +0000 (12:35 +0900)]
winfo: add option -input_output_set [input(ex./dev/input/eventX)] [output(ex.HDMIA-0)]

Change-Id: If7b657b092a32d2a89cc90711b2786d41b98217e

2 years agoe_input_evdev: adjust event coord. according to the associated output 89/272189/1
duna.oh [Thu, 10 Mar 2022 11:52:59 +0000 (20:52 +0900)]
e_input_evdev: adjust event coord. according to the associated output

Change-Id: I50db5155a9512aea6d33338710ad77d1a03f4e5e

2 years agoe_output: remove unused intern function 74/272174/1
Changyeon Lee [Thu, 10 Mar 2022 09:19:52 +0000 (18:19 +0900)]
e_output: remove unused intern function

removed e_output_primary_mode_change
it can be replaced by e_output_mode_apply

Change-Id: Ibab791e49754105b2d80c630c388e7ed0f0e3efc

2 years agowinfo: add output index to output_mode option 73/272173/1
Changyeon Lee [Thu, 10 Mar 2022 09:02:28 +0000 (18:02 +0900)]
winfo: add output index to output_mode option

output index is for changing mode of all output

winfo -output_mode [output idx] [mode number]

Change-Id: I709a37bf28085c9ebd4795d0c877294871658bdc

2 years agowinfo: add zone_set option 19/272019/1 submit/tizen/20220307.060233
Doyoun Kang [Sun, 6 Mar 2022 23:33:10 +0000 (08:33 +0900)]
winfo: add zone_set option

Added new option to change window's zone in winfo (enlightenment_info).
usage: winfo -zone_set [windowID] [zone id]

Change-Id: I7e905a977e6a65cf63c62c6e14c28bf21b510af5

2 years agoe_hwc_windows: remove unnecessary the norender checking 39/271939/1
Changyeon Lee [Thu, 3 Mar 2022 02:06:29 +0000 (11:06 +0900)]
e_hwc_windows: remove unnecessary the norender checking

norender is checked before _e_hwc_windows_evaluate
in e_hwc_windows_commit

Change-Id: I10e15872a8a16c3883b557f09e47e9dce4e98834

2 years agoe_policy_wl: update states(iconic, visibility) of transient below child while changin... 30/271930/1 accepted/tizen/unified/20220304.004841 submit/tizen/20220303.084901 submit/tizen/20220303.091131
Doyoun Kang [Thu, 3 Mar 2022 07:27:30 +0000 (16:27 +0900)]
e_policy_wl: update states(iconic, visibility) of transient below child while changing parent's alpha value

There was a bug that the e didn't send an iconic state change event to the transient below child
when its parent's alpha value is changed.
This patch resolve this problem.

Change-Id: I5f08a85a230ecf48f1bb2a9ea500b87cf7746510

2 years agoorg.enlightenment.wm.conf: allow system_fw group to use dbus interface 69/271869/1
Chanwoo Choi [Thu, 3 Mar 2022 00:02:45 +0000 (09:02 +0900)]
org.enlightenment.wm.conf: allow system_fw group to use dbus interface

Change-Id: I71e81741bfea3237a4188a3aa840ee89c1ea41a3
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: SooChan Lim <sc1.lim@samsung.com>
2 years agoe_keyrouter: fix resource leak issue in e_keyrouter_key_cancel() 26/271826/1 accepted/tizen/unified/20220303.131807 submit/tizen/20220302.085544
duna.oh [Wed, 2 Mar 2022 01:45:49 +0000 (10:45 +0900)]
e_keyrouter: fix resource leak issue in e_keyrouter_key_cancel()

Change-Id: Ibb3095b2ee7089f5d2c6e6ca4e4936ce894f2836

2 years agoe_magnifier: check null reference 21/271821/1
Doyoun Kang [Wed, 2 Mar 2022 04:03:46 +0000 (13:03 +0900)]
e_magnifier: check null reference

Change-Id: Ia2226093c75caff1eb5f922d7c8feb83e7b6a95f

2 years agoe_util_transform: add functions to get sin/cos value 04/271604/1
Doyoun Kang [Wed, 23 Feb 2022 08:36:03 +0000 (17:36 +0900)]
e_util_transform: add functions to get sin/cos value

Change-Id: Idf549efe9d73dea7c280665b6dd4a0f5b8cf6728

2 years agoe_hwc_planes: setup e_plane after ecore_evas of e_comp is allocated 96/271596/2 accepted/tizen/unified/20220223.222557 submit/tizen/20220223.083906
Changyeon Lee [Wed, 23 Feb 2022 07:25:40 +0000 (16:25 +0900)]
e_hwc_planes: setup e_plane after ecore_evas of e_comp is allocated

ecore_evas of e_comp is allocated after all e_output is created.
if e_plane_setup is called in e_output_hwc_setup, it is failed
because ecore_evas of e_comp is null.
this patch fixes failing of e_plane_setup.

Change-Id: I8b3e164cb3175770f1e924681634c0fa761d172f

2 years agodevimgr: fix string operation of device's name and identifier 40/271440/1 accepted/tizen/unified/20220222.034344 submit/tizen/20220221.233105
duna.oh [Sun, 20 Feb 2022 23:00:17 +0000 (08:00 +0900)]
devimgr: fix string operation of device's name and identifier

Change-Id: I8b0aa3e7ae66832691e4a98bdf4bf86784d21193

2 years agoe_hwc_windows: use max_transition_failures of root target window 02/271402/1
Changyeon Lee [Fri, 18 Feb 2022 09:00:14 +0000 (18:00 +0900)]
e_hwc_windows: use max_transition_failures of root target window

max_transition_failures of target window is not initialized
because target window does not have queue.
this patch change to use valid max_transition_failures of root
target window.

Change-Id: Ia96f8d277f19509cc2510201e3c2711e1b141ee9

2 years agoe_zone: add new APIs for getting E_Zone 50/271350/2
Doyoun Kang [Wed, 16 Feb 2022 05:02:07 +0000 (14:02 +0900)]
e_zone: add new APIs for getting E_Zone

- E_Zone *e_zone_get_by_id(int id);
- E_Zone *e_zone_get_by_position(int x, int y);

Change-Id: I8f814a3a374dbe457dd9e9048954f4daa6497b77

2 years agoe_client: adjust interactive_resize configure 47/271347/1
Junseok Kim [Thu, 17 Feb 2022 08:20:11 +0000 (17:20 +0900)]
e_client: adjust interactive_resize configure

Change-Id: I224f0f241ef9fefa6f7ea6960151463bba1c4a5e
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
2 years agoe_config: added interactive_resize configure 46/271346/1
Junseok Kim [Thu, 17 Feb 2022 06:11:53 +0000 (15:11 +0900)]
e_config: added interactive_resize configure

interactive_resize: configure for the visible shape while resizing
0: resize with preview object and resize the target window once after done.
1: resize with interactive moving of target window.

Change-Id: I6a4f8fc1244b103d4dd47e0fb6121e830234ee8a
Signed-off-by: Junseok Kim <juns.kim@samsung.com>
2 years agoe_hwc_windows: set infomation of client target to tdm 34/271334/1 accepted/tizen/unified/20220220.211449 submit/tizen/20220218.025831
Changyeon Lee [Wed, 16 Feb 2022 10:41:11 +0000 (19:41 +0900)]
e_hwc_windows: set infomation of client target to tdm

we should give image position of source buffer to client target
because target window share buffer of root target window with
other target window.

for example
if two output(size is 1920x1080) are eanbled, source buffer size
is 3840x1080 and images of client target is located at (0,0) and
(1920,0).
but tdm backend does not know that position of output image in
source buffer.

Change-Id: I156a9515386e1c75a0c1f1db8cfb265bec07b391

2 years agoe_hwc_windows: remove dead code 33/271333/1
Changyeon Lee [Tue, 15 Feb 2022 10:03:36 +0000 (19:03 +0900)]
e_hwc_windows: remove dead code

Change-Id: Ie40676f0c913994c0e78fc2c6af33a1eea234176

2 years agoe_hwc_windows: call presentation callback in case of window is hidden 32/271332/1
Changyeon Lee [Tue, 15 Feb 2022 08:54:12 +0000 (17:54 +0900)]
e_hwc_windows: call presentation callback in case of window is hidden

if window is hided, window is not exist in rendered windows list.
but presentation callback should be called when window is hidding(show->hide)
this patch makes presentation callback is taken to comp_info if
window is hidden.

Change-Id: Ibe22490df8ef0301ad38899281e69abaf8b08850

2 years agoe_hwc_windows: clean present sync windows when target window is freed 31/271331/1
Changyeon Lee [Fri, 11 Feb 2022 11:49:33 +0000 (20:49 +0900)]
e_hwc_windows: clean present sync windows when target window is freed

fix leak sync windows of target window

Change-Id: Iedcbca7dddd290768c71d939cf6183342fc5b98c

2 years agoe_hwc_windows: dequeue the pending update data of all hwc 30/271330/1
Changyeon Lee [Fri, 11 Feb 2022 11:31:37 +0000 (20:31 +0900)]
e_hwc_windows: dequeue the pending update data of all hwc

all hwc use same the root target window (ecore_evas)
so the root target window should dequeue the pending
update data of all hwc

Change-Id: Ic019da2bc315a49e5cefac755c0dd1b8eac7e1ae

2 years agoe_hwc_windows: unset zoom in case of output mode is presentation 29/271329/1
Changyeon Lee [Fri, 11 Feb 2022 07:46:43 +0000 (16:46 +0900)]
e_hwc_windows: unset zoom in case of output mode is presentation

current presentation mode does not use zoom.

Change-Id: I07c0b6aab21eebc6e44c02dcbcfd29158c5488f9

2 years agoe_hwc_windows: do not check hwc transition if output mode is mirror 28/271328/1
Changyeon Lee [Fri, 11 Feb 2022 07:22:31 +0000 (16:22 +0900)]
e_hwc_windows: do not check hwc transition if output mode is mirror

if output mode is mirror, source output buffer will be displayed
so we does not need to check hwc transtion.

Change-Id: I6f9c923744cb05b7eb46f3690460013c34e08a25

2 years agoe_hwc_windows: get acquire fence from root target hwc window 27/271327/1
Changyeon Lee [Fri, 11 Feb 2022 07:12:19 +0000 (16:12 +0900)]
e_hwc_windows: get acquire fence from root target hwc window

root target hwc window has acquire fence
because root target hwc window has ecore evas.

Change-Id: Id09222e585a54ad0fa3140aefeda699f580485ac

2 years agoe_hwc_windows: create pp_queue in case of zoom use sw copy 26/271326/1
Changyeon Lee [Fri, 11 Feb 2022 07:01:50 +0000 (16:01 +0900)]
e_hwc_windows: create pp_queue in case of zoom use sw copy

sw copy was changed to use pp_queue

Change-Id: I53fa36047adef05ffa7d9875820afde38d838c75

2 years agoe_hwc_windows: remove fixed name of target window 25/271325/1
Changyeon Lee [Fri, 11 Feb 2022 03:01:32 +0000 (12:01 +0900)]
e_hwc_windows: remove fixed name of target window

Change-Id: Ic4b98734b586ac5757587b13cd9c80367a1dbf7e

2 years agoe_eom: do not prevent to show presentation ec if hwc policy is windows 24/271324/1
Changyeon Lee [Thu, 10 Feb 2022 11:21:49 +0000 (20:21 +0900)]
e_eom: do not prevent to show presentation ec if hwc policy is windows

hwc windows can show presentation ec by gl compositing
so presentation should be visible state.

Change-Id: I33bd99a8ea753098bdea68caa720e5e73c4db452

2 years agoe_client_video: use external video interface only when hwc policy is planes 23/271323/1
Changyeon Lee [Thu, 10 Feb 2022 11:20:22 +0000 (20:20 +0900)]
e_client_video: use external video interface only when hwc policy is planes

hwc windows policy have same hwc logic of primary and external output

Change-Id: If4b4bd4e9447ad52d4cf5a082b9a931487a864fa

2 years agoe_output: set presentation ec to zone of external output 22/271322/1
Changyeon Lee [Thu, 10 Feb 2022 10:06:47 +0000 (19:06 +0900)]
e_output: set presentation ec to zone of external output

hwc_windows does not manage presentation ec, presentation mode means
client is set to zone in hwc_windows.

Change-Id: I3b10b44eabe928ee8b364773aff6d299b4870a80

2 years agoe_client_video: initialize new compositing interface when zone is changed 21/271321/1
Changyeon Lee [Tue, 25 Jan 2022 09:51:03 +0000 (18:51 +0900)]
e_client_video: initialize new compositing interface when zone is changed

compositing policy of given E_Zone is changed.

Change-Id: Ib38415533f04034a027c04e3d533387d64840081

2 years agoe_hwc_window: fix destination position according to geometry of zone 20/271320/1
Changyeon Lee [Tue, 25 Jan 2022 08:07:12 +0000 (17:07 +0900)]
e_hwc_window: fix destination position according to geometry of zone

left top position of output coordinate is (0,0) so it need to adjust
destination position

Change-Id: I5df7df9b55a6cd4256819d301bc0c41aa8a13e51

2 years agoe_hwc_windows: init/deinit hwc_window member of target hwc window 19/271319/1
Changyeon Lee [Thu, 10 Feb 2022 06:59:24 +0000 (15:59 +0900)]
e_hwc_windows: init/deinit hwc_window member of target hwc window

fix leak of hwc_widnow member of target hwc window

Change-Id: I89ccc56e0b61cac942318141f5c4983c7fe29d09

2 years agoe_info_server: set deactive hwc of all output in hwc option 18/271318/1
Changyeon Lee [Tue, 8 Feb 2022 04:42:54 +0000 (13:42 +0900)]
e_info_server: set deactive hwc of all output in hwc option

Change-Id: Ieb6a37836bb467dcb99b286899875de26fb736df

2 years agoe_hwc_windows: remove functions about presentation mode 17/271317/1
Changyeon Lee [Tue, 8 Feb 2022 12:25:29 +0000 (21:25 +0900)]
e_hwc_windows: remove functions about presentation mode

Change-Id: If7f468714b4c163475e33c53c676da2657b4f156

2 years agoe_comp_screen: update size of e_comp_screen when output is changed 16/271316/1
Changyeon Lee [Tue, 8 Feb 2022 04:43:48 +0000 (13:43 +0900)]
e_comp_screen: update size of e_comp_screen when output is changed

Change-Id: I7037685accc579011e43a7aa0eac5d47f8005a86

2 years agoe_comp_screen: create ecore_evas with size of e_comp_screen 15/271315/1
Changyeon Lee [Mon, 7 Feb 2022 11:11:12 +0000 (20:11 +0900)]
e_comp_screen: create ecore_evas with size of e_comp_screen

width of e_comp_screen is calculated by sum of output width
and height of e_comp_screen is calculated by max of output height
because we place external output to the right of primary output.

Change-Id: I98be0d3ac6fbd67e19052dc0b783984614d3dd5a

2 years agoe_hwc: set fake config to output before initialize ecore_evas 14/271314/1
Changyeon Lee [Thu, 27 Jan 2022 11:27:53 +0000 (20:27 +0900)]
e_hwc: set fake config to output before initialize ecore_evas

Change-Id: Ied469c2c8aa8402655e673face4c2482c8992612

2 years agoe_output: call hook of mode change in e_output_mode_apply 13/271313/1
Changyeon Lee [Thu, 27 Jan 2022 03:23:18 +0000 (12:23 +0900)]
e_output: call hook of mode change in e_output_mode_apply

this patch makes hook of mode change is called when
mode of primary output is changed.

Change-Id: I604985cf5584ebd11822ad41c6843686622e15ad

2 years agoe_output: remove unnecessary e_comp_canvas_norender_push/pop 12/271312/1
Changyeon Lee [Wed, 26 Jan 2022 11:28:57 +0000 (20:28 +0900)]
e_output: remove unnecessary e_comp_canvas_norender_push/pop

rendering and displaying is done in main thread.
e_comp_canvas_norender_push/pop is unnecessary.

Change-Id: I95f942612b0fbe4433c060fc7fa9ec942ddad732

2 years agoe_output: rename e_output_mode_change to e_output_primary_mode_change 11/271311/1
Changyeon Lee [Wed, 26 Jan 2022 11:55:51 +0000 (20:55 +0900)]
e_output: rename e_output_mode_change to e_output_primary_mode_change

only primary output can change mode by e_output_mode_change api
e_output_primary_mode_change name is more meaningful

Change-Id: I8dffc6423ccd9d0470901c8b165815d84ec44ed2

2 years agoe_comp_canvas: update width and height of e_comp in resize callback 10/271310/1
Changyeon Lee [Wed, 26 Jan 2022 12:32:02 +0000 (21:32 +0900)]
e_comp_canvas: update width and height of e_comp in resize callback

Change-Id: I8ee52c09ad281193624df2512e053782de4ea709

2 years agoe_comp_screen: create e_screen per e_output 09/271309/1
Changyeon Lee [Fri, 21 Jan 2022 03:02:42 +0000 (12:02 +0900)]
e_comp_screen: create e_screen per e_output

this patch is for creating e_zone per e_output
e_zone is created in e_comp_canvas_update per e_screen

Change-Id: Ia20c8b4a0d27b163831a9eb3eb1c88d7065a84c4

2 years agoe_hwc_window: add is_root_target flag to window 08/271308/1
Changyeon Lee [Tue, 8 Feb 2022 10:45:57 +0000 (19:45 +0900)]
e_hwc_window: add is_root_target flag to window

Change-Id: I7771731770b2a12e4e6075d49a9a4fc8c53b62b4

2 years agoe_hwc windows: update state of root target window in e_hwc_windows_render 07/271307/1
Changyeon Lee [Tue, 8 Feb 2022 10:29:52 +0000 (19:29 +0900)]
e_hwc windows: update state of root target window in e_hwc_windows_render

if target window of all hwc do not have device state,
none state is set to root target window and it does not render.

Change-Id: I72f75ed0aad1cbd93b92bd8d1f696e8675395878

2 years agoe_hwc: remove unnecessary resize callback of ecore_evas 06/271306/1
Changyeon Lee [Tue, 8 Feb 2022 09:17:10 +0000 (18:17 +0900)]
e_hwc: remove unnecessary resize callback of ecore_evas

resize callback is overrided in e_comp_canvas_init

Change-Id: Ib269e7b531b358b2303bcb64fea7ade601a93484

2 years agoe_hwc: initialize ecore_evas after all output is created 05/271305/1
Changyeon Lee [Tue, 8 Feb 2022 08:40:08 +0000 (17:40 +0900)]
e_hwc: initialize ecore_evas after all output is created

ecore_evas size can be calculated after mode of all output
is determined.

Change-Id: Ib5d0cd8b718f7cd515f8d8c174fad9e4376ca1b5

2 years agoe_hwc_windows: add root target hwc window to hwc of primary output 04/271304/1
Changyeon Lee [Tue, 8 Feb 2022 07:23:59 +0000 (16:23 +0900)]
e_hwc_windows: add root target hwc window to hwc of primary output

this patch is for sharing buffer of gl compositing to all output.
root target hwc window fetch buffer of gl compositing and
target hwc window is fetch buffer from the root target hwc window.

Change-Id: Ic5041e55a5a94dc881cd652a6e693d1785eb2a1a

2 years agoe_hwc_windows: compare output of ec zone and hwc in visible_windows_list_get 03/271303/1
Changyeon Lee [Mon, 24 Jan 2022 07:08:02 +0000 (16:08 +0900)]
e_hwc_windows: compare output of ec zone and hwc in visible_windows_list_get

output of ec zone can be different with hwc of output

Change-Id: Id13f5fcea814b61bd4361684b391ad6dfd9a575a

2 years agoe_hwc_window: recreate hwc_window of video when zone is changed 02/271302/1
Changyeon Lee [Tue, 25 Jan 2022 09:56:07 +0000 (18:56 +0900)]
e_hwc_window: recreate hwc_window of video when zone is changed

hwc_window should be recreated when hwc_window of output is changed
because tdm_hwc_window is created by tdm_hwc and tdm_hwc is changed
if output is changed

Change-Id: Idc59ab4f93cc3ef639e6ef13d7be2487f2c66be6

2 years agoe_hwc_window: use E_Hwc_Window_Queue_Ref for managing queue buffer 01/271301/1
Changyeon Lee [Thu, 20 Jan 2022 08:11:55 +0000 (17:11 +0900)]
e_hwc_window: use E_Hwc_Window_Queue_Ref for managing queue buffer

Change-Id: I1a53b32e9c94a9376fe6b10c72b7227ef83398d5

2 years agoe_hwc_window_queue: add e_hwc_window_queue_buffer_reference 00/271300/1
Changyeon Lee [Thu, 20 Jan 2022 05:12:01 +0000 (14:12 +0900)]
e_hwc_window_queue: add e_hwc_window_queue_buffer_reference

if busy of queue_buffer is zero, queue_buffer is released to queue

Change-Id: Id657902f9ecd211ff1cde1b72098724c49958fa0

2 years agoe_comp_wl: delete evas_object's callbacks when ec is deleted 25/271225/1 accepted/tizen/unified/20220218.152610 submit/tizen/20220217.050611 submit/tizen/20220217.084227
Doyoun Kang [Thu, 17 Feb 2022 03:45:04 +0000 (12:45 +0900)]
e_comp_wl: delete evas_object's callbacks when ec is deleted

Change-Id: I5ba05bbf5d060d4bfd492a849a6296d74d4370b0

2 years agoe_comp: check whether E_Zone is null or not in e_comp_deferred_job 22/271022/2 accepted/tizen/unified/20220216.010248 submit/tizen/20220215.085822
Doyoun Kang [Mon, 14 Feb 2022 04:39:23 +0000 (13:39 +0900)]
e_comp: check whether E_Zone is null or not in e_comp_deferred_job

Change-Id: I748c52dd3ac3f26ac423d9d358e1d1114f458803

2 years agoe_info_client: fix the string overflow: check strlen before strncpy 20/271020/1
Duna Oh [Mon, 14 Feb 2022 04:56:25 +0000 (13:56 +0900)]
e_info_client: fix the string overflow: check strlen before strncpy

2 years agoe_info_client/server: print zone information for topvwins 07/270807/1 accepted/tizen/unified/20220214.130950 submit/tizen/20220211.093003
Doyoun Kang [Wed, 9 Feb 2022 07:36:39 +0000 (16:36 +0900)]
e_info_client/server: print zone information for topvwins

Change-Id: I2e1f57ab734de1a38e5542a6f04ed7ad945b8070

2 years agoe_info_client/server: add zone information for topwins 06/270806/1
Doyoun Kang [Mon, 7 Feb 2022 08:11:39 +0000 (17:11 +0900)]
e_info_client/server: add zone information for topwins

Change-Id: I5c4ca05645c046566e1e5329a612e4c4f82a65a0

2 years agoe_hwc_window_queue: unset callback of wait usable before the buffers retrieve is... 54/270654/1 accepted/tizen/unified/20220209.131808 submit/tizen/20220208.025455
Changyeon Lee [Mon, 7 Feb 2022 06:16:00 +0000 (15:16 +0900)]
e_hwc_window_queue: unset callback of wait usable before the buffers retrieve is called

callback of wait usable was not unset in _e_hwc_window_queue_prepare_unset
because cqueue of hwc_window was set to null in _e_hwc_window_queue_buffers_retrieve.

Change-Id: I5fb68ea20cec54a454add03c48701f1fd9530423

2 years agoe_comp_wl_data: fix build warning 97/270597/1
Doyoun Kang [Mon, 7 Feb 2022 00:26:27 +0000 (09:26 +0900)]
e_comp_wl_data: fix build warning

Change-Id: Ibee7d01c8e731ed23bad5ce649a47e4d8c7037b0

2 years agoe_process: check ec's validation in _e_process_windows_visible_get 07/270307/1 accepted/tizen/unified/20220204.132315 submit/tizen/20220204.063101
Doyoun Kang [Thu, 27 Jan 2022 08:13:19 +0000 (17:13 +0900)]
e_process: check ec's validation in _e_process_windows_visible_get

We modify code to skip the deleted ec while checking the visible state of windows.

By this patch, if all windows of specified process are destroyed, then e makes the state
of process to STATE_BACKGROUND and sends E_PROCESS_ACT_NO_VISIBLE_WINDOWS action signal.

Change-Id: I12bc0c7d1c9fa1e07909429e01072bd857adf12f

2 years agoe_comp_wl: fix invalid dangling pointer. (e_comp_wl->ptr.ec, e_comp_wl->touch.faked_ec) 00/270300/1
Duna Oh [Thu, 27 Jan 2022 08:55:03 +0000 (17:55 +0900)]
e_comp_wl: fix invalid dangling pointer. (e_comp_wl->ptr.ec, e_comp_wl->touch.faked_ec)

set e_comp_wl->ptr.ec, e_comp_wl->touch.faked_ec to NULL when ec is deleted

Change-Id: Ie45c5b3dd74836f50e9bd7e4049312972f48de40

2 years agoe_comp_wl_video: Rename macro IS_RGB to E_VBUF_IS_RGB 55/270255/1 accepted/tizen/unified/20220128.144331 submit/tizen/20220127.065549
Changyeon Lee [Thu, 27 Jan 2022 05:49:24 +0000 (14:49 +0900)]
e_comp_wl_video: Rename macro IS_RGB to E_VBUF_IS_RGB

IS RGB can be easily redefined.
E_VBUF is added and it is moved to source file.

Change-Id: Ib22c788cb1c966ca234aea6bcfe207ec07f7818c

2 years agoe_policy_visibility: reset vc->state to ICONIC while canceling visibility job 25/270225/1
Doyoun Kang [Wed, 26 Jan 2022 07:05:01 +0000 (16:05 +0900)]
e_policy_visibility: reset vc->state to ICONIC while canceling visibility job

There was a bug that the window's iconic_state_change event didn't send to the client
in _e_vis_client_add_uniconify_render_pending. This was because the vc->state was
remained to E_VIS_ICONIFY_STATE_RUNNING_UNICONIFY_RENDER_DONE.
This can be occurred when the uniconify_by_visibility job is canceled.

To resolve this problem, we add code to set the vc->state to E_VIS_ICONIFY_STATE_ICONIC
in uniconify_by_visibility job cancel function.

Change-Id: Ie2873be552b15cb3216f1d1dcc3f587807769cb4

2 years agoe_pointer: add e_pointer hook 06/270206/1
Junkyeong, Kim [Wed, 26 Jan 2022 10:11:24 +0000 (19:11 +0900)]
e_pointer: add e_pointer hook

Add two default e_pointer hook point below.
E_POINTER_HOOK_TOUCH_MOVE
E_POINTER_HOOK_MOUSE_MOVE

Change-Id: Ib804aa61bf2c29b8ec728d2fe4e39ca508e5a041
Signed-off-by: Junkyeong, Kim <jk0430.kim@samsung.com>
2 years agoe_comp_wl: fix rounding error using lround() in e_comp_wl_map_inv_coord_get() 92/270092/2
Duna Oh [Tue, 25 Jan 2022 08:00:46 +0000 (17:00 +0900)]
e_comp_wl: fix rounding error using lround() in e_comp_wl_map_inv_coord_get()

E20 converts the client-area coordinates to the screen coordinates
using e_comp_wl_map_inv_coords_get(). When trying to get new coordinates,
there was issues with rounding error. Fix it using lround()

Change-Id: I6be25998287ad0dc869eb60af8474ba2b2a7a77e

2 years agoe_comp_wl: send wl_data_device_enter when cursor enter to offer 82/269582/4
Junseok, Kim [Wed, 5 Jan 2022 04:12:38 +0000 (13:12 +0900)]
e_comp_wl: send wl_data_device_enter when cursor enter to offer

There was a bug that wl_data_device.enter didn't sended to offer client except source client.
It is continued untill the user release their pointer. and It makes the offer client didn't notice cursor entered until drag-and-drop performed.
For fix this problem, check the window that below cursor and send wl_data_device.enter/leave when during the drag performed.

Change-Id: Id5e8902e07371570cc97f0583b3e9b1403be1fa1

2 years agoe_comp_wl_data: added mediator function between data source and offer clients. 80/269580/4
Junseok, Kim [Tue, 18 Jan 2022 12:17:51 +0000 (21:17 +0900)]
e_comp_wl_data: added mediator function between data source and offer clients.

In Some system, FD passing is blocked by their security policy.
It could be cause block the IPC between data source and offer client, and it finally the DnD operation gones to fail.
To avoid this problem, added mediator to makes IPC structure being to client -> server -> client instead of direct IPC of client to client.

Change-Id: I12544ea4c8a26422461533d86399e620cec0c46f

2 years agoe_comp_wl_video_buffer: support XBGR8888 ABGR8888 format 60/270060/1
Changyeon Lee [Mon, 24 Jan 2022 08:56:01 +0000 (17:56 +0900)]
e_comp_wl_video_buffer: support XBGR8888 ABGR8888 format

Change-Id: I87de1396f9c20d7484ef93c284591817dc291971

2 years agoe_policy_visibility: do not remove vc->buf_attach event handler while executing pende... 23/269823/1 accepted/tizen/unified/20220121.123008 submit/tizen/20220120.081949
Doyoun Kang [Thu, 20 Jan 2022 06:24:27 +0000 (15:24 +0900)]
e_policy_visibility: do not remove vc->buf_attach event handler while executing pended job

There was an issue that the E_Vis_Grab resource which was wating for buffer attach event
couldn't freed if the E_Vis_Grab's timer was expired.
This resource would be freed when the E_Client was destroyed.
However, if the E_Client is not destroyed, then the memory can be increased continuousely.

This patch makes the E_Vis_Grab resource to be freed when a timeout is occured.

Change-Id: Ia6a1bee0ddeddaef42a52bd384ba50d027033827

2 years agoe_hwc_window_queue: skip setting backup buffer even if client has buffer 68/269568/2
Changyeon Lee [Tue, 18 Jan 2022 08:09:56 +0000 (17:09 +0900)]
e_hwc_window_queue: skip setting backup buffer even if client has buffer

client can have buffer even if client is iconify and buffer flush is enabled
because buffer of client is cleared when buffer flush timer is expired
however client wait new buffer is attached when client change to uniconify
backup buffer is not needed in this case

Change-Id: I15beb8824f71ffa6f4bf39b319abe7795ec3fa40

2 years agoe_hwc_window_queue: add log when backup buffer is created 67/269567/2
Changyeon Lee [Tue, 18 Jan 2022 08:05:58 +0000 (17:05 +0900)]
e_hwc_window_queue: add log when backup buffer is created

Change-Id: If4317899ea7fcd990d683b4849ba70bf23181cc4