Module Name:    src
Committed By:   rin
Date:           Thu Jul 25 03:02:44 UTC 2019

Modified Files:
        src/sys/dev/rasops: rasops.h rasops1.c rasops15.c rasops2.c rasops24.c
            rasops32.c rasops4.c rasops8.c

Log Message:
Provide and use FONT_GLYPH macro, tiny optimization version of WSFONT_GLYPH.


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/sys/dev/rasops/rasops.h
cvs rdiff -u -r1.27 -r1.28 src/sys/dev/rasops/rasops1.c
cvs rdiff -u -r1.26 -r1.27 src/sys/dev/rasops/rasops15.c
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/rasops/rasops2.c
cvs rdiff -u -r1.33 -r1.34 src/sys/dev/rasops/rasops24.c
cvs rdiff -u -r1.34 -r1.35 src/sys/dev/rasops/rasops32.c
cvs rdiff -u -r1.16 -r1.17 src/sys/dev/rasops/rasops4.c
cvs rdiff -u -r1.40 -r1.41 src/sys/dev/rasops/rasops8.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/rasops/rasops.h
diff -u src/sys/dev/rasops/rasops.h:1.35 src/sys/dev/rasops/rasops.h:1.36
--- src/sys/dev/rasops/rasops.h:1.35	Wed Jul 24 18:33:49 2019
+++ src/sys/dev/rasops/rasops.h	Thu Jul 25 03:02:44 2019
@@ -1,4 +1,4 @@
-/* 	$NetBSD: rasops.h,v 1.35 2019/07/24 18:33:49 rin Exp $ */
+/* 	$NetBSD: rasops.h,v 1.36 2019/07/25 03:02:44 rin Exp $ */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -149,6 +149,10 @@ struct rasops_info {
 			  (ri->ri_optfont.data != NULL)) ? \
 			 &ri->ri_optfont : ri->ri_font
 
+#define	FONT_GLYPH(uc, font, ri)					\
+	((uint8_t *)(font)->data + ((uc) - ((font)->firstchar)) *	\
+	    (ri)->ri_fontscale)
+
 /*
  * rasops_init().
  *

Index: src/sys/dev/rasops/rasops1.c
diff -u src/sys/dev/rasops/rasops1.c:1.27 src/sys/dev/rasops/rasops1.c:1.28
--- src/sys/dev/rasops/rasops1.c:1.27	Thu Jul 25 02:26:32 2019
+++ src/sys/dev/rasops/rasops1.c	Thu Jul 25 03:02:44 2019
@@ -1,4 +1,4 @@
-/* 	$NetBSD: rasops1.c,v 1.27 2019/07/25 02:26:32 rin Exp $	*/
+/* 	$NetBSD: rasops1.c,v 1.28 2019/07/25 03:02:44 rin Exp $	*/
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rasops1.c,v 1.27 2019/07/25 02:26:32 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rasops1.c,v 1.28 2019/07/25 03:02:44 rin Exp $");
 
 #include "opt_rasops.h"
 
@@ -123,8 +123,7 @@ rasops1_putchar(void *cookie, int row, i
 		fr = 0;		/* shutup gcc */
 		fs = 0;		/* shutup gcc */
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 	}
 
@@ -314,8 +313,7 @@ rasops1_putchar8(void *cookie, int row, 
 			}
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		/* NOT fontbits if bg is white */
@@ -394,8 +392,7 @@ rasops1_putchar16(void *cookie, int row,
 			}
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		/* NOT fontbits if bg is white */

Index: src/sys/dev/rasops/rasops15.c
diff -u src/sys/dev/rasops/rasops15.c:1.26 src/sys/dev/rasops/rasops15.c:1.27
--- src/sys/dev/rasops/rasops15.c:1.26	Thu Jul 25 02:26:32 2019
+++ src/sys/dev/rasops/rasops15.c	Thu Jul 25 03:02:44 2019
@@ -1,4 +1,4 @@
-/* 	$NetBSD: rasops15.c,v 1.26 2019/07/25 02:26:32 rin Exp $	*/
+/* 	$NetBSD: rasops15.c,v 1.27 2019/07/25 03:02:44 rin Exp $	*/
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rasops15.c,v 1.26 2019/07/25 02:26:32 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rasops15.c,v 1.27 2019/07/25 03:02:44 rin Exp $");
 
 #include "opt_rasops.h"
 
@@ -164,8 +164,7 @@ rasops15_putchar(void *cookie, int row, 
 			}
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 
 		while (height--) {
 			dp = rp;
@@ -254,7 +253,7 @@ rasops15_putchar_aa(void *cookie, int ro
 			memcpy(dp, buffer, width << 1);
 		}
 	} else {
-		fr = WSFONT_GLYPH(uc, font);
+		fr = FONT_GLYPH(uc, font, ri);
 
 		fgo = ((attr >> 24) & 0xf) * 3;
 		bgo = ((attr >> 16) & 0xf) * 3;
@@ -383,8 +382,7 @@ rasops15_putchar8(void *cookie, int row,
 			}
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc*ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -481,8 +479,7 @@ rasops15_putchar12(void *cookie, int row
 			}
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc*ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -587,8 +584,7 @@ rasops15_putchar16(void *cookie, int row
 			}
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc*ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {

Index: src/sys/dev/rasops/rasops2.c
diff -u src/sys/dev/rasops/rasops2.c:1.22 src/sys/dev/rasops/rasops2.c:1.23
--- src/sys/dev/rasops/rasops2.c:1.22	Thu Jul 25 02:26:32 2019
+++ src/sys/dev/rasops/rasops2.c	Thu Jul 25 03:02:44 2019
@@ -1,4 +1,4 @@
-/* 	$NetBSD: rasops2.c,v 1.22 2019/07/25 02:26:32 rin Exp $	*/
+/* 	$NetBSD: rasops2.c,v 1.23 2019/07/25 03:02:44 rin Exp $	*/
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rasops2.c,v 1.22 2019/07/25 02:26:32 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rasops2.c,v 1.23 2019/07/25 03:02:44 rin Exp $");
 
 #include "opt_rasops.h"
 
@@ -133,8 +133,7 @@ rasops2_putchar(void *cookie, int row, i
 		fr = 0;		/* shutup gcc */
 		fs = 0;		/* shutup gcc */
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 	}
 
@@ -296,8 +295,7 @@ rasops2_putchar8(void *cookie, int row, 
 			rp += rs;
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -360,8 +358,7 @@ rasops2_putchar12(void *cookie, int row,
 			rp += rs;
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -427,8 +424,7 @@ rasops2_putchar16(void *cookie, int row,
 			rp += rs;
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {

Index: src/sys/dev/rasops/rasops24.c
diff -u src/sys/dev/rasops/rasops24.c:1.33 src/sys/dev/rasops/rasops24.c:1.34
--- src/sys/dev/rasops/rasops24.c:1.33	Thu Jul 25 02:26:32 2019
+++ src/sys/dev/rasops/rasops24.c	Thu Jul 25 03:02:44 2019
@@ -1,4 +1,4 @@
-/* 	$NetBSD: rasops24.c,v 1.33 2019/07/25 02:26:32 rin Exp $	*/
+/* 	$NetBSD: rasops24.c,v 1.34 2019/07/25 03:02:44 rin Exp $	*/
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rasops24.c,v 1.33 2019/07/25 02:26:32 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rasops24.c,v 1.34 2019/07/25 03:02:44 rin Exp $");
 
 #include "opt_rasops.h"
 
@@ -153,8 +153,7 @@ rasops24_putchar(void *cookie, int row, 
 			}
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 
 		while (height--) {
 			dp = rp;
@@ -278,8 +277,7 @@ rasops24_putchar8(void *cookie, int row,
 			DELTA(rp, ri->ri_stride, uint32_t *);
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc*ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -352,8 +350,7 @@ rasops24_putchar12(void *cookie, int row
 			DELTA(rp, ri->ri_stride, uint32_t *);
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc*ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -433,8 +430,7 @@ rasops24_putchar16(void *cookie, int row
 			DELTA(rp, ri->ri_stride, uint32_t *);
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc*ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {

Index: src/sys/dev/rasops/rasops32.c
diff -u src/sys/dev/rasops/rasops32.c:1.34 src/sys/dev/rasops/rasops32.c:1.35
--- src/sys/dev/rasops/rasops32.c:1.34	Wed Jul 24 18:33:49 2019
+++ src/sys/dev/rasops/rasops32.c	Thu Jul 25 03:02:44 2019
@@ -1,4 +1,4 @@
-/*	 $NetBSD: rasops32.c,v 1.34 2019/07/24 18:33:49 rin Exp $	*/
+/*	 $NetBSD: rasops32.c,v 1.35 2019/07/25 03:02:44 rin Exp $	*/
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rasops32.c,v 1.34 2019/07/24 18:33:49 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rasops32.c,v 1.35 2019/07/25 03:02:44 rin Exp $");
 
 #include "opt_rasops.h"
 
@@ -122,7 +122,7 @@ rasops32_putchar(void *cookie, int row, 
 			}
 		}
 	} else {
-		fr = WSFONT_GLYPH(uc, font);
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -203,7 +203,7 @@ rasops32_putchar_aa(void *cookie, int ro
 			memcpy(dp, buffer, width << 2);
 		}
 	} else {
-		fr = WSFONT_GLYPH(uc, font);
+		fr = FONT_GLYPH(uc, font, ri);
 
 		r0 = (clr[0] >> 16) & 0xff;
 		r1 = (clr[1] >> 16) & 0xff;

Index: src/sys/dev/rasops/rasops4.c
diff -u src/sys/dev/rasops/rasops4.c:1.16 src/sys/dev/rasops/rasops4.c:1.17
--- src/sys/dev/rasops/rasops4.c:1.16	Thu Jul 25 02:26:32 2019
+++ src/sys/dev/rasops/rasops4.c	Thu Jul 25 03:02:44 2019
@@ -1,4 +1,4 @@
-/* 	$NetBSD: rasops4.c,v 1.16 2019/07/25 02:26:32 rin Exp $	*/
+/* 	$NetBSD: rasops4.c,v 1.17 2019/07/25 03:02:44 rin Exp $	*/
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rasops4.c,v 1.16 2019/07/25 02:26:32 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rasops4.c,v 1.17 2019/07/25 03:02:44 rin Exp $");
 
 #include "opt_rasops.h"
 
@@ -133,8 +133,7 @@ rasops4_putchar(void *cookie, int row, i
 		fr = 0;		/* shutup gcc */
 		fs = 0;		/* shutup gcc */
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 	}
 
@@ -298,8 +297,7 @@ rasops4_putchar8(void *cookie, int row, 
 			rp += rs;
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -366,8 +364,7 @@ rasops4_putchar12(void *cookie, int row,
 			rp += rs;
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -435,8 +432,7 @@ rasops4_putchar16(void *cookie, int row,
 			rp += rs;
 		}
 	} else {
-		uc -= font->firstchar;
-		fr = (uint8_t *)font->data + uc * ri->ri_fontscale;
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {

Index: src/sys/dev/rasops/rasops8.c
diff -u src/sys/dev/rasops/rasops8.c:1.40 src/sys/dev/rasops/rasops8.c:1.41
--- src/sys/dev/rasops/rasops8.c:1.40	Thu Jul 25 02:26:32 2019
+++ src/sys/dev/rasops/rasops8.c	Thu Jul 25 03:02:44 2019
@@ -1,4 +1,4 @@
-/* 	$NetBSD: rasops8.c,v 1.40 2019/07/25 02:26:32 rin Exp $	*/
+/* 	$NetBSD: rasops8.c,v 1.41 2019/07/25 03:02:44 rin Exp $	*/
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rasops8.c,v 1.40 2019/07/25 02:26:32 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rasops8.c,v 1.41 2019/07/25 03:02:44 rin Exp $");
 
 #include "opt_rasops.h"
 
@@ -152,7 +152,7 @@ rasops8_putchar(void *cookie, int row, i
 			rp += ri->ri_stride;
 		}
 	} else {
-		fr = WSFONT_GLYPH(uc, font);
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -236,7 +236,7 @@ rasops8_putchar_aa(void *cookie, int row
 			rp += ri->ri_stride;
 		}
 	} else {
-		fr = WSFONT_GLYPH(uc, font);
+		fr = FONT_GLYPH(uc, font, ri);
 		/*
 		 * we need the RGB colours here, get offsets into rasops_cmap
 		 */
@@ -385,7 +385,7 @@ rasops8_putchar8(void *cookie, int row, 
 			}
 		}
 	} else {
-		fr = WSFONT_GLYPH(uc, font);
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -474,7 +474,7 @@ rasops8_putchar12(void *cookie, int row,
 			}
 		}
 	} else {
-		fr = WSFONT_GLYPH(uc, font);
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {
@@ -566,7 +566,7 @@ rasops8_putchar16(void *cookie, int row,
 			}
 		}
 	} else {
-		fr = WSFONT_GLYPH(uc, font);
+		fr = FONT_GLYPH(uc, font, ri);
 		fs = font->stride;
 
 		while (height--) {

Reply via email to