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