Same ilm surface on multiple layer support

Mizuno, Wataru (ADITJ/SWG) wmizuno at jp.adit-jv.com
Thu May 10 06:24:34 EDT 2018


Hi Vikas,

This issue might be fixed with this patch: e8ff7df863a10eb4be5273017fb544b5f823fc6a

Please try with it.

Best regards,

Wataru Mizuno
ADITJ / SWG

+81-(0)566-56-0946

From: Vikas Patil [mailto:vikasmpatil at gmail.com]
Sent: Thursday, May 10, 2018 4:07 PM
To: Ucan, Emre (ADITG/ESB)
Cc: genivi-ivi-layer-management at lists.genivi.org<mailto:genivi-ivi-layer-management at lists.genivi.org>; Mizuno, Wataru (ADITJ/SWG); wayland mailing list; Ikshwaku Chauhan
Subject: Re: Same ilm surface on multiple layer support

Hi All,
As some of the LayerManagerControl commands do not work when same surface is attached to two layers.

Following command hangs and do not come out as expected. I tried to check where it is hanging using GDB. Is this gives some hit on issue and resolution? Please suggest if you have any pointers.

LayerManagerControl get scene

root at linux1:~# gdb -p 916
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.
warning: Unable to find libthread_db matching inferior's thread library, thread debugging will not be available.

0x4ddf68f4 in wl_list_length () from /usr/lib/libwayland-client.so.0
(gdb) bt
#0  0x4ddf68f4 in wl_list_length () from /usr/lib/libwayland-client.so.0
#1  0x4deb45e4 in ilm_getSurfaceIDsOnLayer ()
   from /usr/lib/libilmControl.so.1.11.0
#2  0x00033f80 in printLayerProperties(unsigned int, char const*) ()
#3  0x00035a40 in printScene() ()
#4  0x0001d4e8 in func_2(Expression*) ()
#5  0x000330ac in ExpressionInterpreter::interpretCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) ()
#6  0x00018d50 in main ()
Regards,
Vikash

On Tue, Apr 17, 2018 at 10:51 AM, Vikas Patil <vikasmpatil at gmail.com<mailto:vikasmpatil at gmail.com>> wrote:
Hi Emre,
Could you please suggest on this blocking behavior of LayerManagerControl with multi screen/layer?
Thank You.
Best Regards,
Vikash

On Wed, Apr 11, 2018 at 11:35 AM, Vikas Patil <vikasmpatil at gmail.com<mailto:vikasmpatil at gmail.com>> wrote:
Hi Emre Ucan,
Thanks a lot for your quick response. I am able to show same surface on two layers now. I have taken following two commit to weston 1.11.0. Attached here same as  patch to weston 1.11.0.

"5e8d55da698e58"
"67bd21232fa549"
However if I use any of the below commands to analyze then it is not  exiting and I need to prress "CTRl+C" to come out from command. Do you know if this is the normal behavior or some fix is available for this ?

root at linux-a1 :~# LayerManagerControl analyze surface 10
^C

root@ linux-a1 :~# LayerManagerControl get scene
screen 0 (0x0)
---------------------------------------
- resolution:           x=800, y=480
- hardware layer count: 0
- layer render order:   1000(0x3e8), 2000(0x7d0),

    layer 1000 (0x3e8)
    ---------------------------------------
    - created by pid:       0
    - original size:        x=400, y=480
    - destination region:   x=0, y=0, w=400, h=480
    - source region:        x=0, y=0, w=400, h=480
    - orientation:          0 (up is top)
    - opacity:              1
    - visibility:           1
    - type:                 0 (unknown)
^C

root at linux-a1:~# LayerManagerControl get layer 1000
layer 1000 (0x3e8)
---------------------------------------
- created by pid:       0
- original size:        x=400, y=480
- destination region:   x=0, y=0, w=400, h=480
- source region:        x=0, y=0, w=400, h=480
- orientation:          0 (up is top)
- opacity:              1
- visibility:           1
- type:                 0 (unknown)
^C

root at orinoco-9939-a1:~# LayerManagerControl get surface 10
surface 10 (0xa)
---------------------------------------
- created by pid:       821
- original size:      x=800, y=480
- destination region: x=0, y=0, w=400, h=480
- source region:      x=0, y=0, w=800, h=480
- orientation:        0 (up is top)
- opacity:            1
- visibility:         1
- pixel format:       0 (R-8)
- native surface:     0
- counters:           frame=0, draw=0, update=0
^C
Also following commands worked successfully.


LayerManagerControl get screen 0
LayerManagerControl get layer 2000
LayerManagerControl get layers
LayerManagerControl get surfaces
I used following commands to setup  and test

export XDG_RUNTIME_DIR=/var/run/root/1000

LayerManagerControl create layer 1000 400 480
LayerManagerControl set layer 1000 visibility 1
LayerManagerControl set layer 1000 destination region 0 0 400 480

LayerManagerControl create layer 2000 400 480
LayerManagerControl set layer 2000 visibility 1
LayerManagerControl set layer 2000 destination region 400 0 400 480

LayerManagerControl set screen 0 render order 1000,2000

EGLWLMockNavigation &
LayerManagerControl add surface 10 to layer 1000
LayerManagerControl add surface 10 to layer 2000
LayerManagerControl set surface 10 visibility 1
LayerManagerControl set surface 10 source region 0 0 800 480
LayerManagerControl set surface 10 destination region 0 0 400 480
Best Regards,
Vikash

On Tue, Apr 10, 2018 at 7:43 PM, Ucan, Emre (ADITG/ESB) <eucan at de.adit-jv.com<mailto:eucan at de.adit-jv.com>> wrote:
Hi Vikas,

This patch “5e8d55da698e58”  enabled the feature. It is part of weston 1.12 release.

Best regards

Emre Ucan
Engineering Software Base (ADITG/ESB)

Tel. +49 5121 49 6937
From: wayland-devel [mailto:wayland-devel-bounces at lists.freedesktop.org<mailto:wayland-devel-bounces at lists.freedesktop.org>] On Behalf Of Vikas Patil
Sent: Dienstag, 10. April 2018 14:58
To: genivi-ivi-layer-management at lists.genivi.org<mailto:genivi-ivi-layer-management at lists.genivi.org>; Mizuno, Wataru (ADITJ/SWG); wayland mailing list
Subject: Same ilm surface on multiple layer support

+Subject
Dear All,
We are facing issue when we are trying to add same surface to multiple layers. When we try to attach surface to another layer, it is getting detached from the earlier layer.
We are using wayland/weston/wayland-ivi-extension 1.11.0 with drm-backend on TI's Soc.
Could anyone know if this is the limitation of ILM 1.11.0 ? Is this fixed in newer version and can it be ported to 1.11.0 ? or Is there any other way to show same surface on multiple layers?
I see it was the limitation with wayland-ivi-extesnion 1.9.0 as below [1].

"Currently 1 layer can be only on 1 screen, and 1 surface can be only on 1 layer,
 we are planning to relax this limitation And allow 1 surface to be on many layers but we would need to break the ABI and change the
ivi-controller protocol."
[1] https://lists.genivi.org/pipermail/genivi-ivi-layer-management/2016-October/005416.html

Thanking you in advance.

Best Regards,
Vikash





More information about the genivi-ivi-layer-management mailing list