Further to my previous postings I have made some more discoveries.

The log file for dfb1.0 is as follows:
(-) [Main Thread       1.904] (  507) Core/WindowStack:   
dfb_windowstack_resize( 0x453ed8, 720x720 )
(-) [Main Thread       1.904] (  507) Core/WindowStack:   
dfb_windowstack_repaint_all( 0x453ed8 )
(-) [Main Thread       1.905] (  507) Core/GraphicsOps:   
dfb_gfxcard_fillrectangles( 0x7f92d588 [1], 0x44ef2c )
(-) [Main Thread       1.905] (  507) Core/GraphicsOps:   
dfb_gfxcard_state_check( 0x44ef2c, 0x00000001 ) [0,0 - 719,719]
(-) [Main Thread       1.908] (  507) Core/GfxState:      
dfb_gfxcard_state_check( 0x44ef2c, 0x00000001 )  drawing -> 0x4549d8
(-) [Main Thread       1.908] (  507) Core/GfxState:        <- checked 
0x00000000, accel 0x00000000, modified 0x00033fff, mod_hw 0x00000000
(-) [Main Thread       1.908] (  507) Core/GfxState:        -> checked 
0x00000000, accel 0x00000000, modified 0x00033fff, mod_hw 0x00000000
(-) [Main Thread       1.908] (  507) Core/GfxState:        -> checked 
0x00000001, accel 0x00000001, modified 0x00033fff, mod_hw 0x00000000
(-) [Main Thread       1.908] (  507) Core/GfxState:        => checked 
0x00000001, accel 0x00000001, modified 0x00000000, mod_hw 0x00033fff
(-) [Main Thread       2.274] (  507) Core/GfxState:      
dfb_gfxcard_state_acquire( 0x44ef2c, 0x00000001 )  drawing -> 0x4549d8
(-) [Main Thread       2.274] (  507) Core/SurfBuffer:    
dfb_surface_buffer_lock( 0x4542a8, 0x00000002, 0x44efd8 )
(-) [Main Thread       2.274] (  507) Core/SurfBuffer:      -> GPU WRITE
(-) [Main Thread       2.275] (  507) Core/SurfBuffer:    allocate_buffer( 
0x4542a8, 0x2 )
(-) [Main Thread       2.275] (  507) Core/SurfBuffer:     -> 720x720 ARGB - 
SHARED LAYER EXTERNAL
(-) [Main Thread       2.275] (  507) Core/SurfacePool:   
dfb_surface_pools_negotiate( 0x4542a8 [ARGB], 0x02 )
(-) [Main Thread       2.275] (  507) Core/SurfacePool:     -> 0x02 0x211 
required
(-) [Main Thread       2.275] (  507) Core/SurfacePool:     -> 0x1f 0x21f 
[/dev/mem]
(-) [Main Thread       2.275] (  507) Core/SurfacePool:        0 / -1
(-) [Main Thread       2.276] (  507) DevMem/Surfaces:    devmemTestConfig( 
0x4542a8 )
(-) [Main Thread       2.276] (  507) Core/SurfacePool:     -> 0x1f 0x211 [GFX 
Pool]
(-) [Main Thread       2.276] (  507) Core/SurfacePool:        0 / 0
(>) [Main Thread       2.276] (  507) NXP/STB22X/GSurf:  Entering 
phStbDFB_GfxTestConfig buffer ( 0x4542a8 ) [phStbDFB_gfx_pool.c:302]
(-) [Main Thread       2.276] (  507) Core/SurfacePool:     -> 0x1f 0x211 
[Video Layers Pool]
(-) [Main Thread       2.277] (  507) Core/SurfacePool:        0 / 0
(>) [Main Thread       2.277] (  507) NXP/STB22X/VSurf:  Entering 
phStbDFB_VideoTestConfig buffer ( 0x4542a8 ) resource_id (0) 
[phStbDFB_video_pool.c:280]
(-) [Main Thread       2.277] (  507) NXP/STB22X/VSurf:    -> 
surface->type=0x00000211 and surface->resource_id=0
(<) [Main Thread       2.277] (  507) NXP/STB22X/VSurf:  Returning from 
phStbDFB_VideoTestConfig Surface not allocated [phStbDFB_video_pool.c:305]
(-) [Main Thread       2.277] (  507) Core/SurfacePool:     -> 0x1c 0x11f 
[Shared Memory]
(-) [Main Thread       2.278] (  507) Core/SurfacePool:     -> 0x0c 0x108 
[System Memory]
(-) [Main Thread       2.278] (  507) Core/SurfacePool:     -> 0x0c 0x400 
[Preallocated Memory]
(-) [Main Thread       2.278] (  507) Core/SurfacePool:     => GFX Pool
(-) [Main Thread       2.278] (  507) Core/SurfacePool:   
dfb_surface_pool_allocate( 0x44f530 [1], 0x4542a8 )
(>) [Main Thread       2.278] (  507) NXP/STB22X/GSurf:  Entering 
phStbDFB_GfxAllocateBuffer buffer ( 0x4542a8 ) [phStbDFB_gfx_pool.c:342]
(-) [Main Thread       2.279] (  507) NXP/STB22X/GSurf:    -> index is 0: 
offset 0, pitch 2880, size 2073600
(-) [Main Thread       2.279] (  507) Core/SurfacePool:     -> 0x4542e8
(-) [Main Thread       2.279] (  507) Core/SurfBuffer:    update_allocation()
(-) [Main Thread       2.279] (  507) Core/SurfBuffer:      -> increasing 
serial...
(-) [Main Thread       2.279] (  507) Core/SurfacePool:   
dfb_surface_pool_lock( 0x44f530 [1], 0x4542e8 )
(>) [Main Thread       2.280] (  507) NXP/STB22X/GLock:  Entering 
phStbDFB_GfxLock lock->buffer ( 0x4542a8 ) alloc->fb_id=0 
[phStbDFB_gfx_pool.c:438]
(-) [Main Thread       2.280] (  507) NXP/STB22X/GLock:    -> offset 0, pitch 
2880, addr 0x2c65a000, phys 0x02000000
(<) [Main Thread       2.280] (  507) NXP/STB22X/GLock:  Returning from 
phStbDFB_GfxLock [phStbDFB_gfx_pool.c:451]
(-) [Main Thread       2.280] (  507) Core/GfxState:        -> switch from 
(nil) [0] to 0x44ef2c [1]
(-) [Main Thread       2.646] (  507) Core/GfxState:        -> mod_hw 
0x00033fff, modified 0x00000000
(-) [Main Thread       2.646] (  507) Core/GfxState:        -> mod_hw 
0x00033fff, set 0x00000000
(-) [Main Thread       2.646] (  507) Core/GfxState:        => mod_hw 
0x00000000, set 0x00000001
(-) [Main Thread       2.647] (  507) Core/SurfBuffer:    
dfb_surface_buffer_unlock( 0x44efd8 )

However the same section in DirectFB 1.2.3 is:
(-) [Main Thread       1.931] (  507) Core/WindowStack:   
dfb_windowstack_resize( 0x44fed0, 720x720 )
(-) [Main Thread       1.931] (  507) Core/WindowStack:   
dfb_windowstack_repaint_all( 0x44fed0 )
(-) [Main Thread       1.932] (  507) Core/GraphicsOps:   
dfb_gfxcard_fillrectangles( 0x7ffc43a0 [1], 0x44b254 )
(-) [Main Thread       1.937] (  507) Core/GraphicsOps:   
dfb_gfxcard_state_check( 0x44b254, 0x00000001 ) [0,0 - 719,719]
(-) [Main Thread       1.938] (  507) Core/GfxState:      
dfb_gfxcard_state_check( 0x44b254, 0x00000001 )  drawing -> 0x4509d0
(-) [Main Thread       1.938] (  507) Core/GfxState:        <- checked 
0x00000000, accel 0x00000000, modified 0x00033fff, mod_hw 0x00000000
(-) [Main Thread       2.303] (  507) Core/GfxState:        -> checked 
0x00000000, accel 0x00000000, modified 0x00033fff, mod_hw 0x00000000
(-) [Main Thread       2.304] (  507) Core/GfxState:        -> checked 
0x00000001, accel 0x00000001, modified 0x00033fff, mod_hw 0x00000000
(-) [Main Thread       2.304] (  507) Core/GfxState:        => checked 
0x00000001, accel 0x00000001, modified 0x00000000, mod_hw 0x00033fff
(-) [Main Thread       2.304] (  507) Core/GfxState:      
dfb_gfxcard_state_acquire( 0x44b254, 0x00000001 )  drawing -> 0x4509d0
(-) [Main Thread       2.304] (  507) Core/SurfBuffer:    
dfb_surface_buffer_lock( 0x4502a8, 0x00000002, 0x44b300 )
(-) [Main Thread       2.305] (  507) Core/SurfBuffer:      -> GPU WRITE
(-) [Main Thread       2.305] (  507) Core/SurfBuffer:      -> no suitable 
allocation (yet)!
(-) [Main Thread       2.305] (  507) Core/SurfacePool:   
dfb_surface_pools_allocate( 0x4502a8, 0x2 )
(-) [Main Thread       2.305] (  507) Core/SurfacePool:    -> 720x720 ARGB - 
SHARED LAYER EXTERNAL
(-) [Main Thread       2.306] (  507) Core/SurfacePool:   
dfb_surface_pools_negotiate( 0x4502a8 [ARGB], 0x02, max 6 )
(-) [Main Thread       2.306] (  507) Core/SurfacePool:     ->     0x02 0x211 
required
(-) [Main Thread       2.306] (  507) Core/SurfacePool:     -> [3] 0x1f 0x21f 
(0) [/dev/mem]
(-) [Main Thread       2.306] (  507) DevMem/Surfaces:    devmemTestConfig( 
0x4502a8 )
(-) [Main Thread       2.306] (  507) Core/SurfacePool:       => OK
(-) [Main Thread       2.307] (  507) Core/SurfacePool:     -> [4] 0x1f 0x211 
(0) [GFX Pool]
(>) [Main Thread       2.307] (  507) NXP/STB22X/GSurf:  Entering 
phStbDFB_GfxTestConfig buffer ( 0x4502a8 ) [phStbDFB_gfx_pool.c:302]
(-) [Main Thread       2.307] (  507) Core/SurfacePool:       => OK
(-) [Main Thread       2.307] (  507) Core/SurfacePool:     -> [5] 0x1f 0x211 
(0) [Video Layers Pool]
(>) [Main Thread       2.307] (  507) NXP/STB22X/VSurf:  Entering 
phStbDFB_VideoTestConfig buffer ( 0x4502a8 ) resource_id (0) 
[phStbDFB_video_pool.c:280]
(-) [Main Thread       2.308] (  507) NXP/STB22X/VSurf:    -> 
surface->type=0x00000211 and surface->resource_id=0
(<) [Main Thread       2.308] (  507) NXP/STB22X/VSurf:  Returning from 
phStbDFB_VideoTestConfig Surface not allocated [phStbDFB_video_pool.c:305]
(-) [Main Thread       2.308] (  507) Core/SurfacePool:     => 2 pools available
(-) [Main Thread       2.308] (  507) Core/SurfacePool:     => 0 pools out of 
memory
(-) [Main Thread       2.309] (  507) Core/SurfacePool:   
dfb_surface_pool_allocate( 0x4487d8 [3], 0x4502a8 )
(-) [Main Thread       2.309] (  507) DevMem/Surfaces:    devmemAllocateBuffer( 
0x4502a8 )
(-) [Main Thread       2.309] (  507) DevMem/Surfaces:      -> offset 2165744, 
pitch 2880, size 2073600
(-) [Main Thread       2.309] (  507) Core/SurfacePool:     -> 0x4502e8
(-) [Main Thread       2.310] (  507) Core/SurfacePool:     -> 0x4502e8
(-) [Main Thread       2.310] (  507) Core/SurfBuffer:    
dfb_surface_allocation_update()
(-) [Main Thread       2.310] (  507) Core/SurfBuffer:      -> increasing 
serial...
(-) [Main Thread       2.310] (  507) Core/SurfPoolLock:  
dfb_surface_pool_lock( 0x4487d8 [3], 0x4502e8 )
(-) [Main Thread       2.310] (  507) DevMem/SurfLock:    devmemLock( 0x4502a8 )
(-) [Main Thread       2.311] (  507) DevMem/SurfLock:      -> offset 2165744, 
pitch 2880, addr 0x2b1f6bf0, phys 0x02a05bf0
(-) [Main Thread       2.311] (  507) Core/SurfBuffer:      -> locked 1x now
(-) [Main Thread       2.311] (  507) Core/GfxState:        -> switch from 
(nil) [0] to 0x44b254 [1]
(-) [Main Thread       2.677] (  507) Core/GfxState:        -> mod_hw 
0x00033fff, modified 0x00000000
(-) [Main Thread       2.677] (  507) Core/GfxState:        -> mod_hw 
0x00033fff, set 0x00000000
(-) [Main Thread       2.677] (  507) Core/GfxState:        => mod_hw 
0x00000000, set 0x00000001
(-) [Main Thread       2.678] (  507) Core/SurfBuffer:    
dfb_surface_buffer_unlock( 0x44b300 )
(-) [Main Thread       2.678] (  507) Core/SurfPoolLock:  
dfb_surface_pool_unlock( 0x4487d8 [3], 0x4502e8 )

As you can see DirectFB has 2 choices of where to allocate its surface, 1 is my 
gfx_pool and the other is devmem.  
It seems that in DirectfB 1.2.0 it tried gfx_pool first and then devMem
However this search order seems to have reversed in DirectFB 1.2.3 so it will 
assign GFX layers in devmem.

I think this will have broken davinci as well.  I can make this problem go away 
by setting the priority of my gfx_pool to
ret_desc->priority = CSPP_PREFERED;  
However I was wondering why devmem was the first tested now and not the last?

Anyway hope this helps to show the issue
Many thanks
Daniel Laird


_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to