I have been tracing this problem further. The test is to run df_andi. I think the problem is this: In DirectFB 1.2.0 it tries to allocate the surfaces in my gfx_pool which is correct .... (-) [Main Thread 1.919] ( 507) Core/WindowStack: dfb_windowstack_resize( 0x453e78, 720x720 ) (-) [Main Thread 1.919] ( 507) Core/WindowStack: dfb_windowstack_repaint_all( 0x453e78 ) (-) [Main Thread 1.920] ( 507) Core/GraphicsOps: dfb_gfxcard_fillrectangles( 0x7fba9ab8 [1], 0x44eecc ) (-) [Main Thread 1.920] ( 507) Core/GraphicsOps: dfb_gfxcard_state_check( 0x44eecc, 0x00000001 ) [0,0 - 719,719] (-) [Main Thread 1.922] ( 507) Core/GfxState: dfb_gfxcard_state_check( 0x44eecc, 0x00000001 ) drawing -> 0x454978 (-) [Main Thread 1.922] ( 507) Core/GfxState: <- checked 0x00000000, accel 0x00000000, modified 0x00033fff, mod_hw 0x00000000 (-) [Main Thread 1.923] ( 507) Core/GfxState: -> checked 0x00000000, accel 0x00000000, modified 0x00033fff, mod_hw 0x00000000 (-) [Main Thread 1.923] ( 507) Core/GfxState: -> checked 0x00000001, accel 0x00000001, modified 0x00033fff, mod_hw 0x00000000 (-) [Main Thread 1.923] ( 507) Core/GfxState: => checked 0x00000001, accel 0x00000001, modified 0x00000000, mod_hw 0x00033fff (-) [Main Thread 1.923] ( 507) Core/GfxState: dfb_gfxcard_state_acquire( 0x44eecc, 0x00000001 ) drawing -> 0x454978 (-) [Main Thread 1.923] ( 507) Core/SurfBuffer: dfb_surface_buffer_lock( 0x454248, 0x00000002, 0x44ef78 ) (-) [Main Thread 1.924] ( 507) Core/SurfBuffer: -> GPU WRITE (-) [Main Thread 1.924] ( 507) Core/SurfBuffer: allocate_buffer( 0x454248, 0x2 ) (-) [Main Thread 1.924] ( 507) Core/SurfBuffer: -> 720x720 ARGB - SHARED LAYER EXTERNAL (-) [Main Thread 1.924] ( 507) DevMem/Surfaces: devmemTestConfig( 0x454248 ) (>) [Main Thread 1.925] ( 507) NXP/STB22X/GSurf: Entering phStbDFB_GfxTestConfig buffer ( 0x454248 ) [phStbDFB_gfx_pool.c:302] (>) [Main Thread 1.925] ( 507) NXP/STB22X/VSurf: Entering phStbDFB_VideoTestConfig buffer ( 0x454248 ) resource_id (0) [phStbDFB_video_pool.c:280] (-) [Main Thread 1.925] ( 507) NXP/STB22X/VSurf: -> surface->type=0x00000211 and surface->resource_id=0 (<) [Main Thread 1.925] ( 507) NXP/STB22X/VSurf: Returning from phStbDFB_VideoTestConfig Surface not allocated [phStbDFB_video_pool.c:305] (>) [Main Thread 1.926] ( 507) NXP/STB22X/GSurf: Entering phStbDFB_GfxAllocateBuffer buffer ( 0x454248 ) [phStbDFB_gfx_pool.c:342] (-) [Main Thread 2.291] ( 507) NXP/STB22X/GSurf: -> index is 0: offset 0, pitch 2880, size 2073600 (-) [Main Thread 2.291] ( 507) Core/SurfBuffer: update_allocation() (-) [Main Thread 2.291] ( 507) Core/SurfBuffer: -> increasing serial... (>) [Main Thread 2.292] ( 507) NXP/STB22X/GLock: Entering phStbDFB_GfxLock lock->buffer ( 0x454248 ) alloc->fb_id=0 [phStbDFB_gfx_pool.c:438] (-) [Main Thread 2.292] ( 507) NXP/STB22X/GLock: -> offset 0, pitch 2880, addr 0x2c65a000, phys 0x02000000 ....
However in DirectFB 1.2.1 I get the following segment: .... (-) [Main Thread 1.907] ( 507) Core/WindowStack: dfb_windowstack_resize( 0x468370, 720x720 ) (-) [Main Thread 1.907] ( 507) Core/WindowStack: dfb_windowstack_repaint_all( 0x468370 ) (-) [Main Thread 1.907] ( 507) Core/GraphicsOps: dfb_gfxcard_fillrectangles( 0x7f8650f0 [1], 0x44b1f4 ) (-) [Main Thread 1.909] ( 507) Core/GraphicsOps: dfb_gfxcard_state_check( 0x44b1f4, 0x00000001 ) [0,0 - 719,719] (-) [Main Thread 1.909] ( 507) Core/GfxState: dfb_gfxcard_state_check( 0x44b1f4, 0x00000001 ) drawing -> 0x468e78 (-) [Main Thread 1.910] ( 507) Core/GfxState: <- checked 0x00000000, accel 0x00000000, modified 0x00033fff, mod_hw 0x00000000 (-) [Main Thread 1.910] ( 507) Core/GfxState: -> checked 0x00000000, accel 0x00000000, modified 0x00033fff, mod_hw 0x00000000 (-) [Main Thread 1.910] ( 507) Core/GfxState: -> checked 0x00000001, accel 0x00000001, modified 0x00033fff, mod_hw 0x00000000 (-) [Main Thread 1.910] ( 507) Core/GfxState: => checked 0x00000001, accel 0x00000001, modified 0x00000000, mod_hw 0x00033fff (-) [Main Thread 1.911] ( 507) Core/GfxState: dfb_gfxcard_state_acquire( 0x44b1f4, 0x00000001 ) drawing -> 0x468e78 (-) [Main Thread 1.911] ( 507) Core/SurfBuffer: dfb_surface_buffer_lock( 0x468748, 0x00000002, 0x44b2a0 ) (-) [Main Thread 1.911] ( 507) Core/SurfBuffer: -> GPU WRITE (-) [Main Thread 1.911] ( 507) Core/SurfBuffer: -> no suitable allocation (yet)! (-) [Main Thread 1.912] ( 507) DevMem/Surfaces: devmemTestConfig( 0x468748 ) (>) [Main Thread 1.912] ( 507) NXP/STB22X/GSurf: Entering phStbDFB_GfxTestConfig buffer ( 0x468748 ) [phStbDFB_gfx_pool.c:302] (>) [Main Thread 1.912] ( 507) NXP/STB22X/VSurf: Entering phStbDFB_VideoTestConfig buffer ( 0x468748 ) resource_id (0) [phStbDFB_video_pool.c:280] (-) [Main Thread 1.912] ( 507) NXP/STB22X/VSurf: -> surface->type=0x00000211 and surface->resource_id=0 (<) [Main Thread 2.279] ( 507) NXP/STB22X/VSurf: Returning from phStbDFB_VideoTestConfig Surface not allocated [phStbDFB_video_pool.c:305] (-) [Main Thread 2.279] ( 507) DevMem/Surfaces: devmemAllocateBuffer( 0x468748 ) (-) [Main Thread 2.279] ( 507) DevMem/Surfaces: -> offset 2165744, pitch 2880, size 2073600 (-) [Main Thread 2.280] ( 507) Core/SurfBuffer: dfb_surface_allocation_update() (-) [Main Thread 2.280] ( 507) Core/SurfBuffer: -> increasing serial... (-) [Main Thread 2.280] ( 507) DevMem/SurfLock: devmemLock( 0x468748 ) .... So the problem I see is that in DirectFB 1.2.1 I am trying to allocate a surface in devMem where as in DirectFB 1.2.0 I use my gfx_pool which is correct. I can see that in 1.2.0 it tries gfx_pool, then video_pool and then decides that it will use the gfx_pool Whereas in DirectFB 1.2.1 it tries gfx pool, then video pool and then allocates using devmem. Hope someone can help Dan _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev