I have been trying the virtual surfaces, It compiles :-). 
However when I run I keep getting
.......
(>) [Main Thread       5.184] (  515) NXP/STB22X/VIDEO:  Entering 
phStbDFB_TestRegion
() [Main Thread       5.185] (  515) NXP/STB22X/VIDEO:  Entering 
phStbDFB_TestRegion
() [Main Thread       5.186] (  515) NXP/STB22X/VIDEO:  Entering 
phStbDFB_TestRegion
( size       1280x720
(-) [Main Thread       5.551] (  515) Core/Layers:          -> format     UYVY
(-) [Main Thread       5.551] (  515) Core/Layers:          -> surf caps  
0x00000000
(-) [Main Thread       5.552] (  515) Core/Layers:          -> buffermode 1
(-) [Main Thread       5.552] (  515) Core/Layers:          -> options    
0x00000021
(-) [Main Thread       5.552] (  515) Core/Layers:          -> source     
0,0-1280x720
(-) [Main Thread       5.552] (  515) Core/Layers:          -> dest       
0,0-720x576
(-) [Main Thread       5.552] (  515) Core/Layers:          -> opacity    255
(-) [Main Thread       5.552] (  515) Core/Layers:          -> src_key    
000000 (index 0)
(-) [Main Thread       5.552] (  515) Core/Layers:          -> dst_key    
000000 (index 0)
(-) [Main Thread       5.553] (  515) Core/Layers:          -> state    
0x00000015
(-) [Main Thread       5.553] (  515) Core/Layers:          -> FROZEN!
(-) [Main Thread       5.553] (  515) Core/WindowStack:   
dfb_windowstack_resize( 0x45b0a0, 1280x720 )
(-) [Main Thread       5.553] (  515) Core/WindowStack:   
dfb_windowstack_repaint_all( 0x45b0a0 )
(-) [Main Thread       5.554] (  515) Core/Layers:        destroying region 
0x45ac80 (Secondary Vid Layer [tmdlVss2], 1280x720, configured, enabled, 
inactive, not realized)
(-) [Main Thread       5.554] (  515) Core/Layers:        destroying context 
0x45a728 (Secondary Vid Layer [tmdlVss2], inactive)
(-) [Main Thread       5.554] (  515) Core/Layers:        
dfb_layer_remove_context (Secondary Vid Layer [tmdlVss2], 0x45a728)
(-) [Main Thread       5.554] (  515) Core/WindowStack:   
dfb_windowstack_destroy( 0x45a948 )
(!) [Main Thread       5.555] (  515) *** Assumption [region->surface != NULL] 
failed *** [layer_region.c:390 in dfb_layer_region_get_surface()]

I am struggling to see why region->surface is NULL.  And If I look at what 
calls this:
     /* Lock the region. */
     if (dfb_layer_region_lock( region ))
          return DFB_FUSION;

I presume that this call makes sure that region->surface is ! NULL or fills it 
in.
Any quick clues as to what i must have done or is this a virtual surface 
issue.....

Cheers
Daniel Laird

Daniel Laird
[EMAIL PROTECTED]

----------------------------------------
> Date: Fri, 25 Jul 2008 18:19:44 +0200
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> CC: directfb-dev@directfb.org
> Subject: Re: [directfb-dev] Virtual Surfaces for Video Layers in gfxdrivers‏‏
> 
> Daniel Laird wrote:
>> On STB810 (pnx8950 based) and STB225 DFB1.0 we used virtual surfaces.  
>> These had no associated memory  but reported sizes etc and this was done by 
>> using the allocate surface function for video layers:
>> 
>> dfb_surface_create_preallocated(core, config->width, config->height,
>>                                 config->format, CSP_SYSTEMONLY,
>>                                 Caps, NULL, NULL, NULL, 0, 0, ret_surface);
>> 
>> This AFAIK meant we had a surface but no memory attached.
>> 
>> This allowed us to call GetSurface on a VideoLayer and then we used the 
>> surface handle 
>> to look up what video layer we really meant and make sure our decoder output 
>> to that layer.
>> Also solved issues where our HW always has layer 0 = video.  Whereas DFB has 
>> Primary FB layer as 0
>> 
>> I am now trying to move to DFB1.2 and did not like V1 of my DFB1.0 driver as 
>> it relied on FBDev system.
>> So I used your rather nice davinci driver as a basis.  
>> This also will make it Open and more supportable in the future.
> 
> Great!
> 
> Are you going to use devmem for the OSD and offscreen surfaces?
> 
> I guess you're at least keeping the kernel module for acceleration.
> 
>> However I now want to handle virtual surfaces and this is a difference to 
>> the davinci.
> 
> Well, you can still do the same and simply set lock.addr to NULL or at least 
> allocate on dummy line
> and set lock.pitch to 0 :)
> 
>> I am happy passing a NULL surface to PlayTo but I have no way of getting the 
>> Source etc as you indicated above.  This means I have
>> no easy way of specifiying which of the 2 video layers I am rendering to.  I 
>> could hack the ctx parameter but this is a dirty hack.
> 
> True, the virtual surface is a nicer solution, at least for DirectFB 1.x...
> 
>> Should PlayTo be modified to take either a surface or a Layer?
> 
> I'm planning to change the API anyhow, moving away from the strong 
> layer-surface binding,
> allowing to call something like IDirectFBDisplayLayer::SetSurface() or even 
> more advanced.
> 
> This will also allow showing one surface on different layers,
> allowing different positioning and scaling on different screens.
> 
>> Could we move CreateVideoProvider from top level interface to Surface/Layer 
>> so that either can create a VideoProvider.
>> i.e DisplayLayer->CreateVideoProvider and Surface->CreateVideoProvider.
>> The Video Provider could then be passed the 'parent' creator in the 
>> Construct call and then we would be able to handle both Layer or Surface.
>> 
>> I am looking for some advice and am happy to try things out as we try to 
>> make a better version of the DFB1.2 driver.
> 
> Let's keep the virtual surfaces with 1.2 and do heavier changes in 1.3 
> (->1.4) or better in 1.5 (->2.0).
> 
> Those changes would better match the virtual surfaces anyhow :)
> 
> -- 
> 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

_________________________________________________________________
100’s of Nikon cameras to be won with Live Search
http://clk.atdmt.com/UKM/go/101719808/direct/01/

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

Reply via email to