Hi Dennis, anyone I am trying to create virtual surfaces for use by MPEG decoder. If I keep the DLCAPS_SURFACE flag then I have the following issue: (-) [Main Thread 4.868] ( 504) IDirectFB: IDirectFB_GetDisplayLayer( 0x7bf6e8, 3 ) (-) [Main Thread 4.869] ( 504) Core/Layers: dfb_layer_get_primary_context (Secondary Vid Layer [tmdlVss2], activate) <- active: -1 (-) [Main Thread 4.869] ( 504) Core/Layers: dfb_layer_create_context (Secondary Vid Layer [tmdlVss2]) (-) [Main Thread 4.869] ( 504) Core/Layers: dfb_layer_context_init -> 0x7e5680 (-) [Main Thread 4.870] ( 504) Core/WindowStack: dfb_windowstack_create( 0x7e5680 ) (-) [Main Thread 4.870] ( 504) Core/WindowStack: -> 0x7e58a0 (-) [Main Thread 4.870] ( 504) Core/WindowStack: dfb_windowstack_resize( 0x7e58a0, 1280x720 ) (-) [Main Thread 4.870] ( 504) Core/Layers: dfb_layer_activate_context (Secondary Vid Layer [tmdlVss2], 0x7e5680) (-) [Main Thread 4.871] ( 504) Core/Layers: dfb_layer_context_activate (0x7e5680) (-) [Main Thread 4.871] ( 504) Core/WindowStack: dfb_windowstack_repaint_all( 0x7e58a0 ) (-) [Main Thread 5.236] ( 504) Core/Layers: dfb_layer_context_set_configuration (0x7e5680, 0x7e577c) (-) [Main Thread 5.236] ( 504) Core/Layers: dfb_layer_context_set_configuration (0x7e5680, 0x7e577c) (-) [Main Thread 5.237] ( 504) Core/Layers: dfb_layer_context_set_configuration (0x7e5680, 0x7e577c) (-) [Main Thread 5.237] ( 504) Core/Surface: dfb_surface_create( 0x7b9a18, 0x2bbd95dc, 0x2bbd95d8 ) (-) [Main Thread 5.238] ( 504) Core/Surface: -> 1280x720 (-) [Main Thread 5.238] ( 504) Core/Surface: -> UYVY (-) [Main Thread 5.238] ( 504) Core/Surface: -> caps 0x00000004 (-) [Main Thread 5.238] ( 504) Core/SurfBuffer: dfb_surface_buffer_new( UYVY ) (-) [Main Thread 5.239] ( 504) Core/Layers: realize_region( 0x7e5bd8 ) (-) [Main Thread 5.239] ( 504) Core/Layers: -> size 1280x720 (-) [Main Thread 5.239] ( 504) Core/Layers: -> format UYVY (-) [Main Thread 5.239] ( 504) Core/Layers: -> surf caps 0x00000000 (-) [Main Thread 5.239] ( 504) Core/Layers: -> buffermode 1 (-) [Main Thread 5.239] ( 504) Core/Layers: -> options 0x00000021 (-) [Main Thread 5.240] ( 504) Core/Layers: -> source 0,0-1280x720 (-) [Main Thread 5.240] ( 504) Core/Layers: -> dest 0,0-1280x720 (-) [Main Thread 5.240] ( 504) Core/Layers: -> opacity 255 (-) [Main Thread 5.240] ( 504) Core/Layers: -> src_key 000000 (index 0) (-) [Main Thread 5.240] ( 504) Core/Layers: -> dst_key 000000 (index 0) (-) [Main Thread 5.240] ( 504) Core/Layers: -> state 0x00000015 (-) [Main Thread 5.240] ( 504) Core/Layers: -> FROZEN! (-) [Main Thread 5.241] ( 504) Core/WindowStack: dfb_windowstack_resize( 0x7e58a0, 1280x720 ) (-) [Main Thread 5.241] ( 504) Core/WindowStack: dfb_windowstack_repaint_all( 0x7e58a0 ) (-) [Main Thread 5.256] ( 504) Core/SurfBuffer: dfb_surface_buffer_lock( 0x7e5fe0, 0x00000008, 0x7be238 ) (-) [Main Thread 5.256] ( 504) Core/SurfBuffer: -> CPU WRITE (-) [Main Thread 5.256] ( 504) Core/SurfBuffer: allocate_buffer( 0x7e5fe0, 0x8 ) (-) [Main Thread 5.257] ( 504) Core/SurfBuffer: -> 1280x720 UYVY - SHARED LAYER EXTERNAL (-) [Main Thread 5.257] ( 504) DevMem/Surfaces: devmemTestConfig( 0x7e5fe0 )
The problem here is that it tries to create a 1280x720 UYVY surface on the layer. If I allow CSAF_CPU_WRITE on my video_pool (which is required to allow the surface to be allocated) It calls my code but it later tries to access the data from somewhere. However I have set lock->pitch=0 and lock->addr=NULL. If I remove the CSAF_CPU_WRITE flag then this problem goes away, however it decides that my layer cannot be allocated by my video_pool so it allocates the surface in devmem and then I lose all my memory to non-virtual video surfaces. Any ideas on how I can remove the need for a Window Stack or solve what is accessing the lock->addr value? Many thanks Daniel Laird -- View this message in context: http://www.nabble.com/Virtual-Video-Surfaces-Revisited.-tp19290639p19290639.html Sent from the DirectFB Dev mailing list archive at Nabble.com. _______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev