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