Changyeon Lee [Mon, 28 Mar 2022 11:05:30 +0000 (20:05 +0900)]
e_hwc_windows: remove redundant member
Change-Id: I1cadc4902a9b9053a3b7074a0510c494229cd076
Changyeon Lee [Mon, 28 Mar 2022 08:51:15 +0000 (17:51 +0900)]
e_hwc_windows: reference the queue buffer of source which is committed to pp
this patch is for preventing the queue buffer of source is released
to queue while pp of hwc is done.
Change-Id: I2f79fe7b83cd69f8c02dc3431df42626924e55f2
Changyeon Lee [Mon, 28 Mar 2022 09:54:52 +0000 (18:54 +0900)]
e_hwc_window_queue: disable debug log of reference of queue buffer
Change-Id: I0f2beaef38d2204c44b44311e27f59544ef053aa
Changyeon Lee [Fri, 25 Mar 2022 11:11:43 +0000 (20:11 +0900)]
e_output: check zoom rotating in e_output_commit
Change-Id: I48479860f7c2611605427be09f5e4faed260d69c
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
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
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
Changyeon Lee [Fri, 25 Mar 2022 03:53:51 +0000 (12:53 +0900)]
e_hwc_windows: remove duplicate code
Change-Id: I33e01f650a8d7bb5ede24001a4a8e012a9b63e16
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
Changyeon Lee [Thu, 24 Mar 2022 08:29:54 +0000 (17:29 +0900)]
e_hwc: remove unused memeber
Change-Id: I059a456ebfcc2534385ab2de9e751431900d2db7
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
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
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
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
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
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
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
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
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
SooChan Lim [Tue, 22 Mar 2022 11:09:25 +0000 (20:09 +0900)]
e_comp_wl: remove the unused surface signals
Change-Id: I7f0a40411a4de6427b0c922b9f1bde4f3f72b875
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
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
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
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
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>
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
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
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>
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
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
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
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
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
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
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
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
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
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
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
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
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>
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
Doyoun Kang [Wed, 2 Mar 2022 04:03:46 +0000 (13:03 +0900)]
e_magnifier: check null reference
Change-Id: Ia2226093c75caff1eb5f922d7c8feb83e7b6a95f
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
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
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
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
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
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>
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>
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
Changyeon Lee [Tue, 15 Feb 2022 10:03:36 +0000 (19:03 +0900)]
e_hwc_windows: remove dead code
Change-Id: Ie40676f0c913994c0e78fc2c6af33a1eea234176
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Changyeon Lee [Tue, 8 Feb 2022 12:25:29 +0000 (21:25 +0900)]
e_hwc_windows: remove functions about presentation mode
Change-Id: If7f468714b4c163475e33c53c676da2657b4f156
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Duna Oh [Mon, 14 Feb 2022 04:56:25 +0000 (13:56 +0900)]
e_info_client: fix the string overflow: check strlen before strncpy
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
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
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
Doyoun Kang [Mon, 7 Feb 2022 00:26:27 +0000 (09:26 +0900)]
e_comp_wl_data: fix build warning
Change-Id: Ibee7d01c8e731ed23bad5ce649a47e4d8c7037b0
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
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
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
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
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>
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
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
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