Bad 2D performance with xf86-video-ati driver on RV350 AR [Radeon 9600]
Alex Deucher
alexdeucher at gmail.com
Mon Dec 22 00:09:04 PST 2008
On Sun, Dec 21, 2008 at 4:41 PM, Patrick Haller
<patrick.haller at haller-consult.com> 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 (1.6.99.1), 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.
Thanks!
Alex
More information about the xorg
mailing list