Daniel Laird wrote:
> So the problem I see is that in DirectFB 1.2.1 I am trying to allocate a
> surface in devMem where as in DirectFB 1.2.0 I use my gfx_pool which is
> correct.
> I can see that in 1.2.0 it tries gfx_pool, then video_pool and then decides
> that it will use the gfx_pool
> Whereas in DirectFB 1.2.1 it tries gfx pool, then video pool and then
> allocates using devmem.
The priority management has been improved, but the pools had the same priority.
I just fixed that for the OSD pool in the Davinci driver and it allocates in the
framebuffer device again, rather than /dev/mem.
I also verified that the correct surface buffer indices are returned.
Running "dfbdump -a" while df_andi is running:
~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.2.4 |~~~~~~~~~~~~~~~~~~~~~~~~~~
(c) 2001-2008 The world wide DirectFB Open Source Community
(c) 2000-2004 Convergence (integrated media) GmbH
----------------------------------------------------------------
(*) DirectFB/Core: Multi Application Core. (2008-09-17 10:06) [ DEBUG ][ TRACE ]
(*) Fusion/SHM: Using MADV_REMOVE (2.6.25.0 >= 2.6.19.2)
(*) Direct/Thread: Started 'Fusion Dispatch' (-1) [MESSAGING OTHER/OTHER 0/0]
<8388608>...
(*) Davinci/Driver: Mapped fb0 with length 2880000 at 0x84000000 to 0x42bde000
(*) Davinci/Driver: Mapped fb1 with length 2880000 at 0x842c0000 to 0x42e9e000
(*) Davinci/Driver: Mapped fb2 with length 720000 at 0x84580000 to 0x4315e000
(*) Davinci/Driver: Mapped fb3 with length 2880000 at 0x84630000 to 0x4320e000
(*) Davinci/C64X: Low ARM 12641 / DSP 12641, High ARM 0 / DSP 0
(*) DirectFB/Graphics: Texas Instruments Davinci 0.4 (Telio AG)
DirectFB uptime: 00:00:23
-----------------------------[ Surfaces ]-------------------------------------
Reference FID . Refs Width Height Format Video System Capabilities
------------------------------------------------------------------------------
0x0000000b [ 1] : 2 992 x 32 ARGB 0k* 124k* premultiplied
0x0000000a [ 1] : 2 118 x 98 RGB32 0k 45k
0x00000009 [ 1] : 2 800 x 600 RGB16 937k 937k
0x00000008 [ 1] : 3 400 x 240 RGB16 187k 187k
0x00000007 [ 1] : 4 800 x 600 RGB16 2812k* 0k* video only
triple
0x00000004 [ 1] : 2 800 x 600 RGB16 0k 0k video only
double
------ ------
3937k 1294k -> 5231k
total
----------------------------------[ Contexts of Layer 0
]----------------------------------------
Reference FID . Refs Width Height Format Location on screen Regions
Active Info Level
-------------------------------------------------------------------------------------------------
0x00000005 [ 1] : 2 800 x 600 RGB16 0.0, 0.0 -> 1.0, 1.0 1
(*) PRIVATE N/A
0x00000002 [ 1] : 4 800 x 600 RGB16 0.0, 0.0 -> 1.0, 1.0 1
SHARED N/A
--------------------[ 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 192000 400 x 240 RGB16 front * 2 0 PRIVATE
0 960000 800 x 600 RGB16 front * 2 0 PRIVATE
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
--------------------------------------------------------------------------------------------
--------------------[ Surface Buffer Allocations in /dev/mem
]-------------------
Offset Length Width Height Format Role Up nA ID Usage Type /
Storage / Caps
---------------------------------------------------------------------------------
32594368 960000 800 x 600 RGB16 front * 2 0 PRIVATE
32402304 192000 400 x 240 RGB16 front * 2 0 PRIVATE
--------------------[ Surface Buffer Allocations in OSD Pool
]-------------------
Offset Length Width Height Format Role Up nA ID Usage Type /
Storage / Caps
---------------------------------------------------------------------------------
960000 960000 800 x 600 RGB16 back * 1 0 PRIVATE LAYER
EXTERNAL video only triple
0 960000 800 x 600 RGB16 front * 1 0 PRIVATE LAYER
EXTERNAL video only triple
1920000 960000 800 x 600 RGB16 idle * 1 0 PRIVATE LAYER
EXTERNAL video only triple
dfbdump -p:
-------------------------------------[ Surface Buffer Pools
]------------------------------------
Name Priority CrCw GrGw Sh Used/Capacity Usage Storage
Resource Types
-------------------------------------------------------------------------------------------------
Shared Memory DEFAULT * * * 0/ 0k SHARED INTERNAL
LAYER WINDOW CURSOR FONT
System Memory PREFERED * * 1294/ 0k INTERNAL
FONT
Preallocated Memory DEFAULT * * 0/ 0k
/dev/mem DEFAULT * * * * * 1125/ 0k SHARED EXTERNAL
LAYER WINDOW CURSOR FONT
OSD Pool PREFERED * * * * * 2812/ 0k SHARED EXTERNAL
LAYER
--
Best regards,
Denis Oliver Kropp
.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/ |
"------------------------------------------"
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev