I am having some errors with Fusion and DirectFB.

I am using the multi application core.
I have it installed and running.

Sometimes however things go wrong and I some of them i understand and some I do not.

Currently I have the following problem.
I am trying to change the screen rectangle/source rectangle from with my DFB Graphics driver. I do the following:

/*Get the currently active context*/
result = dfb_layer_get_active_context(pDFBCoreLayer, &pContext);
if (result != 0)
{
DBG_ASSERT2(result == 0, ("dfb_layer_get_active_context failed result => %d\n", result));
}
result = dfb_layer_context_set_sourcerectangle(pContext, &dest_rect);
if (result != 0)
{
DBG_ASSERT2(result == 0, ("dfb_layer_context_set_sourcerectangle failed result => %d\n", result));
}
/*Update the dest rectangle now*/
result = dfb_layer_context_set_screenrectangle(pContext, &dest_rect);
if (result != 0)
{
DBG_ASSERT2(result == 0, ("dfb_layer_context_set_screenrectangle failed result => %d\n", result));
}

/* Decrease the context counter done becuase of dfb_primary_layer_pixelformat*/
dfb_layer_context_unref( pContext );

The problem is that sometimes the dfb_layer_get_active_context fails with a Fusion/Skirmish error. This is because it is getting a -EINVAL ack from fusion. I have tried to understand how the lock and lock->id system works but have failed.

What reasons could there be for get_active_context failing?
Surely there should always be an active context?

Is there a better way for my DFB graphics driver to change Display Layer properties (like size and destination rectangle)?

Hope you can help
Dan



_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to