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);
 }
 

Reply via email to