Hi, First of all I would like to thank you both for this help. The device that I´m working on is an IP set-top box from Philips called STB810, it has a Nexperia processor and works with 5 different layers (I can list the full result of dfbinfo it you what to know how it is).
I did the modification as Richard said and what happens is that DLBM_BACKVIDEO returns "out of video memory" (I´m having lot of trouble about this "out of video memory" in general. Maybe there is some DirectFB configuration where I can make some changes on it. Specially about CreateSurfaces) Using DLBM_BACKSYSTEM it seems to be working fine. Except by one detail: I have the following code workflow, to print contents: 1- load layer 2 (graphics) 2- set options to DLOP_LAYER_SHOW 2- get primary surface of layer 2 3- create and flip an image into primary 4- load layer 1 (graphics) 5- set buffermode to DLOP_BACKSYSTEM and also options to DLOP_LAYER_SHOW 6- get primary surface of layer 1 7- create 16 images and then FLIP 8- load layer 0 (framebuffer) 9- get primary surface of layer 0 10- flip some graphics. If I insert the following lines , the image of step 3 only appears after the step 7, togheter with all other images, otherwise it appears normally according with the current workflow: IDirectFBFont *font; DFBFontDescription fontDesc; fontDesc.flags = DFDESC_HEIGHT; fontDesc.height = 18; dfb->CreateFont(dfb,"directory/tahoma.ttf",&fontDesc, &font); Best Regards, Erick Galassi -----Mensagem original----- De: Denis Oliver Kropp [mailto:[EMAIL PROTECTED] Enviada em: segunda-feira, 17 de julho de 2006 12:49 Para: Erick Galassi Cc: 'Unger Richard'; 'DirectFB-Users' Assunto: Re: [directfb-users] RES: Blit prints direct on Screen Erick Galassi wrote: > Hi, > > I´ retriving this surface using GetSurface from the DisplayLayer object. > How can I reallocate a surface that I already have ? This part of the code: > > IDirectFBSurface *primary; > IDirectFBDisplayLayer *layer; > > dfb->GetDisplayLayer(dfb,layer_id,&layer); > layer->SetCooperativeLeve(layer,DLSCL_EXCLUSIVE); As Richard pointed out, insert this here: DFBDisplayLayerConfiguration config; config.flags = DLCONF_BUFFERMODE; config.buffermode = DLBM_BACKVIDEO; layer->SetConfiguration( layer, &config ); > layer->GetSurface(layer,&primary); Do you know if you have hardware accelerated blending? If not and if you're using a lot of blending, better use DLBM_BACKSYSTEM, because it's still faster to prepare everything in system memory and just write into video memory instead of read/write when software does blending. Anyways, never heard of something like StbRend5L, can only guess which hardware the driver is for, is that info confidential? -- Best regards, Denis Oliver Kropp .------------------------------------------. | DirectFB - Hardware accelerated graphics | | http://www.directfb.org/ | "------------------------------------------" _______________________________________________ directfb-users mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users
