Module Name:    xsrc
Committed By:   macallan
Date:           Tue Sep 29 20:41:22 UTC 2009

Modified Files:
        xsrc/external/mit/xf86-video-crime/dist/src: crime.h crime_accel.c
            crime_driver.c

Log Message:
clean up debugging code, while there:
- use a fake framebuffer like newport does to hide software rendering
  artifacts
- only map the framebuffer when debugging, and actually unmap it too


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 xsrc/external/mit/xf86-video-crime/dist/src/crime.h
cvs rdiff -u -r1.10 -r1.11 \
    xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c
cvs rdiff -u -r1.3 -r1.4 \
    xsrc/external/mit/xf86-video-crime/dist/src/crime_driver.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-crime/dist/src/crime.h
diff -u xsrc/external/mit/xf86-video-crime/dist/src/crime.h:1.6 xsrc/external/mit/xf86-video-crime/dist/src/crime.h:1.7
--- xsrc/external/mit/xf86-video-crime/dist/src/crime.h:1.6	Thu Jun 25 00:58:46 2009
+++ xsrc/external/mit/xf86-video-crime/dist/src/crime.h	Tue Sep 29 20:41:21 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: crime.h,v 1.6 2009/06/25 00:58:46 macallan Exp $ */
+/* $NetBSD: crime.h,v 1.7 2009/09/29 20:41:21 macallan Exp $ */
 /*
  * Copyright (c) 2008 Michael Lorenz
  * All rights reserved.
@@ -44,7 +44,7 @@
 #ifndef CRIME_H
 #define CRIME_H
 
-#define CRIME_DEBUG
+/*#define CRIME_DEBUG*/
 
 #define CRIME_DEBUG_LINES		0x00000001
 #define CRIME_DEBUG_BITBLT		0x00000002
@@ -56,7 +56,7 @@
 #define CRIME_DEBUG_XRENDER		0x00000080
 #define CRIME_DEBUG_IMAGEREAD		0x00000100
 #define CRIME_DEBUG_ALL			0xffffffff
-#define CRIME_DEBUG_MASK (/*CRIME_DEBUG_IMAGEWRITE*/0)
+#define CRIME_DEBUG_MASK 0
 
 #ifdef CRIME_DEBUG
 #define LOG(x) if (x & CRIME_DEBUG_MASK) xf86Msg(X_ERROR, "%s\n", __func__)

Index: xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c
diff -u xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c:1.10 xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c:1.11
--- xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c:1.10	Wed Jul  1 03:52:11 2009
+++ xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c	Tue Sep 29 20:41:22 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: crime_accel.c,v 1.10 2009/07/01 03:52:11 macallan Exp $ */
+/* $NetBSD: crime_accel.c,v 1.11 2009/09/29 20:41:22 macallan Exp $ */
 /*
  * Copyright (c) 2008 Michael Lorenz
  * All rights reserved.
@@ -34,6 +34,7 @@
 #include "crime.h"
 #include "picturestr.h"
 #include "xaalocal.h"
+#include "xaa.h"
 
 uint32_t regcache[0x1000];
 
@@ -48,7 +49,7 @@
 #define WRITE4(r, v) { *CRIMEREG(r) = v; }
 #endif
 #define WRITE4ST(r, v) {WBFLUSH; *CRIMEREG(r + CRIME_DE_START) = v; WBFLUSH;}
-#ifdef DEBUG
+#ifdef CRIME_DEBUG
 #define SYNC { int bail = 0; do {bail++; } \
           while(((*CRIMEREG(0x4000) & CRIME_DE_IDLE) == 0) && (bail < 10000000)); \
           if (bail == 10000000) { \
@@ -176,7 +177,6 @@
 		WRITE4(CRIME_MTE_SRC1, (rxe << 16) | rye);
 		WRITE4(CRIME_MTE_DST0, (rxd << 16) | ryd);
 		WRITE4ST(CRIME_MTE_DST1, (rxde << 16) | ryde);
-		//xf86Msg(X_ERROR, "MTE");
 
 #ifdef CRIME_DEBUG_LOUD
 		xf86Msg(X_ERROR, "reg: %08x %08x\n", oreg, reg);
@@ -227,6 +227,7 @@
 	int i;
 
 	LOG(CRIME_DEBUG_RECTFILL);
+#ifdef MTE_DRAW_RECT
 	if (rop == GXcopy) {
 		fPtr->use_mte = 1;
 		MAKE_ROOM(3);
@@ -237,7 +238,9 @@
 		WRITE4(CRIME_MTE_DST_Y_STEP, 1);
 		WRITE4(CRIME_MTE_BG, colour << 8);
 		SYNCMTE;
-	} else {
+	} else
+#endif
+	{
 		fPtr->use_mte = 0;
 		MAKE_ROOM(7);
 		WRITE4(CRIME_DE_PLANEMASK, planemask);
@@ -270,6 +273,7 @@
 	int xa, xe, ya, ye;
 
 	LOG(CRIME_DEBUG_RECTFILL);
+#ifdef MTE_DRAW_RECT
 	if (fPtr->use_mte) {
 		
 		/*
@@ -286,7 +290,9 @@
 			WRITE4ST(CRIME_MTE_DST1,
 		 	   (((xe << 2) - 1 ) << 16) | ((ye - 1) & 0xffff));
 		}
-	} else {
+	} else 
+#endif
+	{
 		MAKE_ROOM(2);
 		WRITE4(CRIME_DE_X_VERTEX_0, (x << 16) | (y & 0xffff));
 		WRITE4ST(CRIME_DE_X_VERTEX_1,
@@ -582,7 +588,7 @@
 	WRITE4(CRIME_DE_X_VERTEX_0, (x1 << 16) | y1);
 	WRITE4ST(CRIME_DE_X_VERTEX_1, (x2 << 16) | y2);
 	DONE(CRIME_DEBUG_LINES);
-}      
+}
 
 void
 CrimeSetupForDashedLine(ScrnInfoPtr pScrn,

Index: xsrc/external/mit/xf86-video-crime/dist/src/crime_driver.c
diff -u xsrc/external/mit/xf86-video-crime/dist/src/crime_driver.c:1.3 xsrc/external/mit/xf86-video-crime/dist/src/crime_driver.c:1.4
--- xsrc/external/mit/xf86-video-crime/dist/src/crime_driver.c:1.3	Thu Jun 25 00:58:46 2009
+++ xsrc/external/mit/xf86-video-crime/dist/src/crime_driver.c	Tue Sep 29 20:41:22 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: crime_driver.c,v 1.3 2009/06/25 00:58:46 macallan Exp $ */
+/* $NetBSD: crime_driver.c,v 1.4 2009/09/29 20:41:22 macallan Exp $ */
 /*
  * Copyright (c) 2008 Michael Lorenz
  * All rights reserved.
@@ -72,11 +72,6 @@
 
 #define CRIME_DEFAULT_DEV "/dev/ttyE0"
 
-#define DEBUG 1
-#ifndef DEBUG
-#define DEBUG 0
-#endif
-
 /* Prototypes */
 #ifdef XFree86LOADER
 static pointer CrimeSetup(pointer, pointer, int *, int *);
@@ -293,7 +288,7 @@
 	if (mapaddr == (pointer) -1) {
 		mapaddr = NULL;
 	}
-#if DEBUG
+#ifdef CRIME_DEBUG
 	ErrorF("mmap returns: addr %p len 0x%x\n", mapaddr, len);
 #endif
 	return mapaddr;
@@ -531,7 +526,7 @@
 	int wsmode = WSDISPLAYIO_MODE_DUMBFB;
 	size_t len;
 
-#if DEBUG
+#ifdef CRIME_DEBUG
 	ErrorF("\tbitsPerPixel=%d, depth=%d, defaultVisual=%s\n"
 	       "\tmask: %x,%x,%x, offset: %d,%d,%d\n",
 	       pScrn->bitsPerPixel,
@@ -564,13 +559,22 @@
 	}
 
 	memset(fPtr->linear, 0, 0x10000);
-	fPtr->fb = crime_mmap(8192 * fPtr->info.width, 0, fPtr->fd, 0);
+#ifdef CRIME_DEBUG
+	fPtr->fb = crime_mmap(8192 * fPtr->info.height, 0, fPtr->fd, 1);
 	if (fPtr->fb == NULL) {
 		xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
 			   "crime_mmap fb: %s\n", strerror(errno));
 		return FALSE;
 	}
-	
+#else
+	fPtr->fb = malloc(8192 * fPtr->info.height);
+	if (fPtr->fb == NULL) {
+		xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+			   "Cannot allocate fake fb: %s\n", strerror(errno));
+		return FALSE;
+	}
+#endif
+
 	CrimeSave(pScrn);
 	pScrn->vtSema = TRUE;
 
@@ -686,6 +690,14 @@
 			xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
 				   "munmap linear: %s\n", strerror(errno));
 		}
+#ifdef CRIME_DEBUG
+		if (munmap(fPtr->fb, 8192 * fPtr->info.height) == -1) {
+			xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+				   "munmap fb: %s\n", strerror(errno));
+		}
+#else
+		free(fPtr->fb);
+#endif
 
 		fPtr->engine = NULL;
 		fPtr->linear = NULL;
@@ -714,9 +726,6 @@
 static Bool
 CrimeSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
 {
-#if DEBUG
-	ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
-#endif
 
 	/* Nothing else to do */
 	return TRUE;
@@ -725,9 +734,6 @@
 static int
 CrimeValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags)
 {
-#if DEBUG
-	ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
-#endif
 
 	return MODE_OK;
 }

Reply via email to