Unfortunately the patch does not quite do as I hoped. Debug below shows the problem:
(-) [Main Thread 30.895] ( 516) IDirectFB: IDirectFB_Release( 0x7bf8e0 ) (-) [Main Thread 30.896] ( 516) IDirectFB: IDirectFB_Destruct( 0x7bf8e0 ) (-) [Main Thread 30.896] ( 516) Core/Layers: destroying context 0x7c1c70 (FBDev Primary Layer [OSD], active) (-) [Main Thread 30.896] ( 516) Core/Layers: dfb_layer_remove_context (FBDev Primary Layer [OSD], 0x7c1c70) (-) [Main Thread 30.896] ( 516) Core/Layers: dfb_layer_context_deactivate (0x7c1c70) (-) [Main Thread 30.897] ( 516) Core/WM: dfb_wm_set_active( 0x7c1e90, inactive ) (-) [Main Thread 30.897] ( 516) Core/Layers: dfb_layer_context_activate (0x7c0218) (-) [Main Thread 30.897] ( 516) Core/Layers: realize_region( 0x7c0d90 ) (-) [Main Thread 30.897] ( 516) Core/Layers: -> size 720x720 (-) [Main Thread 30.898] ( 516) Core/Layers: -> format ARGB (-) [Main Thread 30.898] ( 516) Core/Layers: -> surf caps 0x00000000 (-) [Main Thread 30.898] ( 516) Core/Layers: -> buffermode 2 (-) [Main Thread 30.898] ( 516) Core/Layers: -> options 0x00000021 (-) [Main Thread 30.898] ( 516) Core/Layers: -> source 0,0-720x720 (-) [Main Thread 30.898] ( 516) Core/Layers: -> dest 0,0-1280x720 (-) [Main Thread 30.899] ( 516) Core/Layers: -> opacity 255 (-) [Main Thread 30.899] ( 516) Core/Layers: -> src_key 000000 (index 0) (-) [Main Thread 30.899] ( 516) Core/Layers: -> dst_key 000000 (index 0) (-) [Main Thread 30.899] ( 516) Core/Layers: -> state 0x00000013 (-) [Main Thread 30.899] ( 516) Core/Layers: -> FROZEN! (-) [Main Thread 30.899] ( 516) Core/Surface: dfb_surface_reconfig( 0x7c0f38, 720x720 ARGB -> 720x720 ARGB ) (-) [Main Thread 30.900] ( 516) Core/SurfBuffer: dfb_surface_buffer_new( ARGB ) (-) [Main Thread 30.900] ( 516) Core/SurfBuffer: dfb_surface_buffer_new( ARGB ) (-) [Main Thread 30.900] ( 516) Core/Layers: _dfb_layer_region_surface_listener( 0x2bbe3624, 0x7c0d90 ) <- 0x00000001 (-) [Main Thread 30.900] ( 516) Core/WM: dfb_wm_set_active( 0x7c0438, active ) (-) [Main Thread 30.900] ( 516) Core/WindowStack: dfb_windowstack_repaint_all( 0x7c0438 ) (-) [Main Thread 30.901] ( 516) Core/WM: dfb_wm_update_stack( 0x7c0438, [0,0-720x720], 0x0 ) (-) [Main Thread 30.901] ( 516) WM/Default: repaint_stack( 1 region(s), flags 0 ) (-) [Main Thread 30.901] ( 516) WM/Default: -> 0, 0 - 720x720 (0) (-) [Main Thread 30.901] ( 516) Core/SurfBuffer: dfb_surface_buffer_lock( 0x7e7cd0, 0x00000002, 0x7bc248 ) (-) [Main Thread 30.902] ( 516) Core/SurfBuffer: -> GPU WRITE (-) [Main Thread 30.902] ( 516) Core/SurfBuffer: -> no suitable allocation (yet)! (-) [Main Thread 30.902] ( 516) DevMem/Surfaces: devmemTestConfig( 0x7e7cd0 ) (-) [Main Thread 31.267] ( 516) Core/SurfBuffer: dfb_surface_allocation_update() (-) [Main Thread 31.267] ( 516) Core/SurfBuffer: -> increasing serial... (-) [Main Thread 31.268] ( 516) Core/SurfBuffer: -> locked 1x now (-) [Main Thread 31.268] ( 516) Core/SurfBuffer: dfb_surface_buffer_unlock( 0x7bc248 ) (-) [Main Thread 31.268] ( 516) Core/Layers: dfb_layer_region_flip_update( 0x7c0d90, 0x2bbe360c, 0x00000000 ) <- [0, 0 - 720x720] (-) [Main Thread 31.269] ( 516) Core/Layers: realize_region( 0x7c0d90 ) (-) [Main Thread 31.269] ( 516) Core/Layers: -> size 720x720 (-) [Main Thread 31.269] ( 516) Core/Layers: -> format ARGB (-) [Main Thread 31.269] ( 516) Core/Layers: -> surf caps 0x00000000 (-) [Main Thread 31.269] ( 516) Core/Layers: -> buffermode 2 (-) [Main Thread 31.270] ( 516) Core/Layers: -> options 0x00000021 (-) [Main Thread 31.270] ( 516) Core/Layers: -> source 0,0-720x720 (-) [Main Thread 31.270] ( 516) Core/Layers: -> dest 0,0-1280x720 (-) [Main Thread 31.270] ( 516) Core/Layers: -> opacity 255 (-) [Main Thread 31.270] ( 516) Core/Layers: -> src_key 000000 (index 0) (-) [Main Thread 31.270] ( 516) Core/Layers: -> dst_key 000000 (index 0) (-) [Main Thread 31.271] ( 516) Core/Layers: -> state 0x00000007 (-) [Main Thread 31.271] ( 516) Core/Layers: => adding region to 'FBDev Primary Layer [OSD]' (-) [Main Thread 31.271] ( 516) Core/Layers: set_region( 0x7c0d90, 0x7c0e8c, 0xb013377f, 0x7c0f38 ) (-) [Main Thread 31.271] ( 516) Core/Layers: -> size 720x720 (-) [Main Thread 31.271] ( 516) Core/Layers: -> format ARGB (-) [Main Thread 31.272] ( 516) Core/Layers: -> surf caps 0x00000000 (-) [Main Thread 31.272] ( 516) Core/Layers: -> buffermode 2 (-) [Main Thread 31.272] ( 516) Core/Layers: -> options 0x00000021 (-) [Main Thread 31.272] ( 516) Core/Layers: -> source 0,0-720x720 (-) [Main Thread 31.272] ( 516) Core/Layers: -> dest 0,0-1280x720 (-) [Main Thread 31.272] ( 516) Core/Layers: -> opacity 255 (-) [Main Thread 31.273] ( 516) Core/Layers: -> src_key 000000 (index 0) (-) [Main Thread 31.273] ( 516) Core/Layers: -> dst_key 000000 (index 0) (-) [Main Thread 31.273] ( 516) Core/Layers: -> state 0x0000000f (-) [Main Thread 31.273] ( 516) Core/SurfBuffer: dfb_surface_buffer_lock( 0x7e7ae8, 0x00000001, 0x7c0eec ) (-) [Main Thread 31.273] ( 516) Core/SurfBuffer: -> GPU READ (-) [Main Thread 31.274] ( 516) Core/SurfBuffer: -> no suitable allocation (yet)! (-) [Main Thread 31.274] ( 516) DevMem/Surfaces: devmemTestConfig( 0x7e7ae8 ) (-) [Main Thread 31.274] ( 516) Core/SurfBuffer: dfb_surface_allocation_update() (-) [Main Thread 31.275] ( 516) Core/SurfBuffer: -> locked 1x now (-) [Main Thread 31.275] ( 516) Core/Layers: => setting region of 'FBDev Primary Layer [OSD]' (-) [Main Thread 31.291] ( 516) Core/Layers: -> Going to swap buffers... (-) [Main Thread 31.291] ( 516) Core/SurfBuffer: dfb_surface_buffer_unlock( 0x7c0eec ) (-) [Main Thread 31.292] ( 516) Core/SurfBuffer: dfb_surface_buffer_lock( 0x7e7cd0, 0x00000001, 0x7c0eec ) (-) [Main Thread 31.292] ( 516) Core/SurfBuffer: -> GPU READ (-) [Main Thread 31.292] ( 516) Core/SurfBuffer: dfb_surface_allocation_update() (-) [Main Thread 31.292] ( 516) Core/SurfBuffer: -> locked 1x now (-) [Main Thread 31.292] ( 516) Core/Layers: -> Waiting for pending writes... (-) [Main Thread 31.293] ( 516) Core/Layers: -> Flipping region using driver... (-) [Main Thread 31.675] ( 516) Core/Layers: -> done. (-) [Main Thread 31.675] ( 516) Core/WindowStack: dfb_windowstack_destroy( 0x7c1e90 ) (-) [Main Thread 31.675] ( 516) Core/WM: dfb_wm_close_stack( 0x7c1e90 ) (-) [Main Thread 31.675] ( 516) Core/Layers: destroying region 0x7c0d90 (FBDev Primary Layer [OSD], 720x720, configured, enabled, active, realized) (-) [Main Thread 31.676] ( 516) Core/Layers: unrealize_region( 0x7c0d90 ) (-) [Main Thread 31.676] ( 516) Core/Layers: -> size 720x720 (-) [Main Thread 31.676] ( 516) Core/Layers: -> format ARGB (-) [Main Thread 31.676] ( 516) Core/Layers: -> surf caps 0x00000000 (-) [Main Thread 31.676] ( 516) Core/Layers: -> buffermode 2 (-) [Main Thread 31.676] ( 516) Core/Layers: -> options 0x00000021 (-) [Main Thread 31.677] ( 516) Core/Layers: -> source 0,0-720x720 (-) [Main Thread 31.677] ( 516) Core/Layers: -> dest 0,0-1280x720 (-) [Main Thread 31.677] ( 516) Core/Layers: -> opacity 255 (-) [Main Thread 31.677] ( 516) Core/Layers: -> src_key 000000 (index 0) (-) [Main Thread 31.678] ( 516) Core/Layers: -> dst_key 000000 (index 0) (-) [Main Thread 31.678] ( 516) Core/Layers: -> state 0x0000000f (-) [Main Thread 31.678] ( 516) Core/Layers: => removing region from 'FBDev Primary Layer [OSD]' (-) [Main Thread 31.678] ( 516) Core/SurfBuffer: dfb_surface_buffer_unlock( 0x7c0eec ) (-) [Main Thread 31.678] ( 516) Core/SurfBuffer: dfb_surface_buffer_destroy( 0x7e7ae8 [720x720] ) (-) [Main Thread 31.679] ( 516) Core/SurfBuffer: dfb_surface_buffer_destroy( 0x7e7cd0 [720x720] ) (-) [Main Thread 31.679] ( 516) Core/Surface: destroying 0x7c0f38 (720x720) (-) [Main Thread 31.679] ( 516) Core/Layers: destroying context 0x7c0218 (FBDev Primary Layer [OSD], active) (-) [Main Thread 31.679] ( 516) Core/Layers: dfb_layer_remove_context (FBDev Primary Layer [OSD], 0x7c0218) (-) [Main Thread 31.680] ( 516) Core/Layers: dfb_layer_context_deactivate (0x7c0218) (-) [Main Thread 31.680] ( 516) Core/WM: dfb_wm_set_active( 0x7c0438, inactive ) (-) [Main Thread 31.680] ( 516) Core/WindowStack: dfb_windowstack_destroy( 0x7c0438 ) (-) [Main Thread 31.680] ( 516) Core/WM: dfb_wm_close_stack( 0x7c0438 ) (-) [Main Thread 31.681] ( 516) Core/Layers: destroying region 0x7c1710 (FBDev Primary Layer [Images], 720x720, configured, enabled, active, realized) (-) [Main Thread 31.681] ( 516) Core/Layers: unrealize_region( 0x7c1710 ) (-) [Main Thread 31.681] ( 516) Core/Layers: -> size 720x720 (-) [Main Thread 31.681] ( 516) Core/Layers: -> format ARGB (-) [Main Thread 31.682] ( 516) Core/Layers: -> surf caps 0x00000000 (-) [Main Thread 31.682] ( 516) Core/Layers: -> buffermode 2 (-) [Main Thread 31.682] ( 516) Core/Layers: -> options 0x00000021 (-) [Main Thread 31.682] ( 516) Core/Layers: -> source 0,0-720x720 (-) [Main Thread 31.682] ( 516) Core/Layers: -> dest 0,0-1280x720 (-) [Main Thread 31.682] ( 516) Core/Layers: -> opacity 255 (-) [Main Thread 31.682] ( 516) Core/Layers: -> src_key 000000 (index 0) (-) [Main Thread 31.683] ( 516) Core/Layers: -> dst_key 000000 (index 0) (-) [Main Thread 31.683] ( 516) Core/Layers: -> state 0x0000000f (-) [Main Thread 31.683] ( 516) Core/Layers: => removing region from 'FBDev Primary Layer [Images]' (-) [Main Thread 31.683] ( 516) Core/SurfBuffer: dfb_surface_buffer_unlock( 0x7c186c ) (-) [Main Thread 31.683] ( 516) Core/SurfBuffer: dfb_surface_buffer_destroy( 0x7c1b18 [720x720] ) (-) [Main Thread 32.049] ( 516) Core/SurfBuffer: dfb_surface_buffer_destroy( 0x7c1b58 [720x720] ) (-) [Main Thread 32.050] ( 516) Core/Surface: destroying 0x7c1910 (720x720) (-) [Main Thread 32.050] ( 516) Core/Layers: destroying context 0x7c11b0 (FBDev Primary Layer [Images], active) (-) [Main Thread 32.050] ( 516) Core/Layers: dfb_layer_remove_context (FBDev Primary Layer [Images], 0x7c11b0) (-) [Main Thread 32.050] ( 516) Core/Layers: dfb_layer_context_deactivate (0x7c11b0) (-) [Main Thread 32.051] ( 516) Core/WM: dfb_wm_set_active( 0x7c13d0, inactive ) (-) [Main Thread 32.051] ( 516) Core/WindowStack: dfb_windowstack_destroy( 0x7c13d0 ) (-) [Main Thread 32.051] ( 516) Core/WM: dfb_wm_close_stack( 0x7c13d0 ) (-) [Main Thread 32.051] ( 516) DirectFB/Core: dfb_core_destroy... (-) [Main Thread 32.052] ( 516) DirectFB/Core: Shutting down... (-) [Main Thread 32.052] ( 516) Direct/Thread: direct_thread_cancel( 0x2c039264, 'Linux Input' 517 ) (-) [Linux Input 32.053] ( 517) Direct/Thread: direct_thread_cleanup( 0x2c039264, 'Linux Input' 517 ) (-) [Main Thread 32.054] ( 516) Direct/Thread: direct_thread_join( 0x2c039264, 'Linux Input' 517 ) (-) [Main Thread 32.054] ( 516) Direct/Thread: -> joining... (-) [Main Thread 32.055] ( 516) Direct/Thread: -> joined. (-) [Main Thread 32.055] ( 516) Direct/Thread: direct_thread_destroy( 0x2c039264, 'Linux Input' 517 ) (-) [Main Thread 32.101] ( 516) Direct/Thread: direct_thread_cancel( 0x2c039264, 'Linux Input' 518 ) (-) [Linux Input 32.102] ( 518) Direct/Thread: direct_thread_cleanup( 0x2c039264, 'Linux Input' 518 ) (-) [Main Thread 32.102] ( 516) Direct/Thread: direct_thread_join( 0x2c039264, 'Linux Input' 518 ) (-) [Main Thread 32.103] ( 516) Direct/Thread: -> joining... (-) [Main Thread 32.103] ( 516) Direct/Thread: -> joined. (-) [Main Thread 32.103] ( 516) Direct/Thread: direct_thread_destroy( 0x2c039264, 'Linux Input' 518 ) (-) [Main Thread 32.213] ( 516) Core/WM: dfb_wm_close_all_stacks( 0x7ba990 ) (-) [Main Thread 32.213] ( 516) Core/WM: -> checking 0 stacks... (-) [Main Thread 32.213] ( 516) Core/WM: dfb_wm_core_shutdown( 0x7ba990, no emergency ) (-) [Main Thread 32.214] ( 516) Core/Graphics: dfb_graphics_core_shutdown( 0x7ba018, no emergency ) The shutdown boolean you suggested gets set to true too late... DirectFB/Core: Shutting down... The problem is that after calling Release on the top level interface it calls dfb_layer_context_activate This is what ends up clearing the FB (via activing Window manager etc). It then destroys this context and carries on shutting down. I will see if I can tweak the patch meanwhile any help is appreciated many thanks Daniel -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Daniel J Laird Sent: 2008 Oct 15 09:22 To: Denis Oliver Kropp Cc: directfb-dev@directfb.org Subject: Re: [directfb-dev] Layer Clearing at shutdown in DFB 1.2.x Yep, that's what I was in the middle of implementing. Will try yours out now and let you know the result. Daniel Laird -----Original Message----- From: Denis Oliver Kropp [mailto:[EMAIL PROTECTED] Sent: 2008 Oct 15 09:11 To: Daniel J Laird Cc: directfb-dev@directfb.org Subject: Re: Layer Clearing at shutdown in DFB 1.2.x Daniel J Laird wrote: > I thought this might be the case, > > Is there anyway to know I am shutting down? > I can see a shared->suspended flag but this is for something else. > Have we got a way of knowing we are shutting down? What about this? -- Best regards, Denis Oliver Kropp .------------------------------------------. | DirectFB - Hardware accelerated graphics | | http://www.directfb.org/ | "------------------------------------------" _______________________________________________ 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