[PATCH] Allocate bo objects to GTT always.

Pauli Nieminen suokkos at gmail.com
Wed Feb 10 02:57:07 PST 2010


2010/2/10 Michel Dänzer <michel at daenzer.net>:
> On Tue, 2010-02-09 at 19:31 +0200, Pauli Nieminen wrote:
>> Memmove/memcpy to vram is very slow operation. To avoid the slow copy
>> allocate all buffer objects to GTT.
>
> I'm not sure that's all there is to it (Have you tried setting it to
> VRAM instead of GTT?). With write-combining, I wouldn't expect CPU
> writes to VRAM + blit from VRAM to be significantly slower than CPU
> writes to GTT + blit from GTT. I think the problem is rather that
> without specifying a domain explicitly, the BO starts out in system RAM,
> incurring additional overhead when rendering from it.
>

I tested to force bo to vram and it was making the memmove take many
times more. Video handling is CPU limited because of demanding decode
process running in CPU while GPU has a lot less to do. So if the move
over AGP is slow then it is better to ave GPU taking the penalty than
CPU.



> So while I'm okay with the code change, I suspect the commit log could
> be better.
>

I agree. The commit message is not good enough. I try to rewrite it to
better explain the change. Also minor improvement might be letting
ccaller to ask for placement when calling memory allocation. That way
only video functions would request GTT placement while for others it
could use default.

>
> --
> Earthling Michel Dänzer           |                http://www.vmware.com
> Libre software enthusiast         |          Debian, X and DRI developer
>


More information about the xorg-driver-ati mailing list