Module Name: xsrc
Committed By: snj
Date: Fri Oct 16 06:20:23 UTC 2009
Modified Files:
xsrc/external/mit/xf86-video-crime/dist/src [netbsd-5]: crime.h
crime_accel.c crime_driver.c
Log Message:
Pull up following revision(s) (requested by macallan in ticket #1052):
external/mit/xf86-video-crime/dist/src/crime.h: revision 1.7
external/mit/xf86-video-crime/dist/src/crime_accel.c: revision 1.11
external/mit/xf86-video-crime/dist/src/crime_driver.c: revision 1.4
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.2.2.6 -r1.2.2.7 \
xsrc/external/mit/xf86-video-crime/dist/src/crime.h
cvs rdiff -u -r1.3.2.9 -r1.3.2.10 \
xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c
cvs rdiff -u -r1.2.2.4 -r1.2.2.5 \
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.2.2.6 xsrc/external/mit/xf86-video-crime/dist/src/crime.h:1.2.2.7
--- xsrc/external/mit/xf86-video-crime/dist/src/crime.h:1.2.2.6 Thu Sep 17 03:33:50 2009
+++ xsrc/external/mit/xf86-video-crime/dist/src/crime.h Fri Oct 16 06:20:23 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: crime.h,v 1.2.2.6 2009/09/17 03:33:50 snj Exp $ */
+/* $NetBSD: crime.h,v 1.2.2.7 2009/10/16 06:20:23 snj 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.3.2.9 xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c:1.3.2.10
--- xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c:1.3.2.9 Thu Sep 17 03:33:50 2009
+++ xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c Fri Oct 16 06:20:23 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: crime_accel.c,v 1.3.2.9 2009/09/17 03:33:50 snj Exp $ */
+/* $NetBSD: crime_accel.c,v 1.3.2.10 2009/10/16 06:20:23 snj 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.2.2.4 xsrc/external/mit/xf86-video-crime/dist/src/crime_driver.c:1.2.2.5
--- xsrc/external/mit/xf86-video-crime/dist/src/crime_driver.c:1.2.2.4 Thu Sep 17 03:33:50 2009
+++ xsrc/external/mit/xf86-video-crime/dist/src/crime_driver.c Fri Oct 16 06:20:23 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: crime_driver.c,v 1.2.2.4 2009/09/17 03:33:50 snj Exp $ */
+/* $NetBSD: crime_driver.c,v 1.2.2.5 2009/10/16 06:20:23 snj 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;
}