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--) {