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

Reply via email to