Hi,
I'd found such strange behavior of  the dfb_surface_pools_negotiate()
function. In branch 1.0.0 my code was working fine.

My source:
    DFBSurfaceDescription desc;
    memset(&desc,0,sizeof(DFBSurfaceDescription));
    desc.flags  =
(DSDESC_CAPS|DSDESC_WIDTH|DSDESC_HEIGHT|DSDESC_PIXELFORMAT|DSDESC_PREALLOCATED;
    desc.caps         = DSCAPS_SYSTEMONLY;
    desc.pixelformat  = pix_format;
    desc.height       = height;
    desc.width        = width;

    desc.preallocated[0].data   = src;
    desc.preallocated[0].pitch  = bytes_per_line;

The surface is created without any problems.

Then I invoke the Blit() and it fails when
dfb_surface_pools_negotiate() returns the error UNSUPPORTED for source
surface.

Call stack:
dfb_surface_pools_negotiate (buffer=0x100b2f88, access=CSAF_CPU_READ,
    ret_pools=0x7fd8b7c0, max_pools=4, ret_num=0x7fd8b7f4)
    at surface_pool.c:313
#1  0x0ff68ec4 in dfb_surface_pools_allocate (buffer=0x100b2f88,
    access=CSAF_CPU_READ, ret_allocation=0x7fd8b83c) at surface_pool.c:462
#2  0x0ff63b08 in dfb_surface_buffer_lock (buffer=0x100b2f88,
    access=CSAF_CPU_READ, lock=0x100ae920) at surface_buffer.c:192
#3  0x0ff62e38 in dfb_surface_lock_buffer (surface=0x100b2d80,
    role=CSBR_FRONT, access=CSAF_CPU_READ, ret_lock=0x100ae920)
    at surface.c:546
#4  0x0ff379dc in gAcquire (state=0x100ae850, accel=DFXL_BLIT)
    at generic.c:6787
#5  0x0ff4b6d8 in dfb_gfxcard_blit (rect=0x7fd8ba20, dx=0, dy=0,
    state=0x100ae850) at gfxcard.c:1717
#6  0x0fedd170 in IDirectFBSurface_Blit (thiz=0x100adfb0, source=0x100b2fc8,
    sr=0x7fd8baac, dx=0, dy=0) at idirectfbsurface.c:1600

I have not enough experience to dig deeper. I'm afraid it will take
too much time.:(

-- 
Best Regards
Nikita Egorov
[EMAIL PROTECTED]
[EMAIL PROTECTED]
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to