Bad 2D performance with xf86-video-ati driver on RV350 AR [Radeon 9600]

Alex Deucher alexdeucher at
Mon Dec 22 00:09:04 PST 2008

On Sun, Dec 21, 2008 at 4:41 PM, Patrick Haller
<patrick.haller at> wrote:
> Hello everybody,
> it's been quite a while since I last participated in F/OSS development, but
> wanted to take a plunge into xorg-server (or Clemens' great jxrender) in the
> x-mas vacation.
> Following how EXA performance improved, especially the 'x11perf -aa10text',
> I was wondering why others got great results with 600.000 chars/sec and
> more, but my setup was stuck at ~55.000 chars/sec.
> I observed that with my setup a lot of EXA migrations took place if I ran in
> dual head mode (2560x1024). In single head mode (1280x1024) virtually no
> migrations took place, even setting up an awkward 2559x1024 caused no
> migrations and performed well, too.
> My Setup:
> - xorg-server head (, xf6-video-ati head
> - 01:00.0 ATI Technologies Inc RV350 AR [Radeon 9600]
> - 01:00.1 ATI Technologies Inc RV350 AR [Radeon 9600] (Secondary)
> I found that in radeon_exa_render.c, R300CheckComposite() the limiting
> boundaries of the chipset are checked:
>    if (pDstPixmap->drawable.width >= max_dst_w ||
>        pDstPixmap->drawable.height >= max_dst_h) {
>        RADEON_FALLBACK(("Dest w/h too large (%d,%d).\n",
>                         pDstPixmap->drawable.width,
>                         pDstPixmap->drawable.height));
>    }
> Could this possibly be an off-by-one error? I changed this (and similar
> locations in the neighborhood) to

Good catch Patrick!  I've committed a slightly modified version of
your patch with updates for older chips as well.



More information about the xorg mailing list