[patch] exa: fix pitch handling in ModifyPixmapHeader
Zhenyu Wang
zhen78 at gmail.com
Fri Apr 18 18:16:21 PDT 2008
On 2008.04.18 14:03:50 +0200, Tilman Sauerbeck wrote:
> Unfortunately I cannot reproduce #15509 on my i945 sofar. I tried the
> master branches of xserver.git and intel.git with a framebuffer of
> 2560x2560 pixels, and rotation still worked fine after I connected the
> VGA output and extended my desktop to it.
Try to set virtual height <= 2048. Current intel driver will disable
accel if virtualY's larger than 2048, which I think a little overkill.
As hw at least supports 2D blit larger than that, and disable smaller
size pixmap acceleration totally. I don't know much of why it is, Eric?
I think We'd just fix exa to handle driver's limits and alignement
correctly, and let it pass down those can be done in hw. I have pushed
pitch check patch in intel driver on 2.3-branch, although we might fix
left issue later, but just check them for safe now.
> diff --git a/exa/exa.c b/exa/exa.c
> index 81dc3e2..5014c0f 100644
> --- a/exa/exa.c
> +++ b/exa/exa.c
> @@ -385,6 +389,9 @@ exaModifyPixmapHeader(PixmapPtr pPixmap, int width, int height, int depth,
>
> if (pExaPixmap) {
> pExaPixmap->sys_ptr = pPixData;
> + pExaPixmap->sys_pitch = devKind;
> +
We'd better check (devKind > 0).
> + exaSetFbPitch(pExaScr, pExaPixmap, width, height, bitsPerPixel);
>
> exaSetAccelBlock(pExaScr, pExaPixmap,
> width, height, bitsPerPixel);
More information about the xorg
mailing list