Hi Karl,

It is really unfortunate that CreateSurface() will not fail anymore when
there's not enough memory.

But doing a FillRectangle() certainly works for me...

Therefore, a combination of CreateSurface() and FillRectangle() should
really work with any version of DirectFB.


Cheers,
Andre'


On Wed, 2010-03-31 at 11:34 +0200, Karl Berg wrote:
> Hi,
> 
> 
> I have a small test application that used to determine how much VIDEO
> RAM that is available for DirectFB since some drivers fail to report
> the correct size. This application essentially tries to allocate as
> many surfaces (10-40k size) as possible until we run out of memory.
> This has worked fine on DirectFB 1.0 but after upgrading to 1.4.3 this
> does not work any more. 
> I have tested this on one embedded device with HW acceleration and it
> just keeps creating surfaces far above the GFX heap limit and
> eventually crashes.
> Running the same application on x86 without HW acceleration shows
> similar behaviour. Since there are no VIDEO_RAM available to DirectFB
> I would expect the IDirectFB::CreateSurface function to fail with an
> error, that's what happened in DirectFB 1.0 at least.
> 
> 
> *code*
> 
> 
> DFBSurfaceDescription dsc;
> dsc.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT |
> DSDESC_CAPS;
> dsc.width = WIDTH;
> dsc.height = HEIGHT;
> dsc.pixelformat = pixelformat;
> dsc.caps = DSCAPS_VIDEOONLY;
> 
> vram_size = 0;
> while (true)
> {
>    err = dfb->CreateSurface( dfb, &dsc, &dest );
>    if (err != DFB_OK)
>       break; 
> 
>    vram_size += pitch*HEIGHT;
> } 
> 
> 
> print_result(vram_size);
> 
> 
> *end code*
> 
> 
> I read here in the forum that DirectFB doesn't allocate the surface
> buffer until a graphics operation is actually performed on the
> surface. I have tried to add a FillRectangle call in the loop but no
> success. Also specifying DSCAPS_STATIC_ALLOC for the surface gives no
> improvement.
> 
> 
> So what have changed between the tested versions and what does a
> solution looks like that works across DirectFB versions?
> 
> 
> Best regards,
> 
> 
> Karl
> 
> 
> ______________________________________________________________________
> Läs och svara på mejl direkt i mobilen! Klicka här!
> _______________________________________________
> directfb-users mailing list
> [email protected]
> http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users


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

Reply via email to