diff options
| author | rin <rin@NetBSD.org> | 2019-07-25 03:02:44 +0000 |
|---|---|---|
| committer | rin <rin@NetBSD.org> | 2019-07-25 03:02:44 +0000 |
| commit | e6abe4ecdf35b5691b18cd1aa5c3b26e55cdf0f0 (patch) | |
| tree | 909260f94eafda1aeabf85e33da7669f6265b7c7 /sys/dev/rasops | |
| parent | 4274cea59ee06df299366be565d53489f281b017 (diff) | |
Provide and use FONT_GLYPH macro, tiny optimization version of WSFONT_GLYPH.
Diffstat (limited to 'sys/dev/rasops')
| -rw-r--r-- | sys/dev/rasops/rasops.h | 6 | ||||
| -rw-r--r-- | sys/dev/rasops/rasops1.c | 13 | ||||
| -rw-r--r-- | sys/dev/rasops/rasops15.c | 18 | ||||
| -rw-r--r-- | sys/dev/rasops/rasops2.c | 16 | ||||
| -rw-r--r-- | sys/dev/rasops/rasops24.c | 16 | ||||
| -rw-r--r-- | sys/dev/rasops/rasops32.c | 8 | ||||
| -rw-r--r-- | sys/dev/rasops/rasops4.c | 16 | ||||
| -rw-r--r-- | sys/dev/rasops/rasops8.c | 14 |
8 files changed, 46 insertions, 61 deletions
diff --git a/sys/dev/rasops/rasops.h b/sys/dev/rasops/rasops.h index 4a8cc1cc0f5..3b6c8239ac4 100644 --- a/sys/dev/rasops/rasops.h +++ b/sys/dev/rasops/rasops.h @@ -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(). * diff --git a/sys/dev/rasops/rasops1.c b/sys/dev/rasops/rasops1.c index 55d38c2c04d..2af5f459fe6 100644 --- a/sys/dev/rasops/rasops1.c +++ b/sys/dev/rasops/rasops1.c @@ -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, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) } } } 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, int col, u_int uc, long attr) } } } 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 */ diff --git a/sys/dev/rasops/rasops15.c b/sys/dev/rasops/rasops15.c index 98f431dbd32..90586b478d0 100644 --- a/sys/dev/rasops/rasops15.c +++ b/sys/dev/rasops/rasops15.c @@ -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, int col, u_int uc, long attr) } } } 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 row, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) } } } 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, int col, u_int uc, long attr) } } } 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, int col, u_int uc, long attr) } } } else { - uc -= font->firstchar; - fr = (uint8_t *)font->data + uc*ri->ri_fontscale; + fr = FONT_GLYPH(uc, font, ri); fs = font->stride; while (height--) { diff --git a/sys/dev/rasops/rasops2.c b/sys/dev/rasops/rasops2.c index aeba82d6cd1..9db67b50ffa 100644 --- a/sys/dev/rasops/rasops2.c +++ b/sys/dev/rasops/rasops2.c @@ -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, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) 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--) { diff --git a/sys/dev/rasops/rasops24.c b/sys/dev/rasops/rasops24.c index de0f6e57572..a673007ca98 100644 --- a/sys/dev/rasops/rasops24.c +++ b/sys/dev/rasops/rasops24.c @@ -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, int col, u_int uc, long attr) } } } 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, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) 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--) { diff --git a/sys/dev/rasops/rasops32.c b/sys/dev/rasops/rasops32.c index a90b5c26bbd..7078e770cc2 100644 --- a/sys/dev/rasops/rasops32.c +++ b/sys/dev/rasops/rasops32.c @@ -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, int col, u_int uc, long attr) } } } 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 row, int col, u_int uc, long attr) 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; diff --git a/sys/dev/rasops/rasops4.c b/sys/dev/rasops/rasops4.c index 3937ff5abb0..1b5df4d8e9b 100644 --- a/sys/dev/rasops/rasops4.c +++ b/sys/dev/rasops/rasops4.c @@ -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, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) 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--) { diff --git a/sys/dev/rasops/rasops8.c b/sys/dev/rasops/rasops8.c index 00a7e7b6344..15ca78cac59 100644 --- a/sys/dev/rasops/rasops8.c +++ b/sys/dev/rasops/rasops8.c @@ -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, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) 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, int col, u_int uc, long attr) } } } 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, int col, u_int uc, long attr) } } } 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, int col, u_int uc, long attr) } } } else { - fr = WSFONT_GLYPH(uc, font); + fr = FONT_GLYPH(uc, font, ri); fs = font->stride; while (height--) { |
