[PATCH 8/9] fb: move some code to mi
Magnus Kessler
Magnus.Kessler at gmx.net
Tue Feb 10 14:35:43 PST 2009
On Thursday 05 February 2009, Maarten Maathuis wrote:
> ---
> exa/exa_accel.c | 4 +-
> fb/fb.h | 37 ------
> fb/fbcopy.c | 331
> +-------------------------------------------------- fb/fboverlay.c |
> 2 +-
> fb/fboverlay.h | 2 +-
> fb/fbwindow.c | 2 +-
> mi/Makefile.am | 1 +
> mi/mi.h | 42 +++++++
> mi/micopy.c | 354
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 9 files changed,
> 406 insertions(+), 369 deletions(-)
> create mode 100644 mi/micopy.c
>
Removing fbDoCopy and fbCopyRegion from xserver (git commit
2e76958d304a3c4080d62f32449724eeb9b95d93) breaks uxa acceleration in the
intel driver. The server crashes as soon as uxa_copy_area or uxa_copy_window
are called. At least the equivalent of the exa_accel patch needs to be
applied to the intel driver to restore working uxa acceleration with git
HEAD of xserver. However, since the intel driver presumably is supposed to
work with older versions, too, some version checking might be required as
well.
A simplistic patch just calling the new mi copy functions is attached.
diff --git a/uxa/uxa-accel.c b/uxa/uxa-accel.c
index f42e0e2..7053067 100644
--- a/uxa/uxa-accel.c
+++ b/uxa/uxa-accel.c
@@ -492,7 +492,7 @@ uxa_copy_area(DrawablePtr pSrcDrawable, DrawablePtr
pDstDrawable, GCPtr pGC,
srcx, srcy, width, height, dstx, dsty);
}
- return fbDoCopy (pSrcDrawable, pDstDrawable, pGC,
+ return miDoCopy (pSrcDrawable, pDstDrawable, pGC,
srcx, srcy, width, height,
dstx, dsty, uxa_copy_n_to_n, 0, NULL);
}
@@ -840,7 +840,7 @@ uxa_copy_window(WindowPtr pWin, DDXPointRec ptOldOrg,
RegionPtr prgnSrc)
-pPixmap->screen_x, -pPixmap->screen_y);
#endif
- fbCopyRegion (&pPixmap->drawable, &pPixmap->drawable,
+ miCopyRegion (&pPixmap->drawable, &pPixmap->drawable,
NULL,
&rgnDst, dx, dy, uxa_copy_n_to_n, 0, NULL);
Regards,
Magnus Kessler
More information about the xorg
mailing list