Module Name:    xsrc
Committed By:   macallan
Date:           Tue Oct 22 07:42:15 UTC 2024

Modified Files:
        xsrc/external/mit/xf86-video-ngle/dist/src: ngle_accel.c ngle_driver.c

Log Message:
some cleanup:
- consistetly use buffer 0 - makes no difference when double buffering is
  disabled ( which it should be ) but may bite us if it isn't
- add some comments on why we do what we do


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
    xsrc/external/mit/xf86-video-ngle/dist/src/ngle_accel.c
cvs rdiff -u -r1.2 -r1.3 \
    xsrc/external/mit/xf86-video-ngle/dist/src/ngle_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-ngle/dist/src/ngle_accel.c
diff -u xsrc/external/mit/xf86-video-ngle/dist/src/ngle_accel.c:1.1 xsrc/external/mit/xf86-video-ngle/dist/src/ngle_accel.c:1.2
--- xsrc/external/mit/xf86-video-ngle/dist/src/ngle_accel.c:1.1	Mon Oct 21 13:40:53 2024
+++ xsrc/external/mit/xf86-video-ngle/dist/src/ngle_accel.c	Tue Oct 22 07:42:15 2024
@@ -21,7 +21,7 @@
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
-/* $NetBSD: ngle_accel.c,v 1.1 2024/10/21 13:40:53 macallan Exp $ */
+/* $NetBSD: ngle_accel.c,v 1.2 2024/10/22 07:42:15 macallan Exp $ */
 
 #include <sys/types.h>
 #include <dev/ic/stireg.h>
@@ -182,7 +182,7 @@ NGLEPrepareSolid(
 	NGLEWrite4(fPtr, NGLE_REG_14, 
 	    IBOvals(alu, 0, BitmapExtent08, 0, DataDynamic, MaskOtc, 1, 0));
 
-	/* XXX HCRX needs ifferent values here */
+	/* XXX HCRX needs different values here */
 	/* dst bitmap access */
 	NGLEWrite4(fPtr, NGLE_REG_11,
 	    BA(IndexedDcd, Otc32, OtsIndirect, AddrLong, 0, BINapp0I, 0));
@@ -213,6 +213,13 @@ NGLESolid(
 	
 	y1 += offset >> 11;
 
+	/*
+	 * XXX
+	 * Turns out this thing always fills rectangles to the next 32 pixel
+	 * boundary on te right. To get around this we split the rectangle
+	 * into a multiples-of-32 part and the rest, so we can mask off the
+	 * excess pixels.
+	 */
 	rest = w & 0x1f;
 	wi = w & 0xffffe0;
 	if (wi > 0) {
@@ -227,6 +234,7 @@ NGLESolid(
 	if (rest > 0) {
 		mask = 0xffffffff << (32 - w);
 		/* transfer data */
+		NGLEWaitFifo(fPtr, 3);
 		NGLEWrite4(fPtr, NGLE_REG_8, mask);
 		/* dst XY */
 		NGLEWrite4(fPtr, NGLE_REG_6, ((x1 + wi) << 16) | y1);

Index: xsrc/external/mit/xf86-video-ngle/dist/src/ngle_driver.c
diff -u xsrc/external/mit/xf86-video-ngle/dist/src/ngle_driver.c:1.2 xsrc/external/mit/xf86-video-ngle/dist/src/ngle_driver.c:1.3
--- xsrc/external/mit/xf86-video-ngle/dist/src/ngle_driver.c:1.2	Mon Oct 21 13:40:53 2024
+++ xsrc/external/mit/xf86-video-ngle/dist/src/ngle_driver.c	Tue Oct 22 07:42:15 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: ngle_driver.c,v 1.2 2024/10/21 13:40:53 macallan Exp $ */
+/* $NetBSD: ngle_driver.c,v 1.3 2024/10/22 07:42:15 macallan Exp $ */
 /*
  * Copyright (c) 2024 Michael Lorenz
  * All rights reserved.
@@ -371,7 +371,7 @@ NGLEPreInit(ScrnInfoPtr pScrn, int flags
 	
 	switch (gid) {
 		case STI_DD_EG:
-			fPtr->buf = BINapp1I;
+			fPtr->buf = BINapp0I;
 			fPtr->fbacc = BA(IndexedDcd, Otc04, Ots08, AddrByte, 0, fPtr->buf, 0);
 			break;
 		case STI_DD_HCRX:

Reply via email to