diff options
author | Dave Airlie <airlied@redhat.com> | 2012-10-02 15:45:39 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-10-02 15:45:39 +1000 |
commit | 3326afd8a7c19368bb9fdc4b840e774fe0b047c0 (patch) | |
tree | 68542dba2416bacdea61007cdd67e923fe4edce6 | |
parent | 2dc3cd1549be495354b3c3740388e775aeb02ed5 (diff) |
fb: start spitting screen from window/pixmap
-rw-r--r-- | fb/fb.h | 17 | ||||
-rw-r--r-- | fb/fb24_32.c | 16 | ||||
-rw-r--r-- | fb/fbarc.c | 2 | ||||
-rw-r--r-- | fb/fbbits.h | 8 | ||||
-rw-r--r-- | fb/fbcopy.c | 17 | ||||
-rw-r--r-- | fb/fbfill.c | 10 | ||||
-rw-r--r-- | fb/fbgc.c | 4 | ||||
-rw-r--r-- | fb/fbgetsp.c | 2 | ||||
-rw-r--r-- | fb/fbglyph.c | 4 | ||||
-rw-r--r-- | fb/fbimage.c | 6 | ||||
-rw-r--r-- | fb/fbpict.c | 2 | ||||
-rw-r--r-- | fb/fbpoint.c | 2 | ||||
-rw-r--r-- | fb/fbpush.c | 4 | ||||
-rw-r--r-- | fb/fbscreen.c | 6 | ||||
-rw-r--r-- | fb/fbseg.c | 8 | ||||
-rw-r--r-- | fb/fbsetsp.c | 2 | ||||
-rw-r--r-- | fb/fbwindow.c | 8 |
17 files changed, 61 insertions, 57 deletions
@@ -640,8 +640,8 @@ typedef struct { #define fbGetWinPrivateKey(pWin) (&fbGetScreenPrivate(((DrawablePtr) (pWin))->pScreen)->winPrivateKeyRec) -#define fbGetWindowPixmap(pWin) ((PixmapPtr)\ - dixLookupPrivate(&((WindowPtr)(pWin))->devPrivates, fbGetWinPrivateKey(pWin))) +/*#define fbGetWindowPixmap(pWin) ((PixmapPtr) \ + dixLookupPrivate(&((WindowPtr)(pWin))->devPrivates, fbGetWinPrivateKey(pWin))) */ #ifdef ROOTLESS #define __fbPixDrawableX(pPix) ((pPix)->drawable.x) @@ -661,13 +661,12 @@ typedef struct { #define __fbPixOffXPix(pPix) (__fbPixDrawableX(pPix)) #define __fbPixOffYPix(pPix) (__fbPixDrawableY(pPix)) -#define fbGetDrawablePixmap(pDrawable, pixmap, xoff, yoff) { \ +#define fbGetDrawablePixmap(pScreen, pDrawable, pixmap, xoff, yoff) { \ + (pixmap) = GetDrawablePixmap(pScreen, pDrawable); \ if ((pDrawable)->type != DRAWABLE_PIXMAP) { \ - (pixmap) = fbGetWindowPixmap(pDrawable); \ (xoff) = __fbPixOffXWin(pixmap); \ (yoff) = __fbPixOffYWin(pixmap); \ } else { \ - (pixmap) = (PixmapPtr) (pDrawable); \ (xoff) = __fbPixOffXPix(pixmap); \ (yoff) = __fbPixOffYPix(pixmap); \ } \ @@ -686,15 +685,15 @@ typedef struct { (bpp) = (pixmap)->drawable.bitsPerPixel; (void)(bpp); \ } -#define fbGetDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { \ +#define fbGetDrawable(pScreen, pDrawable, pointer, stride, bpp, xoff, yoff) { \ PixmapPtr _pPix; \ - fbGetDrawablePixmap(pDrawable, _pPix, xoff, yoff); \ + fbGetDrawablePixmap(pScreen, pDrawable, _pPix, xoff, yoff); \ fbGetPixmapBitsData(_pPix, pointer, stride, bpp); \ } -#define fbGetStipDrawable(pDrawable, pointer, stride, bpp, xoff, yoff) { \ +#define fbGetStipDrawable(pScreen, pDrawable, pointer, stride, bpp, xoff, yoff) { \ PixmapPtr _pPix; \ - fbGetDrawablePixmap(pDrawable, _pPix, xoff, yoff); \ + fbGetDrawablePixmap(pScreen, pDrawable, _pPix, xoff, yoff); \ fbGetPixmapStipData(_pPix, pointer, stride, bpp); \ } diff --git a/fb/fb24_32.c b/fb/fb24_32.c index 5eb81e8f0..369a56ec3 100644 --- a/fb/fb24_32.c +++ b/fb/fb24_32.c @@ -249,7 +249,7 @@ fb24_32GetSpans(DrawablePtr pDrawable, int srcXoff, srcYoff; CARD8 *dst; - fbGetDrawable(pDrawable, srcBits, srcStride, srcBpp, srcXoff, srcYoff); + fbGetDrawable(pDrawable->pScreen, pDrawable, srcBits, srcStride, srcBpp, srcXoff, srcYoff); src = (CARD8 *) srcBits; srcStride *= sizeof(FbBits); @@ -284,7 +284,7 @@ fb24_32SetSpans(DrawablePtr pDrawable, int n; int x1, x2; - fbGetDrawable(pDrawable, dstBits, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pDrawable->pScreen, pDrawable, dstBits, dstStride, dstBpp, dstXoff, dstYoff); dst = (CARD8 *) dstBits; dstStride *= sizeof(FbBits); while (nspans--) { @@ -340,7 +340,7 @@ fb24_32PutZImage(DrawablePtr pDrawable, BoxPtr pbox; int x1, y1, x2, y2; - fbGetDrawable(pDrawable, dstBits, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pDrawable->pScreen, pDrawable, dstBits, dstStride, dstBpp, dstXoff, dstYoff); dstStride *= sizeof(FbBits); dst = (CARD8 *) dstBits; @@ -385,7 +385,7 @@ fb24_32GetImage(DrawablePtr pDrawable, FbStride dstStride; FbBits pm; - fbGetDrawable(pDrawable, srcBits, srcStride, srcBpp, srcXoff, srcYoff); + fbGetDrawable(pDrawable->pScreen, pDrawable, srcBits, srcStride, srcBpp, srcXoff, srcYoff); src = (CARD8 *) srcBits; srcStride *= sizeof(FbBits); @@ -425,10 +425,10 @@ fb24_32CopyMtoN(DrawablePtr pSrcDrawable, int srcXoff, srcYoff; int dstXoff, dstYoff; - fbGetDrawable(pSrcDrawable, srcBits, srcStride, srcBpp, srcXoff, srcYoff); + fbGetDrawable(pSrcDrawable->pScreen, pSrcDrawable, srcBits, srcStride, srcBpp, srcXoff, srcYoff); src = (CARD8 *) srcBits; srcStride *= sizeof(FbBits); - fbGetDrawable(pDstDrawable, dstBits, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pDstDrawable->pScreen, pDstDrawable, dstBits, dstStride, dstBpp, dstXoff, dstYoff); dst = (CARD8 *) dstBits; dstStride *= sizeof(FbBits); if (srcBpp == 24) @@ -470,9 +470,9 @@ fb24_32ReformatTile(PixmapPtr pOldTile, int bitsPerPixel) pOldTile->usage_hint); if (!pNewTile) return 0; - fbGetDrawable(&pOldTile->drawable, + fbGetDrawable(pScreen, &pOldTile->drawable, old, oldStride, oldBpp, oldXoff, oldYoff); - fbGetDrawable(&pNewTile->drawable, + fbGetDrawable(pScreen, &pNewTile->drawable, new, newStride, newBpp, newXoff, newYoff); if (oldBpp == 24) blt = fb24_32BltUp; diff --git a/fb/fbarc.c b/fb/fbarc.c index c1b7f7785..abcb8f5dc 100644 --- a/fb/fbarc.c +++ b/fb/fbarc.c @@ -71,7 +71,7 @@ fbPolyArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc * parcs) #endif cclip = fbGetCompositeClip(pGC); - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); while (narcs--) { if (miCanZeroArc(parcs)) { box.x1 = parcs->x + pDrawable->x; diff --git a/fb/fbbits.h b/fb/fbbits.h index be32d8cf0..8dda43f0e 100644 --- a/fb/fbbits.h +++ b/fb/fbbits.h @@ -84,7 +84,7 @@ BRESSOLID(DrawablePtr pDrawable, FbStride majorStep, minorStep; BITS xor = (BITS) pPriv->xor; - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); bits = ((UNIT *) (dst + ((y1 + dstYoff) * dstStride))) + (x1 + dstXoff) * MUL; bitsStride = dstStride * (sizeof(FbBits) / sizeof(UNIT)); @@ -135,7 +135,7 @@ BRESDASH(DrawablePtr pDrawable, Bool even; Bool doOdd; - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); doOdd = pGC->lineStyle == LineDoubleDash; xorfg = (BITS) pPriv->xor; xorbg = (BITS) pPriv->bgxor; @@ -623,7 +623,7 @@ POLYLINE(DrawablePtr pDrawable, if (mode == CoordModePrevious) fbFixCoordModePrevious(npt, ptsOrig); - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); bitsStride = dstStride * (sizeof(FbBits) / sizeof(UNIT)); bitsBase = ((UNIT *) dst) + (yoff + dstYoff) * bitsStride + (xoff + dstXoff) * MUL; @@ -744,7 +744,7 @@ POLYSEGMENT(DrawablePtr pDrawable, GCPtr pGC, int nseg, xSegment * pseg) int octant; Bool capNotLast; - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); bitsStride = dstStride * (sizeof(FbBits) / sizeof(UNIT)); bitsBase = ((UNIT *) dst) + (yoff + dstYoff) * bitsStride + (xoff + dstXoff) * MUL; diff --git a/fb/fbcopy.c b/fb/fbcopy.c index e9c252a5e..98a7a6325 100644 --- a/fb/fbcopy.c +++ b/fb/fbcopy.c @@ -74,9 +74,10 @@ fbCopyNtoN(DrawablePtr pSrcDrawable, FbStride dstStride; int dstBpp; int dstXoff, dstYoff; + ScreenPtr pScreen = pGC ? pGC->pScreen : pSrcDrawable->pScreen; - fbGetDrawable(pSrcDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); - fbGetDrawable(pDstDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pScreen, pSrcDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); + fbGetDrawable(pScreen, pDstDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); while (nbox--) { #ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */ @@ -129,8 +130,8 @@ fbCopy1toN(DrawablePtr pSrcDrawable, int dstBpp; int dstXoff, dstYoff; - fbGetDrawable(pSrcDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); - fbGetDrawable(pDstDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pGC->pScreen, pSrcDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); + fbGetDrawable(pGC->pScreen, pDstDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); while (nbox--) { if (dstBpp == 1) { @@ -188,9 +189,9 @@ fbCopyNto1(DrawablePtr pSrcDrawable, int dstBpp; int dstXoff, dstYoff; - fbGetDrawable(pSrcDrawable, src, srcStride, srcBpp, srcXoff, + fbGetDrawable(pGC->pScreen, pSrcDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); - fbGetStipDrawable(pDstDrawable, dst, dstStride, dstBpp, dstXoff, + fbGetStipDrawable(pGC->pScreen, pDstDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); fbBltPlane(src + (pbox->y1 + dy + srcYoff) * srcStride, srcStride, (pbox->x1 + dx + srcXoff) * srcBpp, srcBpp, @@ -225,9 +226,9 @@ fbCopyNto1(DrawablePtr pSrcDrawable, if (!tmp) return; - fbGetDrawable(pSrcDrawable, src, srcStride, srcBpp, srcXoff, + fbGetDrawable(pGC->pScreen, pSrcDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); - fbGetDrawable(pDstDrawable, dst, dstStride, dstBpp, dstXoff, + fbGetDrawable(pGC->pScreen, pDstDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); fbBltPlane(src + (pbox->y1 + dy + srcYoff) * srcStride, diff --git a/fb/fbfill.c b/fb/fbfill.c index de9d6b313..4d172f7f2 100644 --- a/fb/fbfill.c +++ b/fb/fbfill.c @@ -35,7 +35,7 @@ fbFill(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int width, int height) int dstXoff, dstYoff; FbGCPrivPtr pPriv = fbGetGCPrivate(pGC); - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); switch (pGC->fillStyle) { case FillSolid: @@ -66,7 +66,7 @@ fbFill(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int width, int height) alu = FbStipple1Rop(pGC->alu, pGC->fgPixel); else alu = FbOpaqueStipple1Rop(pGC->alu, pGC->fgPixel, pGC->bgPixel); - fbGetDrawable(&pStip->drawable, stip, stipStride, stipBpp, stipXoff, + fbGetDrawable(pGC->pScreen, &pStip->drawable, stip, stipStride, stipBpp, stipXoff, stipYoff); fbTile(dst + (y + dstYoff) * dstStride, dstStride, x + dstXoff, width, height, stip, stipStride, stipWidth, stipHeight, alu, @@ -92,7 +92,7 @@ fbFill(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int width, int height) bgxor = pPriv->bgxor; } - fbGetStipDrawable(&pStip->drawable, stip, stipStride, stipBpp, + fbGetStipDrawable(pGC->pScreen, &pStip->drawable, stip, stipStride, stipBpp, stipXoff, stipYoff); fbStipple(dst + (y + dstYoff) * dstStride, dstStride, (x + dstXoff) * dstBpp, dstBpp, width * dstBpp, height, @@ -113,7 +113,7 @@ fbFill(DrawablePtr pDrawable, GCPtr pGC, int x, int y, int width, int height) int tileHeight; _X_UNUSED int tileXoff, tileYoff; - fbGetDrawable(&pTile->drawable, tile, tileStride, tileBpp, tileXoff, + fbGetDrawable(pGC->pScreen, &pTile->drawable, tile, tileStride, tileBpp, tileXoff, tileYoff); tileWidth = pTile->drawable.width; tileHeight = pTile->drawable.height; @@ -151,7 +151,7 @@ fbSolidBoxClipped(DrawablePtr pDrawable, int nbox; int partX1, partX2, partY1, partY2; - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pDrawable->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); for (nbox = RegionNumRects(pClip), pbox = RegionRects(pClip); nbox--; pbox++) { @@ -91,7 +91,7 @@ fbPadPixmap(PixmapPtr pPixmap) int bpp; _X_UNUSED int xOff, yOff; - fbGetDrawable(&pPixmap->drawable, bits, stride, bpp, xOff, yOff); + fbGetDrawable(pPixmap->drawable.pScreen, &pPixmap->drawable, bits, stride, bpp, xOff, yOff); width = pPixmap->drawable.width * pPixmap->drawable.bitsPerPixel; height = pPixmap->drawable.height; @@ -169,7 +169,7 @@ fbCanEvenStipple(PixmapPtr pStipple, int bpp) /* make sure the stipple width is a multiple of the even stipple width */ if (pStipple->drawable.width % len != 0) return FALSE; - fbGetDrawable(&pStipple->drawable, bits, stride, stip_bpp, stipXoff, + fbGetDrawable(pStipple->drawable.pScreen, &pStipple->drawable, bits, stride, stip_bpp, stipXoff, stipYoff); h = pStipple->drawable.height; /* check to see that the stipple repeats horizontally */ diff --git a/fb/fbgetsp.c b/fb/fbgetsp.c index 9a163b27e..aed44df6d 100644 --- a/fb/fbgetsp.c +++ b/fb/fbgetsp.c @@ -49,7 +49,7 @@ fbGetSpans(DrawablePtr pDrawable, return; } - fbGetDrawable(pDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); + fbGetDrawable(pDrawable->pScreen, pDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); while (nspans--) { xoff = (int) (((long) pchardstStart) & (FB_MASK >> 3)); diff --git a/fb/fbglyph.c b/fb/fbglyph.c index 3080a7728..54b8541af 100644 --- a/fb/fbglyph.c +++ b/fb/fbglyph.c @@ -286,7 +286,7 @@ fbPolyGlyphBlt(DrawablePtr pDrawable, gy = y - pci->metrics.ascent; if (glyph && gWidth <= sizeof(FbStip) * 8 && fbGlyphIn(fbGetCompositeClip(pGC), gx, gy, gWidth, gHeight)) { - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, + fbGetDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); (*glyph) (dst + (gy + dstYoff) * dstStride, dstStride, dstBpp, (FbStip *) pglyph, pPriv->xor, gx + dstXoff, gHeight); @@ -391,7 +391,7 @@ fbImageGlyphBlt(DrawablePtr pDrawable, gy = y - pci->metrics.ascent; if (glyph && gWidth <= sizeof(FbStip) * 8 && fbGlyphIn(fbGetCompositeClip(pGC), gx, gy, gWidth, gHeight)) { - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, + fbGetDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); (*glyph) (dst + (gy + dstYoff) * dstStride, dstStride, dstBpp, (FbStip *) pglyph, pPriv->fg, gx + dstXoff, gHeight); diff --git a/fb/fbimage.c b/fb/fbimage.c index 59daa21bb..ebdc2d56f 100644 --- a/fb/fbimage.c +++ b/fb/fbimage.c @@ -101,7 +101,7 @@ fbPutZImage(DrawablePtr pDrawable, BoxPtr pbox; int x1, y1, x2, y2; - fbGetStipDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetStipDrawable(pDrawable->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); for (nbox = RegionNumRects(pClip), pbox = RegionRects(pClip); nbox--; pbox++) { @@ -152,7 +152,7 @@ fbPutXYImage(DrawablePtr pDrawable, int x1, y1, x2, y2; FbBits fgand = 0, fgxor = 0, bgand = 0, bgxor = 0; - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pDrawable->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); if (dstBpp == 1) { if (opaque) @@ -239,7 +239,7 @@ fbGetImage(DrawablePtr pDrawable, return; } - fbGetDrawable(pDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); + fbGetDrawable(pDrawable->pScreen, pDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); x += pDrawable->x; y += pDrawable->y; diff --git a/fb/fbpict.c b/fb/fbpict.c index 097a1a6bd..6220c66f6 100644 --- a/fb/fbpict.c +++ b/fb/fbpict.c @@ -151,7 +151,7 @@ create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff) int bpp; pixman_image_t *image; - fbGetDrawablePixmap(pict->pDrawable, pixmap, *xoff, *yoff); + fbGetDrawablePixmap(pict->pDrawable->pScreen, pict->pDrawable, pixmap, *xoff, *yoff); fbGetPixmapBitsData(pixmap, bits, stride, bpp); image = pixman_image_create_bits((pixman_format_code_t) pict->format, diff --git a/fb/fbpoint.c b/fb/fbpoint.c index d5129d796..1a82f9ffc 100644 --- a/fb/fbpoint.c +++ b/fb/fbpoint.c @@ -120,7 +120,7 @@ fbPolyPoint(DrawablePtr pDrawable, ppt->y += (ppt - 1)->y; } } - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); and = pPriv->and; xor = pPriv->xor; dots = fbDots; diff --git a/fb/fbpush.c b/fb/fbpush.c index f0a861cbe..c02a381cb 100644 --- a/fb/fbpush.c +++ b/fb/fbpush.c @@ -100,7 +100,7 @@ fbPushFill(DrawablePtr pDrawable, int dstX; int dstWidth; - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); dst = dst + (y + dstYoff) * dstStride; dstX = (x + dstXoff) * dstBpp; dstWidth = width * dstBpp; @@ -181,7 +181,7 @@ fbPushPixels(GCPtr pGC, int stipBpp; _X_UNUSED int stipXoff, stipYoff; - fbGetStipDrawable(&pBitmap->drawable, stip, stipStride, stipBpp, stipXoff, + fbGetStipDrawable(pGC->pScreen, &pBitmap->drawable, stip, stipStride, stipBpp, stipXoff, stipYoff); fbPushImage(pDrawable, pGC, stip, stipStride, 0, xOrg, yOrg, dx, dy); diff --git a/fb/fbscreen.c b/fb/fbscreen.c index ac4ff652a..e7b223e58 100644 --- a/fb/fbscreen.c +++ b/fb/fbscreen.c @@ -76,10 +76,14 @@ fbQueryBestSize(int class, } } +#define __fbGetWindowPixmap(pWin) ((PixmapPtr)\ + dixLookupPrivate(&((WindowPtr)(pWin))->devPrivates, fbGetWinPrivateKey(pWin))) + PixmapPtr _fbGetWindowPixmap(WindowPtr pWindow) { - return fbGetWindowPixmap(pWindow); + + return __fbGetWindowPixmap(pWindow); } void diff --git a/fb/fbseg.c b/fb/fbseg.c index 1848387f6..cf8e3aae4 100644 --- a/fb/fbseg.c +++ b/fb/fbseg.c @@ -51,7 +51,7 @@ fbBresSolid(DrawablePtr pDrawable, FbStip mask, mask0; FbStip bits; - fbGetStipDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetStipDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); dst += ((y1 + dstYoff) * dstStride); x1 = (x1 + dstXoff) * dstBpp; dst += x1 >> FB_STIP_SHIFT; @@ -126,7 +126,7 @@ fbBresDash(DrawablePtr pDrawable, Bool even; Bool doOdd; - fbGetStipDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetStipDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); doOdd = pGC->lineStyle == LineDoubleDash; FbDashInit(pGC, pPriv, dashOffset, dashlen, even); @@ -299,7 +299,7 @@ fbBresSolid24RRop(DrawablePtr pDrawable, int rot; FbStip andT, xorT; - fbGetStipDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetStipDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); dst += ((y1 + dstYoff) * dstStride); x1 = (x1 + dstXoff) * 24; if (signdy < 0) @@ -370,7 +370,7 @@ fbBresDash24RRop(DrawablePtr pDrawable, Bool even; Bool doOdd; - fbGetStipDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetStipDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); doOdd = pGC->lineStyle == LineDoubleDash; /* compute current dash position */ diff --git a/fb/fbsetsp.c b/fb/fbsetsp.c index e09d2e3f3..766d18e08 100644 --- a/fb/fbsetsp.c +++ b/fb/fbsetsp.c @@ -46,7 +46,7 @@ fbSetSpans(DrawablePtr pDrawable, fb24_32SetSpans(pDrawable, pGC, src, ppt, pwidth, nspans, fSorted); return; } - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pGC->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); while (nspans--) { d = dst + (ppt->y + dstYoff) * dstStride; xoff = (int) (((long) src) & (FB_MASK >> 3)); diff --git a/fb/fbwindow.c b/fb/fbwindow.c index 368c4b883..65e1c23b3 100644 --- a/fb/fbwindow.c +++ b/fb/fbwindow.c @@ -82,8 +82,8 @@ fbCopyWindowProc(DrawablePtr pSrcDrawable, int dstBpp; int dstXoff, dstYoff; - fbGetDrawable(pSrcDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); - fbGetDrawable(pDstDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pGC->pScreen, pSrcDrawable, src, srcStride, srcBpp, srcXoff, srcYoff); + fbGetDrawable(pGC->pScreen, pDstDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); while (nbox--) { fbBlt(src + (pbox->y1 + dy + srcYoff) * srcStride, @@ -108,7 +108,7 @@ fbCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) RegionRec rgnDst; int dx, dy; - PixmapPtr pPixmap = fbGetWindowPixmap(pWin); + PixmapPtr pPixmap = GetDrawablePixmap(pWin->drawable.pScreen, &pWin->drawable); DrawablePtr pDrawable = &pPixmap->drawable; dx = ptOldOrg.x - pWin->drawable.x; @@ -179,7 +179,7 @@ fbFillRegionSolid(DrawablePtr pDrawable, try_mmx = 1; #endif - fbGetDrawable(pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); + fbGetDrawable(pDrawable->pScreen, pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); while (n--) { #ifndef FB_ACCESS_WRAPPER |