Module Name: xsrc
Committed By: snj
Date: Wed Apr 1 03:01:12 UTC 2009
Modified Files:
xsrc/external/mit/xf86-video-crime/dist/src [netbsd-5]: crime_accel.c
Log Message:
Pull up following revision(s) (requested by macallan in ticket #629):
external/mit/xf86-video-crime/dist/src/crime_accel.c: revision 1.4
implement clipping, this takes care of line drawing artifacts in pwm
To generate a diff of this commit:
cvs rdiff -u -r1.3.2.4 -r1.3.2.5 \
xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.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_accel.c
diff -u xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c:1.3.2.4 xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c:1.3.2.5
--- xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c:1.3.2.4 Thu Feb 26 07:28:24 2009
+++ xsrc/external/mit/xf86-video-crime/dist/src/crime_accel.c Wed Apr 1 03:01:12 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: crime_accel.c,v 1.3.2.4 2009/02/26 07:28:24 snj Exp $ */
+/* $NetBSD: crime_accel.c,v 1.3.2.5 2009/04/01 03:01:12 snj Exp $ */
/*
* Copyright (c) 2008 Michael Lorenz
* All rights reserved.
@@ -231,7 +231,8 @@
WRITE4(CRIME_DE_ROP, rop);
WRITE4(CRIME_DE_FG, colour << 8);
WRITE4(CRIME_DE_DRAWMODE,
- DE_DRAWMODE_PLANEMASK | DE_DRAWMODE_BYTEMASK | DE_DRAWMODE_ROP);
+ DE_DRAWMODE_PLANEMASK | DE_DRAWMODE_BYTEMASK | DE_DRAWMODE_ROP |
+ DE_DRAWMODE_SCISSOR_EN);
WRITE4(CRIME_DE_PRIMITIVE,
DE_PRIM_RECTANGLE | DE_PRIM_LR | DE_PRIM_TB);
WRITE4(CRIME_DE_MODE_SRC, DE_MODE_TLB_A | DE_MODE_BUFDEPTH_32 |
@@ -427,7 +428,7 @@
WRITE4(CRIME_DE_FG, color << 8);
WRITE4(CRIME_DE_DRAWMODE,
DE_DRAWMODE_PLANEMASK | DE_DRAWMODE_BYTEMASK |
- DE_DRAWMODE_ROP);
+ DE_DRAWMODE_ROP | DE_DRAWMODE_SCISSOR_EN);
DONE(CRIME_DEBUG_LINES);
}
@@ -471,12 +472,13 @@
/* transparent */
WRITE4(CRIME_DE_DRAWMODE,
DE_DRAWMODE_PLANEMASK | DE_DRAWMODE_BYTEMASK |
- DE_DRAWMODE_ROP | DE_DRAWMODE_LINE_STIP);
+ DE_DRAWMODE_ROP | DE_DRAWMODE_LINE_STIP |
+ DE_DRAWMODE_SCISSOR_EN);
} else {
WRITE4(CRIME_DE_BG, bg << 8);
WRITE4(CRIME_DE_DRAWMODE,
DE_DRAWMODE_PLANEMASK | DE_DRAWMODE_BYTEMASK |
- DE_DRAWMODE_ROP |
+ DE_DRAWMODE_ROP | DE_DRAWMODE_SCISSOR_EN |
DE_DRAWMODE_OPAQUE_STIP | DE_DRAWMODE_LINE_STIP);
}
/*
@@ -521,7 +523,9 @@
CrimePtr fPtr = CRIMEPTR(pScrn);
LOG(CRIME_DEBUG_CLIPPING);
- /* nothing so far */
+ WRITE4(CRIME_DE_SCISSOR, (left << 16) | top);
+ WRITE4(CRIME_DE_SCISSOR + 4, ((right + 1) << 16) | (bottom + 1));
+
DONE(CRIME_DEBUG_CLIPPING);
}
@@ -533,7 +537,8 @@
LOG(CRIME_DEBUG_CLIPPING);
SYNC;
- WRITE4(CRIME_DE_CLIPMODE, 0);
+ WRITE4(CRIME_DE_SCISSOR, 0);
+ WRITE4(CRIME_DE_SCISSOR + 4, 0x3fff3fff);
DONE(CRIME_DEBUG_CLIPPING);
}