I have done some more investigation and it seems that in 1.2.x it does a Flip just before exiting. This means it Pans Display to the bottom half of the FB which is cleared.
In 1.0 (and the fbdev module) I believe it panned back to 0,0 before exiting. Is this true? In which case I presume I could solve this by panning back to 0,0 in my Release functions of my devmem based driver? Is this an issue for davinci driver as well? Cheers Dan -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Daniel J Laird Sent: 2008 Oct 10 09:06 To: directfb-dev@directfb.org Subject: [directfb-dev] Layer Clearing at shutdown in DFB 1.2.x I have found a difference between DFB1.0 and 1.2.x regarding shutdown. I have a /etc/directfbrc file as follows: mode=720x480 pixelformat=ARGB no-vt-switch system=devmem video-phys=0x02553000 video-length=4902912 init-layer=0 layer-bg-none init-layer=1 layer-bg-none When I start up the layers do not get cleared (as specified) and this works fine for DirectFB 1.2.x However a difference is that when I call Release on the main DirectFB instance in DFB 1.2.x the layer gets cleared. However on DFB 1.0 this did not happen. I have put a debug trace at bottom of this mail. Does anyone have any ideas on how I could stop the clearing of the screen in DFB 1.2.x on shutdown. A key difference is that on DFB 1.2.x we use devmem system whereas on 1.0 we built on FBDev. But any clues as to why the layers are being cleared when I call dfb->Release would be apprecated. Cheers Dan Laird (-) [Main Thread 59.932] ( 516) IDirectFB: IDirectFB_Release( 0x7bf7e0 ) (-) [Main Thread 59.932] ( 516) IDirectFB: IDirectFB_Destruct( 0x7bf7e0 ) (-) [Main Thread 59.932] ( 516) Core/Layers: destroying context 0x7c1b70 (FBDev Primary Layer [OSD], active) (-) [Main Thread 59.932] ( 516) Core/Layers: dfb_layer_remove_context (FBDev Primary Layer [OSD], 0x7c1b70) (-) [Main Thread 59.933] ( 516) Core/Layers: dfb_layer_context_deactivate (0x7c1b70) (-) [Main Thread 59.933] ( 516) Core/Layers: dfb_layer_context_activate (0x7c0118) (-) [Main Thread 59.933] ( 516) Core/Layers: realize_region( 0x7c0c80 ) (-) [Main Thread 59.933] ( 516) Core/Layers: -> size 720x480 (-) [Main Thread 59.933] ( 516) Core/Layers: -> format ARGB (-) [Main Thread 59.934] ( 516) Core/Layers: -> surf caps 0x00000000 (-) [Main Thread 59.934] ( 516) Core/Layers: -> buffermode 2 (-) [Main Thread 59.934] ( 516) Core/Layers: -> options 0x00000021 (-) [Main Thread 59.934] ( 516) Core/Layers: -> source 0,0-720x480 (-) [Main Thread 59.934] ( 516) Core/Layers: -> dest 0,0-720x480 (-) [Main Thread 59.934] ( 516) Core/Layers: -> opacity 255 (-) [Main Thread 59.935] ( 516) Core/Layers: -> src_key 000000 (index 0) (-) [Main Thread 59.935] ( 516) Core/Layers: -> dst_key 000000 (index 0) (-) [Main Thread 59.935] ( 516) Core/Layers: -> state 0x00000013 (-) [Main Thread 59.935] ( 516) Core/Layers: -> FROZEN! (-) [Main Thread 59.935] ( 516) Core/Surface: dfb_surface_reconfig( 0x7c0e28, 720x480 ARGB -> 720x480 ARGB ) (-) [Main Thread 60.301] ( 516) Core/SurfBuffer: dfb_surface_buffer_new( ARGB ) (-) [Main Thread 60.301] ( 516) Core/SurfBuffer: dfb_surface_buffer_new( ARGB ) (-) [Main Thread 60.301] ( 516) Core/Layers: _dfb_layer_region_surface_listener( 0x2bbe262c, 0x7c0c80 ) <- 0x00000001 (-) [Main Thread 60.301] ( 516) Core/WindowStack: dfb_windowstack_repaint_all( 0x7c0338 ) (-) [Main Thread 60.302] ( 516) WM/Default: repaint_stack( 1 region(s), flags 0 ) (-) [Main Thread 60.302] ( 516) WM/Default: -> 0, 0 - 720x480 (0) (-) [Main Thread 60.302] ( 516) Core/GraphicsOps: dfb_gfxcard_fillrectangles( 0x2bbe24a8 [1], 0x7bc0b4 ) (-) [Main Thread 60.302] ( 516) Core/GraphicsOps: dfb_gfxcard_state_check( 0x7bc0b4, 0x00000001 ) [0,0 - 719,479] (-) [Main Thread 60.302] ( 516) Core/GfxState: dfb_gfxcard_state_check( 0x7bc0b4, 0x00000001 ) drawing -> 0x7c0e28 (-) [Main Thread 60.303] ( 516) Core/GfxState: <- checked 0x00000001, accel 0x00000001, modified 0x00000100, mod_hw 0x00000000 (-) [Main Thread 60.303] ( 516) Core/GfxState: -> checked 0x00000000, accel 0x00000001, modified 0x00000100, mod_hw 0x00000000 (-) [Main Thread 60.303] ( 516) Core/GfxState: -> checked 0x00000001, accel 0x00000001, modified 0x00000100, mod_hw 0x00000000 (-) [Main Thread 60.303] ( 516) Core/GfxState: => checked 0x00000001, accel 0x00000001, modified 0x00000000, mod_hw 0x00000100 (-) [Main Thread 60.303] ( 516) Core/GfxState: dfb_gfxcard_state_acquire( 0x7bc0b4, 0x00000001 ) drawing -> 0x7c0e28 (-) [Main Thread 60.303] ( 516) Core/SurfBuffer: dfb_surface_buffer_lock( 0x7e7bd0, 0x00000002, 0x7bc160 ) (-) [Main Thread 60.304] ( 516) Core/SurfBuffer: -> GPU WRITE (-) [Main Thread 60.304] ( 516) Core/SurfBuffer: -> no suitable allocation (yet)! (-) [Main Thread 60.304] ( 516) DevMem/Surfaces: devmemTestConfig( 0x7e7bd0 ) (-) [Main Thread 60.304] ( 516) Core/SurfBuffer: dfb_surface_allocation_update() (-) [Main Thread 60.305] ( 516) Core/SurfBuffer: -> increasing serial... (-) [Main Thread 60.305] ( 516) Core/SurfBuffer: -> locked 1x now (-) [Main Thread 60.305] ( 516) Core/GfxState: -> switch from 0x7c3b10 [1] to 0x7bc0b4 [1] (-) [Main Thread 60.305] ( 516) Core/GfxState: -> mod_hw 0x00033fff, modified 0x00000000 (-) [Main Thread 60.305] ( 516) Core/GfxState: -> mod_hw 0x00033fff, set 0x00000000 (-) [Main Thread 60.306] ( 516) Core/GfxState: => mod_hw 0x00000000, set 0x00000001 (-) [Main Thread 60.306] ( 516) Core/SurfBuffer: dfb_surface_buffer_unlock( 0x7bc160 ) (-) [Main Thread 60.306] ( 516) Core/Layers: dfb_layer_region_flip_update( 0x7c0c80, 0x2bbe2634, 0x00000000 ) <- [0, 0 - 720x480] (-) [Main Thread 60.306] ( 516) Core/Layers: realize_region( 0x7c0c80 ) (-) [Main Thread 60.307] ( 516) Core/Layers: -> size 720x480 (-) [Main Thread 60.307] ( 516) Core/Layers: -> format ARGB (-) [Main Thread 60.307] ( 516) Core/Layers: -> surf caps 0x00000000 (-) [Main Thread 60.307] ( 516) Core/Layers: -> buffermode 2 (-) [Main Thread 60.307] ( 516) Core/Layers: -> options 0x00000021 (-) [Main Thread 60.307] ( 516) Core/Layers: -> source 0,0-720x480 (-) [Main Thread 60.308] ( 516) Core/Layers: -> dest 0,0-720x480 (-) [Main Thread 60.308] ( 516) Core/Layers: -> opacity 255 (-) [Main Thread 60.308] ( 516) Core/Layers: -> src_key 000000 (index 0) (-) [Main Thread 60.308] ( 516) Core/Layers: -> dst_key 000000 (index 0) (-) [Main Thread 60.308] ( 516) Core/Layers: -> state 0x00000007 (-) [Main Thread 60.674] ( 516) Core/Layers: => adding region to 'FBDev Primary Layer [OSD]' (-) [Main Thread 60.674] ( 516) Core/Layers: set_region( 0x7c0c80, 0x7c0d7c, 0xb013377f, 0x7c0e28 ) (-) [Main Thread 60.674] ( 516) Core/Layers: -> size 720x480 (-) [Main Thread 60.674] ( 516) Core/Layers: -> format ARGB (-) [Main Thread 60.675] ( 516) Core/Layers: -> surf caps 0x00000000 (-) [Main Thread 60.675] ( 516) Core/Layers: -> buffermode 2 (-) [Main Thread 60.675] ( 516) Core/Layers: -> options 0x00000021 (-) [Main Thread 60.675] ( 516) Core/Layers: -> source 0,0-720x480 (-) [Main Thread 60.675] ( 516) Core/Layers: -> dest 0,0-720x480 (-) [Main Thread 60.675] ( 516) Core/Layers: -> opacity 255 (-) [Main Thread 60.676] ( 516) Core/Layers: -> src_key 000000 (index 0) (-) [Main Thread 60.676] ( 516) Core/Layers: -> dst_key 000000 (index 0) (-) [Main Thread 60.676] ( 516) Core/Layers: -> state 0x0000000f (-) [Main Thread 60.676] ( 516) Core/SurfBuffer: dfb_surface_buffer_lock( 0x7e79e8, 0x00000001, 0x7c0ddc ) (-) [Main Thread 60.676] ( 516) Core/SurfBuffer: -> GPU READ (-) [Main Thread 60.676] ( 516) Core/SurfBuffer: -> no suitable allocation (yet)! (-) [Main Thread 60.677] ( 516) DevMem/Surfaces: devmemTestConfig( 0x7e79e8 ) (-) [Main Thread 60.677] ( 516) Core/SurfBuffer: dfb_surface_allocation_update() (-) [Main Thread 60.677] ( 516) Core/SurfBuffer: -> locked 1x now (-) [Main Thread 60.678] ( 516) Core/Layers: => setting region of 'FBDev Primary Layer [OSD]' (-) [Main Thread 60.679] ( 516) Core/Layers: -> Going to swap buffers... (-) [Main Thread 60.679] ( 516) Core/SurfBuffer: dfb_surface_buffer_unlock( 0x7c0ddc ) (-) [Main Thread 60.679] ( 516) Core/SurfBuffer: dfb_surface_buffer_lock( 0x7e7bd0, 0x00000001, 0x7c0ddc ) (-) [Main Thread 60.680] ( 516) Core/SurfBuffer: -> GPU READ (-) [Main Thread 60.680] ( 516) Core/SurfBuffer: dfb_surface_allocation_update() (-) [Main Thread 60.680] ( 516) Core/SurfBuffer: -> locked 1x now (-) [Main Thread 60.680] ( 516) Core/Layers: -> Waiting for pending writes... (-) [Main Thread 60.680] ( 516) Core/Layers: -> Flipping region using driver... (-) [Main Thread 60.696] ( 516) Core/Layers: -> done. (-) [Main Thread 60.696] ( 516) Core/WindowStack: dfb_windowstack_destroy( 0x7c1d90 ) (-) [Main Thread 60.696] ( 516) Core/Layers: destroying region 0x7c0c80 (FBDev Primary Layer [OSD], 720x480, configured, enabled, active, realized) (-) [Main Thread 60.696] ( 516) Core/Layers: unrealize_region( 0x7c0c80 ) (-) [Main Thread 60.697] ( 516) Core/Layers: -> size 720x480 (-) [Main Thread 60.697] ( 516) Core/Layers: -> format ARGB (-) [Main Thread 60.697] ( 516) Core/Layers: -> surf caps 0x00000000 (-) [Main Thread 60.697] ( 516) Core/Layers: -> buffermode 2 (-) [Main Thread 60.697] ( 516) Core/Layers: -> options 0x00000021 (-) [Main Thread 60.698] ( 516) Core/Layers: -> source 0,0-720x480 (-) [Main Thread 60.698] ( 516) Core/Layers: -> dest 0,0-720x480 (-) [Main Thread 60.698] ( 516) Core/Layers: -> opacity 255 (-) [Main Thread 60.698] ( 516) Core/Layers: -> src_key 000000 (index 0) (-) [Main Thread 60.698] ( 516) Core/Layers: -> dst_key 000000 (index 0) (-) [Main Thread 60.698] ( 516) Core/Layers: -> state 0x0000000f (-) [Main Thread 60.699] ( 516) Core/Layers: => removing region from 'FBDev Primary Layer [OSD]' (-) [Main Thread 60.699] ( 516) Core/SurfBuffer: dfb_surface_buffer_unlock( 0x7c0ddc ) (-) [Main Thread 61.064] ( 516) Core/SurfBuffer: dfb_surface_buffer_destroy( 0x7e79e8 [720x480] ) (-) [Main Thread 61.065] ( 516) Core/SurfBuffer: dfb_surface_buffer_destroy( 0x7e7bd0 [720x480] ) (-) [Main Thread 61.065] ( 516) Core/Surface: destroying 0x7c0e28 (480x480) (-) [Main Thread 61.066] ( 516) Core/Layers: destroying context 0x7c0118 (FBDev Primary Layer [OSD], active) (-) [Main Thread 61.066] ( 516) Core/Layers: dfb_layer_remove_context (FBDev Primary Layer [OSD], 0x7c0118) (-) [Main Thread 61.066] ( 516) Core/Layers: dfb_layer_context_deactivate (0x7c0118) (-) [Main Thread 61.066] ( 516) Core/WindowStack: dfb_windowstack_destroy( 0x7c0338 ) (-) [Main Thread 61.066] ( 516) Core/Layers: destroying region 0x7c1610 (FBDev Primary Layer [Images], 720x480, configured, enabled, active, realized) (-) [Main Thread 61.067] ( 516) Core/Layers: unrealize_region( 0x7c1610 ) (-) [Main Thread 61.067] ( 516) Core/Layers: -> size 720x480 (-) [Main Thread 61.067] ( 516) Core/Layers: -> format ARGB (-) [Main Thread 61.067] ( 516) Core/Layers: -> surf caps 0x00000000 (-) [Main Thread 61.067] ( 516) Core/Layers: -> buffermode 2 (-) [Main Thread 61.067] ( 516) Core/Layers: -> options 0x00000021 (-) [Main Thread 61.068] ( 516) Core/Layers: -> source 0,0-720x480 (-) [Main Thread 61.068] ( 516) Core/Layers: -> dest 0,0-720x480 (-) [Main Thread 61.068] ( 516) Core/Layers: -> opacity 255 (-) [Main Thread 61.068] ( 516) Core/Layers: -> src_key 000000 (index 0) (-) [Main Thread 61.068] ( 516) Core/Layers: -> dst_key 000000 (index 0) (-) [Main Thread 61.068] ( 516) Core/Layers: -> state 0x0000000f (-) [Main Thread 61.069] ( 516) Core/Layers: => removing region from 'FBDev Primary Layer [Images]' (-) [Main Thread 61.069] ( 516) Core/SurfBuffer: dfb_surface_buffer_unlock( 0x7c176c ) (-) [Main Thread 61.069] ( 516) Core/SurfBuffer: dfb_surface_buffer_destroy( 0x7c1a18 [720x480] ) (-) [Main Thread 61.069] ( 516) Core/SurfBuffer: dfb_surface_buffer_destroy( 0x7c1a58 [720x480] ) (-) [Main Thread 61.070] ( 516) Core/Surface: destroying 0x7c1810 (480x480) (-) [Main Thread 61.070] ( 516) Core/Layers: destroying context 0x7c10b0 (FBDev Primary Layer [Images], active) (-) [Main Thread 61.070] ( 516) Core/Layers: dfb_layer_remove_context (FBDev Primary Layer [Images], 0x7c10b0) (-) [Main Thread 61.070] ( 516) Core/Layers: dfb_layer_context_deactivate (0x7c10b0) (-) [Main Thread 61.071] ( 516) Core/WindowStack: dfb_windowstack_destroy( 0x7c12d0 ) (-) [Main Thread 61.071] ( 516) Direct/Main: Removing cleanup handler 0x2ad3361c with context (nil)... (-) [Main Thread 61.237] ( 516) Core/WM: dfb_wm_close_all_stacks( 0x7bf618 ) (-) [Main Thread 61.237] ( 516) Core/WM: dfb_wm_core_shutdown( 0x7bf618, no emergency ) (-) [Main Thread 61.238] ( 516) Core/Graphics: dfb_graphics_core_shutdown( 0x7b9f20, no emergency ) (-) [Main Thread 61.241] ( 516) DevMem/Surfaces: devmemDestroyPool() (-) [Main Thread 61.242] ( 516) Direct/Main: direct_shutdown() called... (-) [Main Thread 61.242] ( 516) Direct/Main: ...2 references left. (-) [Main Thread 61.242] ( 516) Direct/Main: direct_shutdown() called... (-) [Main Thread 61.243] ( 516) Direct/Main: ...1 references left. (-) [Main Thread 61.243] ( 516) Direct/Main: direct_shutdown() called... (-) [Main Thread 61.243] ( 516) Direct/Main: ...shutting down now. Stopping DVB ... root:# _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev