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

development mailing list for GENIVI LayerManagement

View all threads

Query related to IVI-Controller interface.

IC
Ikshwaku Chauhan
Sat, Feb 2, 2019 10:13 PM

Hello All,

I am not an expert of wayland/wayland-ivi-extension , please bear me if you
find my query incorrect or silly.

We are using wayland/weston/wayland-ivi-extension 1.11.0 with drm-backend
on TI's Soc.

I have a query related to IVI-Controller
In one of our use case, we are very frequently create and destroy
surface(for same surface ID),like for "surface id : 20" we are creating,
setting properties then destroy multiple times. During this at one instance
ivi-application surface is created and destroyed immediately before
"controller_surface_create" function from ivi-controller.c which creates
the surf_resources is not able to create the resources, because surface is
already destroyed and this function returns without creating the resources
from below mentioned part of the function

layout_surface = lyt->get_surface_from_id(id_surface);
if (layout_surface == NULL) {
    return;
}

Here controller_surface_create is just returning without setting any error.
But, in our use case we have requests pending for setting the properties in
the queue to be executed, then one of the call specific to already
destroyed surface is executed by the compositor and return protocol error.
As per the ivi-controller.xml, ivi-controller have one error interface that
can be set, if any error encountered by ivi-controller interface.

Is this the expected behavior that ivi-controller will not send any error
if ivi-application surface is destroyed before ivi-controller creates
corresponding resources.?
Here I understands that property set call should not be initiated if a
surface is already destroyed, I am asking this to understand the protocol
better.

Thanks in advance.

Regards,
Ikshwaku

Hello All, I am not an expert of wayland/wayland-ivi-extension , please bear me if you find my query incorrect or silly. We are using wayland/weston/wayland-ivi-extension 1.11.0 with drm-backend on TI's Soc. I have a query related to IVI-Controller In one of our use case, we are very frequently create and destroy surface(for same surface ID),like for "surface id : 20" we are creating, setting properties then destroy multiple times. During this at one instance ivi-application surface is created and destroyed immediately before "controller_surface_create" function from ivi-controller.c which creates the surf_resources is not able to create the resources, because surface is already destroyed and this function returns without creating the resources from below mentioned part of the function layout_surface = lyt->get_surface_from_id(id_surface); if (layout_surface == NULL) { return; } Here controller_surface_create is just returning without setting any error. But, in our use case we have requests pending for setting the properties in the queue to be executed, then one of the call specific to already destroyed surface is executed by the compositor and return protocol error. As per the ivi-controller.xml, ivi-controller have one error interface that can be set, if any error encountered by ivi-controller interface. Is this the expected behavior that ivi-controller will not send any error if ivi-application surface is destroyed before ivi-controller creates corresponding resources.? Here I understands that property set call should not be initiated if a surface is already destroyed, I am asking this to understand the protocol better. Thanks in advance. Regards, Ikshwaku