Denis Oliver Kropp wrote:
> Claudio Ciccani wrote:
>
>> Attached is my latest patch that implements AGP support (and not only)
>> in DirectFB.
>>
>> AGP initialization is performed by the system, like in previous patches.
>> Identification of AGP bridge is done by comparing the busid (which is
>> always 1:0:0, so if card is connected at bus 1:0:0 and agpgart reports
>> an existing AGP slot, then the card has an AGP bridge ;) ).
>>
>> The main changes affect the surface manager, which now supports a
>> variable number of heaps.
>> Each heap is identified by its storage type:
>> CSS_VIDEO for main video memory
>> CSS_AUXILIARY for auxiliary memory (i.e. PCI/AGP/PCIE memory).
>> When the surface manager is requested to allocate a video buffer, it
>> iterates through heaps and uses the first heap that has enough free
>> space. If an usable heap is found, reserves memory from it and
>> sets the storage field of the buffer to the storage of the heap.
>> This way AGP memory is invisible to the application; simply request for
>> a surface stored in video memory and the surface manager will find the
>> best storage.
>>
>> However the secondary heap is only created if the driver reports to be
>> AGP capable (i.e. CCF_AUXMEMORY capability bit is set).
>>
>>
>> Unless anybody has objections, i will apply the patch.
>
>
> Cool, that's really something to be with before the new surface core
> is done. After that it could be ported to be an implementation of a
> surface buffer pool.
>
OK. I will be importing the patch tomorrow with some modifications
(i.e. AGP bridge is detected by reading the PCI Capability List, the
surface manager iterates through all heaps to find the best chunk).
--
Regards,
Claudio Ciccani
[EMAIL PROTECTED]
http://directfb.org
http://sf.net/projects/php-directfb
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev