genivi-ivi-layer-management@lists.genivi.org

development mailing list for GENIVI LayerManagement

View all threads

AW: Do I need to somehow activate sufraces?

JV
Jovic, Vladimir
Mon, May 20, 2019 11:23 AM

Hi,

I found out why it was blocking, so I thought it would be nice to post - maybe I help someone in future.

I register my program to surface events with "ilm_surfaceAddNotification" and when the visibility is 0, I stop rendering.

Mit freundlichen Grüßen

i. A. Vladimir Jovic
ifm ecomatic gmbh

-----Ursprüngliche Nachricht-----
Von: Ucan, Emre (ADITG/ESB) eucan@de.adit-jv.com
Gesendet: Dienstag, 2. Oktober 2018 09:58
An: Jovic, Vladimir vladimir.jovic@ifm.com
Cc: genivi-ivi-layer-management@lists.genivi.org
Betreff: RE: Do I need to somehow activate sufraces?

Hi,

I guess your application is blocked, because it is waiting for a wayland event. It
might be that you called wl_display_dispatch when you are not waiting any events.

When you set visibility or render order, application gets a wayland event and it is
unblocked.

You can check with gdb, where the application is blocked.

Best regards

Emre Ucan
Engineering Software Base (ADITG/ESB)

Tel. +49 5121 49 6937

-----Original Message-----
From: genivi-ivi-layer-management <genivi-ivi-layer-management-
bounces@lists.genivi.org> On Behalf Of Jovic, Vladimir
Sent: Montag, 1. Oktober 2018 20:33
To: genivi-ivi-layer-management@lists.genivi.org
Subject: Do I need to somehow activate sufraces?

Hi

I started recently with ivi. I managed to create not so simple
example, and it almost works.
So, I start my example, it creates a layer, then wl and ivi surfaces,
set source and destination dimentions for both layer and surface, set
opacity, set order and then show both. And then it gets stuck.
This is what getting scene outputs:
root@pdm3:/home# LayerManagerControl get scene screen 0 (0x0)

  • connector name:      Unknown-1

  • resolution:          x=1280, y=480

  • layer render order:  1502(0x5de),

    layer 1502 (0x5de)

    • destination region:  x=0, y=0, w=1280, h=480

    • source region:        x=0, y=0, w=1280, h=480

    • opacity:              0.5

    • visibility:          1

    • surface render order: 50(0x32),

    • on screen:            0(0x0)

      surface 50 (0x32)

      • created by pid:      21067
      • original size:      x=800, y=600
      • destination region: x=0, y=0, w=800, h=600
      • source region:      x=0, y=0, w=800, h=600
      • opacity:            0.898438
      • visibility:        1
      • frame counter:      1
      • on layer:          1502(0x5de)

Take a note that the "frame counter" does not go above 1.

Now, if I do this:
LayerManagerControl set layer 1502 render order 50 or this:
LayerManagerControl set surface 50 destination region 0 0 600 400 then
it starts showing what is being rendered, and the frame counter starts
going up.
I tried looking into the source code for LayerManagerControl, but it
revealed nothing to explain this behaviour.

The sequence for ivi application
(https://urldefense.proofpoint.com/v2/url?u=https-3A__at.projects.geni
vi.org_wiki_display_PROJ_Wayland-2BIVI-2BExtension-2BD&d=DwIGaQ&c=riR7

jviByh3sGm7GIiSlHkFN0_aSATB6A8x0nHa2EM0&r=8wfdsMUxnRudpdLb_Cg4rnnn
KI-g

QZ4ykr3tjUrejXg&m=-

BxXCeZTEwl0deJpgygH4HnaOinJY3QNk4Zs4vViNo0&s=NOqTKq

eb_8sGsBW6Ig9yqJrBHSjuh1BDNHsSA_tmo0Y&e=
esign#WaylandIVIExtensionDesign-
SequenceforiviapplicationandHMIcentralController) tells nothing about
specifically unpausing rendering starting.

So, can anyone explain why is the counting not going up? Do I somehow
need to start the ivi application? I see no ivi function to do anything like that.

Mit freundlichen Grüßen

Vladimir Jovic


genivi-ivi-layer-management mailing list
genivi-ivi-layer-management@lists.genivi.org
https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.genivi.org_
mailman_listinfo_genivi-2Divi-2Dlayer-2Dmanagement&d=DwIGaQ&c=riR7jviB

yh3sGm7GIiSlHkFN0_aSATB6A8x0nHa2EM0&r=8wfdsMUxnRudpdLb_Cg4rnnnKI-
gQZ4y

kr3tjUrejXg&m=-

BxXCeZTEwl0deJpgygH4HnaOinJY3QNk4Zs4vViNo0&s=Wa53HONFBq

cWTVykLyg1SzWgKudPKOvLHfkibp-PLG8&e=

Hi, I found out why it was blocking, so I thought it would be nice to post - maybe I help someone in future. I register my program to surface events with "ilm_surfaceAddNotification" and when the visibility is 0, I stop rendering. Mit freundlichen Grüßen i. A. Vladimir Jovic ifm ecomatic gmbh > -----Ursprüngliche Nachricht----- > Von: Ucan, Emre (ADITG/ESB) <eucan@de.adit-jv.com> > Gesendet: Dienstag, 2. Oktober 2018 09:58 > An: Jovic, Vladimir <vladimir.jovic@ifm.com> > Cc: genivi-ivi-layer-management@lists.genivi.org > Betreff: RE: Do I need to somehow activate sufraces? > > Hi, > > I guess your application is blocked, because it is waiting for a wayland event. It > might be that you called wl_display_dispatch when you are not waiting any events. > > When you set visibility or render order, application gets a wayland event and it is > unblocked. > > You can check with gdb, where the application is blocked. > > Best regards > > Emre Ucan > Engineering Software Base (ADITG/ESB) > > Tel. +49 5121 49 6937 > > > -----Original Message----- > > From: genivi-ivi-layer-management <genivi-ivi-layer-management- > > bounces@lists.genivi.org> On Behalf Of Jovic, Vladimir > > Sent: Montag, 1. Oktober 2018 20:33 > > To: genivi-ivi-layer-management@lists.genivi.org > > Subject: Do I need to somehow activate sufraces? > > > > Hi > > > > I started recently with ivi. I managed to create not so simple > > example, and it almost works. > > So, I start my example, it creates a layer, then wl and ivi surfaces, > > set source and destination dimentions for both layer and surface, set > > opacity, set order and then show both. And then it gets stuck. > > This is what getting scene outputs: > > root@pdm3:/home# LayerManagerControl get scene screen 0 (0x0) > > --------------------------------------- > > - connector name: Unknown-1 > > - resolution: x=1280, y=480 > > - layer render order: 1502(0x5de), > > > > layer 1502 (0x5de) > > --------------------------------------- > > - destination region: x=0, y=0, w=1280, h=480 > > - source region: x=0, y=0, w=1280, h=480 > > - opacity: 0.5 > > - visibility: 1 > > - surface render order: 50(0x32), > > - on screen: 0(0x0) > > > > surface 50 (0x32) > > --------------------------------------- > > - created by pid: 21067 > > - original size: x=800, y=600 > > - destination region: x=0, y=0, w=800, h=600 > > - source region: x=0, y=0, w=800, h=600 > > - opacity: 0.898438 > > - visibility: 1 > > - frame counter: 1 > > - on layer: 1502(0x5de) > > > > > > Take a note that the "frame counter" does not go above 1. > > > > Now, if I do this: > > LayerManagerControl set layer 1502 render order 50 or this: > > LayerManagerControl set surface 50 destination region 0 0 600 400 then > > it starts showing what is being rendered, and the frame counter starts > > going up. > > I tried looking into the source code for LayerManagerControl, but it > > revealed nothing to explain this behaviour. > > > > The sequence for ivi application > > (https://urldefense.proofpoint.com/v2/url?u=https-3A__at.projects.geni > > vi.org_wiki_display_PROJ_Wayland-2BIVI-2BExtension-2BD&d=DwIGaQ&c=riR7 > > > jviByh3sGm7GIiSlHkFN0_aSATB6A8x0nHa2EM0&r=8wfdsMUxnRudpdLb_Cg4rnnn > KI-g > > QZ4ykr3tjUrejXg&m=- > BxXCeZTEwl0deJpgygH4HnaOinJY3QNk4Zs4vViNo0&s=NOqTKq > > eb_8sGsBW6Ig9yqJrBHSjuh1BDNHsSA_tmo0Y&e= > > esign#WaylandIVIExtensionDesign- > > SequenceforiviapplicationandHMIcentralController) tells nothing about > > specifically unpausing rendering starting. > > > > So, can anyone explain why is the counting not going up? Do I somehow > > need to start the ivi application? I see no ivi function to do anything like that. > > > > > > Mit freundlichen Grüßen > > > > Vladimir Jovic > > > > > > _______________________________________________ > > genivi-ivi-layer-management mailing list > > genivi-ivi-layer-management@lists.genivi.org > > https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.genivi.org_ > > mailman_listinfo_genivi-2Divi-2Dlayer-2Dmanagement&d=DwIGaQ&c=riR7jviB > > > yh3sGm7GIiSlHkFN0_aSATB6A8x0nHa2EM0&r=8wfdsMUxnRudpdLb_Cg4rnnnKI- > gQZ4y > > kr3tjUrejXg&m=- > BxXCeZTEwl0deJpgygH4HnaOinJY3QNk4Zs4vViNo0&s=Wa53HONFBq > > cWTVykLyg1SzWgKudPKOvLHfkibp-PLG8&e=