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
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev