Module Name: xsrc Committed By: macallan Date: Wed Mar 5 07:22:24 UTC 2025
Modified Files: xsrc/external/mit/xf86-video-ngle/dist/src: ngle_accel.c Log Message: drop the rectangle fill workaround here as well To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 \ xsrc/external/mit/xf86-video-ngle/dist/src/ngle_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-ngle/dist/src/ngle_accel.c diff -u xsrc/external/mit/xf86-video-ngle/dist/src/ngle_accel.c:1.6 xsrc/external/mit/xf86-video-ngle/dist/src/ngle_accel.c:1.7 --- xsrc/external/mit/xf86-video-ngle/dist/src/ngle_accel.c:1.6 Sat Dec 7 10:48:38 2024 +++ xsrc/external/mit/xf86-video-ngle/dist/src/ngle_accel.c Wed Mar 5 07:22:24 2025 @@ -21,7 +21,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* $NetBSD: ngle_accel.c,v 1.6 2024/12/07 10:48:38 macallan Exp $ */ +/* $NetBSD: ngle_accel.c,v 1.7 2025/03/05 07:22:24 macallan Exp $ */ #include <sys/types.h> #include <dev/ic/stireg.h> @@ -185,7 +185,7 @@ NGLEPrepareSolid_EG( NGLEWrite4(fPtr, NGLE_REG_13, planemask); /* bitmap op */ NGLEWrite4(fPtr, NGLE_REG_14, - IBOvals(alu, 0, BitmapExtent08, 0, DataDynamic, MaskOtc, 1, 0)); + IBOvals(alu, 0, BitmapExtent08, 1, DataDynamic, MaskOtc, 1, 0)); /* dst bitmap access */ NGLEWrite4(fPtr, NGLE_REG_11, BA(IndexedDcd, Otc32, OtsIndirect, AddrLong, 0, BINapp0I, 0)); @@ -212,7 +212,7 @@ NGLEPrepareSolid_HCRX( NGLEWrite4(fPtr, NGLE_REG_13, planemask); /* bitmap op */ NGLEWrite4(fPtr, NGLE_REG_14, - IBOvals(alu, 0, BitmapExtent32, 0, DataDynamic, MaskOtc, 1, 0)); + IBOvals(alu, 0, BitmapExtent32, 1, DataDynamic, MaskOtc, 1, 0)); /* dst bitmap access */ NGLEWrite4(fPtr, NGLE_REG_11, BA(FractDcd, Otc32, OtsIndirect, AddrLong, 0, BINapp0F8, 0)); @@ -243,34 +243,14 @@ NGLESolid( y1 += offset / pitch; - /* - * 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) { - NGLEWaitFifo(fPtr, 3); - /* transfer data */ - NGLEWrite4(fPtr, NGLE_REG_8, 0xffffffff); - /* dst XY */ - NGLEWrite4(fPtr, NGLE_REG_6, (x1 << 16) | y1); - /* len XY start */ - NGLEWrite4(fPtr, NGLE_REG_9, (wi << 16) | h); - } - 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); - /* len XY start */ - NGLEWrite4(fPtr, NGLE_REG_9, (rest << 16) | h); - } + NGLEWaitFifo(fPtr, 3); + /* transfer data */ + NGLEWrite4(fPtr, NGLE_REG_8, 0xffffffff); + /* dst XY */ + NGLEWrite4(fPtr, NGLE_REG_6, (x1 << 16) | y1); + /* len XY start */ + NGLEWrite4(fPtr, NGLE_REG_9, (w << 16) | h); + exaMarkSync(pPixmap->drawable.pScreen); LEAVE; }