[xserver-commit] xserver/hw/kdrive/src kaa.h,NONE,1.1.2.1 kaapict.c,NONE,1.1.2.1 Makefile.am,1.7,1.7.2.1 kaa.c,1.21.2.2,1.21.2.3
Eric Anholt
xserver-commit@pdx.freedesktop.org
Sun, 28 Dec 2003 01:56:56 -0800
Committed by: anholt
Update of /cvs/xserver/xserver/hw/kdrive/src
In directory pdx:/home/anholt/xserver-dri/hw/kdrive/src
Modified Files:
Tag: dri-0-1-branch
Makefile.am kaa.c
Added Files:
Tag: dri-0-1-branch
kaa.h kaapict.c
Log Message:
Move the kaaComposite function and debug to kaapict.c. It is expected
to grow significantly in the near future.
--- NEW FILE: kaa.h ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: kaapict.c ---
(This appears to be a binary file; contents omitted.)
Index: Makefile.am
===================================================================
RCS file: /cvs/xserver/xserver/hw/kdrive/src/Makefile.am,v
retrieving revision 1.7
retrieving revision 1.7.2.1
diff -u -d -r1.7 -r1.7.2.1
--- Makefile.am 11 Nov 2003 05:46:13 -0000 1.7
+++ Makefile.am 28 Dec 2003 09:56:54 -0000 1.7.2.1
@@ -6,6 +6,8 @@
libkdrive_a_SOURCES = \
kaa.c \
+ kaa.h \
+ kaapict.c \
kasync.c \
kcmap.c \
kcurscol.c \
Index: kaa.c
===================================================================
RCS file: /cvs/xserver/xserver/hw/kdrive/src/kaa.c,v
retrieving revision 1.21.2.2
retrieving revision 1.21.2.3
diff -u -d -r1.21.2.2 -r1.21.2.3
--- kaa.c 28 Dec 2003 09:22:01 -0000 1.21.2.2
+++ kaa.c 28 Dec 2003 09:56:54 -0000 1.21.2.3
@@ -28,8 +28,9 @@
#include <config.h>
#endif
#include "kdrive.h"
-#include "fontstruct.h"
-#include "dixfontstr.h"
+#include "kaa.h"
+#include "fontstruct.h"
+#include "dixfontstr.h"
#define DEBUG_MIGRATE 0
#define DEBUG_PIXMAP 0
@@ -48,30 +49,11 @@
int kaaScreenPrivateIndex;
int kaaPixmapPrivateIndex;
-typedef struct {
- KaaScreenInfoPtr info;
-} KaaScreenPrivRec, *KaaScreenPrivPtr;
-
-typedef struct {
- KdOffscreenArea *area;
- int score;
- int devKind;
- DevUnion devPrivate;
-} KaaPixmapPrivRec, *KaaPixmapPrivPtr;
-
#define KAA_PIXMAP_SCORE_MOVE_IN 10
#define KAA_PIXMAP_SCORE_MAX 20
#define KAA_PIXMAP_SCORE_MOVE_OUT -10
#define KAA_PIXMAP_SCORE_MIN -20
-#define KaaGetScreenPriv(s) ((KaaScreenPrivPtr)(s)->devPrivates[kaaScreenPrivateIndex].ptr)
-#define KaaScreenPriv(s) KaaScreenPrivPtr pKaaScr = KaaGetScreenPriv(s)
-
-#define KaaGetPixmapPriv(p) ((KaaPixmapPrivPtr)(p)->devPrivates[kaaPixmapPrivateIndex].ptr)
-#define KaaSetPixmapPriv(p,a) ((p)->devPrivates[kaaPixmapPrivateIndex].ptr = (pointer) (a))
-#define KaaPixmapPriv(p) KaaPixmapPrivPtr pKaaPixmap = KaaGetPixmapPriv(p)
-#define KaaPixmapPitch(pitch) (((pitch) + (pKaaScr->info->offscreenPitch - 1)) & ~(pKaaScr->info->offscreenPitch - 1))
-
#define MIN_OFFPIX_SIZE (4096)
static void
@@ -200,7 +182,7 @@
}
}
-static void
+void
kaaPixmapUseScreen (PixmapPtr pPixmap)
{
KaaPixmapPriv (pPixmap);
@@ -214,7 +196,7 @@
}
}
-static void
+void
kaaPixmapUseMemory (PixmapPtr pPixmap)
{
KaaPixmapPriv (pPixmap);
@@ -283,7 +265,7 @@
return pPixmap;
}
-static Bool
+Bool
kaaPixmapIsOffscreen(PixmapPtr p)
{
ScreenPtr pScreen = p->drawable.pScreen;
@@ -294,7 +276,7 @@
pScreenPriv->screen->memory_size);
}
-static PixmapPtr
+PixmapPtr
kaaGetOffscreenPixmap (DrawablePtr pDrawable, int *xp, int *yp)
{
PixmapPtr pPixmap;
@@ -325,7 +307,7 @@
return NULL;
}
-static Bool
+Bool
kaaDrawableIsOffscreen (DrawablePtr pDrawable)
{
PixmapPtr pPixmap;
@@ -420,7 +402,7 @@
KdMarkSync(pDrawable->pScreen);
}
-static void
+void
kaaCopyNtoN (DrawablePtr pSrcDrawable,
DrawablePtr pDstDrawable,
GCPtr pGC,
@@ -935,212 +917,6 @@
KdCheckPaintWindow (pWin, pRegion, what);
}
-#ifdef RENDER
-#include "mipict.h"
-
-#define KAA_DEBUG_FALLBACKS 0
-
-#if KAA_DEBUG_FALLBACKS
-static void
-kaaPrintCompositeFallback(CARD8 op,
- PicturePtr pSrc,
- PicturePtr pMask,
- PicturePtr pDst)
-{
- char sop[20], ssfmt[20], smfmt[20], sdfmt[20];
- char sloc, mloc, dloc;
- int temp;
-
- switch(op)
- {
- case PictOpSrc:
- sprintf(sop, "Src");
- break;
- case PictOpOver:
- sprintf(sop, "Over");
- break;
- default:
- sprintf(sop, "0x%x", (int)op);
- break;
- }
- switch(pSrc->format)
- {
- case PICT_a8r8g8b8:
- sprintf(ssfmt, "ARGB8888");
- break;
- default:
- sprintf(ssfmt, "0x%x", (int)pSrc->format);
- break;
- }
- sprintf(smfmt, "(none)");
- if (pMask) {
- switch(pMask->format)
- {
- case PICT_a8:
- sprintf(smfmt, "A8");
- break;
- default:
- sprintf(smfmt, "0x%x", (int)pMask->format);
- break;
- }
- }
- switch(pDst->format)
- {
- case PICT_r5g6b5:
- sprintf(sdfmt, "RGB565");
- break;
- default:
- sprintf(sdfmt, "0x%x", (int)pDst->format);
- break;
- }
- strcpy (smfmt, ("None"));
- pMask = 0x0;
-
- sloc = kaaGetOffscreenPixmap(pSrc->pDrawable, &temp, &temp) ? 's' : 'm';
- mloc = (pMask && kaaGetOffscreenPixmap(pMask->pDrawable, &temp, &temp)) ?
- 's' : 'm';
- dloc = kaaGetOffscreenPixmap(pDst->pDrawable, &temp, &temp) ? 's' : 'm';
-
- ErrorF("Composite fallback: op %s, src 0x%x (%c), mask 0x%x (%c), "
- "dst 0x%x (%c)\n"
- " srcfmt %s, maskfmt %s, dstfmt %s\n",
- sop, pSrc, sloc, pMask, mloc, pDst, dloc, ssfmt, smfmt, sdfmt);
-}
-#endif
-
-static void
-kaaComposite(CARD8 op,
- PicturePtr pSrc,
- PicturePtr pMask,
- PicturePtr pDst,
- INT16 xSrc,
- INT16 ySrc,
- INT16 xMask,
- INT16 yMask,
- INT16 xDst,
- INT16 yDst,
- CARD16 width,
- CARD16 height)
-{
- KdScreenPriv (pDst->pDrawable->pScreen);
- KaaScreenPriv (pDst->pDrawable->pScreen);
-
- if (!pMask)
- {
- if (op == PictOpSrc)
- {
- /*
- * Check for two special cases -- solid fill and copy area
- */
- if (pSrc->pDrawable->width == 1 && pSrc->pDrawable->height == 1 &&
- pSrc->repeat)
- {
- ;
- }
- else if (!pSrc->repeat && pSrc->format == pDst->format)
- {
- RegionRec region;
-
- xDst += pDst->pDrawable->x;
- yDst += pDst->pDrawable->y;
- xSrc += pSrc->pDrawable->x;
- ySrc += pSrc->pDrawable->y;
-
- if (!miComputeCompositeRegion (®ion, pSrc, pMask, pDst,
- xSrc, ySrc, xMask, yMask, xDst, yDst,
- width, height))
- return;
-
-
- kaaCopyNtoN (pSrc->pDrawable, pDst->pDrawable, 0,
- REGION_RECTS(®ion), REGION_NUM_RECTS(®ion),
- xSrc - xDst, ySrc - yDst,
- FALSE, FALSE, 0, 0);
- return;
- }
- }
-
- if (pScreenPriv->enabled && pKaaScr->info->PrepareBlend)
- {
- RegionRec region;
- BoxPtr pbox;
- int nbox;
- int src_off_x, src_off_y;
- int dst_off_x, dst_off_y;
- PixmapPtr pSrcPix, pDstPix;
-
- xDst += pDst->pDrawable->x;
- yDst += pDst->pDrawable->y;
-
- xSrc += pSrc->pDrawable->x;
- ySrc += pSrc->pDrawable->y;
-
- if (!miComputeCompositeRegion (®ion, pSrc, pMask, pDst,
- xSrc, ySrc, xMask, yMask, xDst, yDst,
- width, height))
- return;
-
-
- /* Migrate pixmaps to same place as destination */
- if (pSrc->pDrawable->type == DRAWABLE_PIXMAP)
- kaaPixmapUseScreen ((PixmapPtr) pSrc->pDrawable);
- if (pDst->pDrawable->type == DRAWABLE_PIXMAP)
- kaaPixmapUseScreen ((PixmapPtr) pDst->pDrawable);
-
- pSrcPix = kaaGetOffscreenPixmap (pSrc->pDrawable, &src_off_x,
- &src_off_y);
- pDstPix = kaaGetOffscreenPixmap (pDst->pDrawable, &dst_off_x,
- &dst_off_y);
- if (!pSrcPix || !pDstPix ||
- !(*pKaaScr->info->PrepareBlend) (op, pSrc, pDst, pSrcPix,
- pDstPix))
- {
- goto software;
- }
-
- nbox = REGION_NUM_RECTS(®ion);
- pbox = REGION_RECTS(®ion);
-
- xSrc -= xDst;
- ySrc -= yDst;
-
- while (nbox--)
- {
- (*pKaaScr->info->Blend) (pbox->x1 + xSrc + src_off_x,
- pbox->y1 + ySrc + src_off_y,
- pbox->x1 + dst_off_x,
- pbox->y1 + dst_off_y,
- pbox->x2 - pbox->x1,
- pbox->y2 - pbox->y1);
- pbox++;
- }
-
- (*pKaaScr->info->DoneBlend) ();
- KdMarkSync(pDst->pDrawable->pScreen);
-
- return;
- }
- }
-
-software:
-#if KAA_DEBUG_FALLBACKS
- kaaPrintCompositeFallback (op, pSrc, pMask, pDst);
-#endif
-
- if (pSrc->pDrawable->type == DRAWABLE_PIXMAP)
- kaaPixmapUseMemory ((PixmapPtr) pSrc->pDrawable);
- if (pMask && pMask->pDrawable->type == DRAWABLE_PIXMAP)
- kaaPixmapUseMemory ((PixmapPtr) pMask->pDrawable);
-#if 0
- if (pDst->pDrawable->type == DRAWABLE_PIXMAP)
- kaaPixmapUseMemory ((PixmapPtr) pDst->pDrawable);
-#endif
-
- KdCheckComposite (op, pSrc, pMask, pDst, xSrc, ySrc,
- xMask, yMask, xDst, yDst, width, height);
-}
-#endif
-
Bool
kaaDrawInit (ScreenPtr pScreen,
KaaScreenInfoPtr pScreenInfo)