Daniel Laird wrote:
> I am writing a new GFX driver as indicated before.
> The System has more than one framebuffer and I want to be able to use both.
> 
> I decided to look at how the davinci driver does this. 
> It uses the 'devmem' system.  However the driver provides functions for
> allocation / deallocation of surfaces, joining and leaving the surface pool
> etc.
> 
> The problem is that it only seems to allow for allocation of surfaces on a
> layer and a layer id of 0.

davinci_osd_pool.c allocates surfaces for the primary layer in fb0.

davinci_video_pool.c allocated surfaces for the video layer in fb3(?).

> I cannot see what it does when this is not the case.
> i.e What happens when you create an offscreen surface using the davinci
> driver?

It's using the devmem pool for general purpose or window surfaces.

That is the video-phys and video-length option.

> I am new to this but i think that I need to extend the AllocateBuffer
> function in the davinci driver to cope with what to do when the surface type
> is not LAYER or layer id is not 0.

No, it should work like said.

> Am I correct.  Where will an offscreen surface get allocated for the davinci
> driver i.e if you run df_andi where do the offscreen surfaces get allocated?
> I can't find where!

"dfbdump -a" shows this:


     =======================|  DirectFB 1.1.0  |=======================
          (c) 2001-2007  The DirectFB Organization (directfb.org)
          (c) 2000-2004  Convergence (integrated media) GmbH
        ------------------------------------------------------------

(*) DirectFB/Core: Multi Application Core. (2008-01-04 16:56)
(*) Fusion/SHM: NOT using MADV_REMOVE (2.6.10.0 < 2.6.19.2)! [0x02060a00]
(*) Direct/Thread: Running 'Fusion Dispatch' (MESSAGING, 582)...
(*) Davinci/Driver: Mapped fb0 with length 2488320 at 0x85800000 to 0x41d29000
(*) Davinci/Driver: Mapped fb1 with length 3760128 at 0x85400000 to 0x41f89000
(*) Davinci/Driver: Mapped fb2 with length 1658880 at 0x85e00000 to 0x4231f000
(*) Davinci/Driver: Mapped fb3 with length 3760128 at 0x85000000 to 0x424b4000
(*) Davinci/C64X: Low ARM 3897 / DSP 3811, High ARM 0 / DSP 0
(*) DirectFB/Graphics: Texas Instruments Davinci 0.4 (Telio AG)
(*) SaWMan/Config: Parsing config file '/etc/sawmanrc'.

DirectFB uptime: 00:00:24

-----------------------------[ Surfaces ]-------------------------------------
Reference   FID  . Refs  Width Height  Format     Video   System  Capabilities
------------------------------------------------------------------------------
0x0000000c [  1] :   2    992 x   32       ARGB     0k     124k   premultiplied
0x0000000b [  1] :   2    118 x   98      RGB32     0k      45k
0x0000000a [  1] :   2    640 x  480      RGB16   600k       0k
0x00000009 [  1] :   3    400 x  240      RGB16   187k       0k
0x00000008 [  1] :   4    640 x  480      RGB16  2025k       0k   video only   
triple
0x00000005 [  1] :   1    640 x  480       ARGB     0k       0k   video only
                                                ------   ------
                                                 2812k     169k   -> 2981k total

----------------------------------[ Contexts of Layer 0 
]----------------------------------------
Reference   FID  . Refs  Width Height Format   Location on screen  Regions  
Active  Info    Level
-------------------------------------------------------------------------------------------------
0x00000006 [  1] :   2    640 x  480  RGB16    0.0, 0.0 -> 1.0, 1.0    1     
(*)    PRIVATE  N/A
0x00000003 [  1] :   3    640 x  480  ARGB     0.0, 0.0 -> 1.0, 1.0    1        
    SHARED   N/A


--------------------[ Surface Buffer Allocations in /dev/mem 
]-------------------
Offset    Length   Width Height     Format  Role  Up nA ID  Usage   Type / 
Storage / Caps
---------------------------------------------------------------------------------
 16162752   614400   640 x  480      RGB16  front  * 1   0  PRIVATE
 15970688   192000   400 x  240      RGB16  front  * 1   0  PRIVATE

--------------------[ Surface Buffer Allocations in OSD Pool 
]-------------------
Offset    Length   Width Height     Format  Role  Up nA ID  Usage   Type / 
Storage / Caps
---------------------------------------------------------------------------------
   691200   691200   640 x  480      RGB16  back   * 1   0  PRIVATE LAYER  
EXTERNAL  video only   triple
        0   691200   640 x  480      RGB16  front  * 1   0  PRIVATE LAYER  
EXTERNAL  video only   triple
  1382400   691200   640 x  480      RGB16  idle   * 1   0  PRIVATE LAYER  
EXTERNAL  video only   triple

--------------------[ Surface Buffer Allocations in Video Pool 
]-------------------
Offset    Length   Width Height     Format  Role  Up nA ID  Usage   Type / 
Storage / Caps
-----------------------------------------------------------------------------------

--------------------[ Surface Buffer Allocations in Shared Memory 
]-------------------
Offset    Length   Width Height     Format  Role  Up nA ID  Usage   Type / 
Storage / Caps
--------------------------------------------------------------------------------------

--------------------[ Surface Buffer Allocations in System Memory 
]-------------------
Offset    Length   Width Height     Format  Role  Up nA ID  Usage   Type / 
Storage / Caps
--------------------------------------------------------------------------------------
        0    46256   118 x   98      RGB32  front  * 1   0  PRIVATE
        0   126976   992 x   32       ARGB  front  * 1   0  PRIVATE FONT   
premultiplied

--------------------[ Surface Buffer Allocations in Preallocated Memory 
]-------------------
Offset    Length   Width Height     Format  Role  Up nA ID  Usage   Type / 
Storage / Caps
--------------------------------------------------------------------------------------------



-- 
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

Reply via email to