Hi, All
I have wrote a gfx driver about Cirrus Logic's EP9315(arm9) cpu for the
DirectFB-1.1.1 by myself.
Now I got such a problem, When I run a example with WINDOW style as
following, I can't get the accel function to run;
int main(int argc, char **argv)
{
......
DirectFBInit(&argc, &argv);
DirectFBCreate(&dfb);
dfb->GetDisplayLayer(dfb, DLID_PRIMARY, &layer);
layer->SetCooperativeLevel( layer, DLSCL_ADMINISTRATIVE );
layer->GetConfiguration(layer, &layer_config);
layer_config.flags = DLCONF_WIDTH | DLCONF_HEIGHT | DLCONF_PIXELFORMAT |
DLCONF_BUFFERMODE | DLCONF_SURFACE_CAPS;
layer_config.width = 800;
layer_config.height = 600;
layer_config.pixelformat = DSPF_LUT8;
layer_config.buffermode = DLBM_FRONTONLY;
layer_config.surface_caps = DSCAPS_PRIMARY;
layer->SetConfiguration(layer, &layer_config);
......
}
But when I run a example with FULLSCREEN style, as following:
int main(int argc, char **argv)
{
DFBWindowDescription window_desc;
DFBDisplayLayerConfig layer_config;
DFBSurfaceDescription dsc;
DFBRectangle rect = {0, 0, 400, 400};
DirectFBInit(&argc, &argv);
DirectFBCreate(&dfb);
dfb->SetCooperativeLevel (dfb, DFSCL_FULLSCREEN);
dsc.flags = DSDESC_CAPS;
dsc.caps = DSCAPS_PRIMARY;
dfb->CreateSurface(dfb, &dsc, &primary);
......
}
Then I can see my accel function working, as following debugging info:
...
(*) before card->funcs.FillRectangle()...
(*) enter ep9315FillRectangle...
...
I have traced the DirectFB source for a long time, and still got thing! :(
Now I have a doubt, Is the WINDOW style programs can only support the
software accelerate feature, and can't support the hardware accelerate feature?
Those below is my workgroud:
linux: linux-2.4.21-crus-1-4-3 (fixed by me to support my board)
DirectFB: 1.1.1
Any suggestion will be appreciate!
Sean Wang
_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users