[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 (&region, pSrc, pMask, pDst,
-					       xSrc, ySrc, xMask, yMask, xDst, yDst,
-					       width, height))
-		    return;
-		
-		
-		kaaCopyNtoN (pSrc->pDrawable, pDst->pDrawable, 0,
-			     REGION_RECTS(&region), REGION_NUM_RECTS(&region),
-			     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 (&region, 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(&region);
-	    pbox = REGION_RECTS(&region);
-
-	    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)