Homam Dabis wrote:
> We have written our own gfx driver. I have run df_dok and can see that
> acceleration is enabled for blitting.
>
> I have the following situation where acceleration does not work Can
> anyone please explain:
>
>
> sdsc.flags = DSDESC_CAPS |
>
> DSDESC_WIDTH |
>
> DSDESC_HEIGHT |
>
> DSDESC_PIXELFORMAT|
>
> DSDESC_PREALLOCATED;
>
> sdsc.caps = DSCAPS_SYSTEMONLY;
>
> sdsc.preallocated[0].data = address;
>
> sdsc.preallocated[0].pitch = Stride;
>
> ret = s_dfb->CreateSurface( s_dfb, &sdsc, &secSurface );
>
>
>
> I then call the following to see if acceleration is enabled:
>
>
>
> DFBAccelerationMask mask;
>
> dest->GetAccelerationMask( dest, source, &mask );
>
> if (mask & func) {
>
> fprintf(stderr,"Blitting is accelerated\n");
>
> }
>
> else {
>
> fprintf(stderr,"Blitting is NOT accelerated\n");
>
> }
>
>
>
>
>
> The only difference I could see between the accelerated and non
> accelerated case is the DSDESC_PREALLOCATED;
>
> sdsc.caps = DSCAPS_SYSTEMONLY;
>
>
>
>
>
> Can anyone please explain...
>
>
>
> Thanks
>
>
>
> Homam.
Because DSCAPS_SYSTEMONLY means that the surface is stored (only) in
system (CPU's) memory, while a common graphic device requires it to be
in video (GPU's) memory.
--
Regards,
Claudio Ciccani
[EMAIL PROTECTED]
http://directfb.org
http://sf.net/projects/php-directfb
_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users