Module Name:    src
Committed By:   macallan
Date:           Tue Feb 14 08:22:02 UTC 2023

Modified Files:
        src/sys/dev/wscons: wsdisplay_vcons.c wsdisplay_vconsvar.h

Log Message:
add flags for drivers to requesr R2L bit/byte-ordered fonts, default to
L2R, chack them in vcons_load_font() instead of just trusting that we'd get
what we need


To generate a diff of this commit:
cvs rdiff -u -r1.65 -r1.66 src/sys/dev/wscons/wsdisplay_vcons.c
cvs rdiff -u -r1.33 -r1.34 src/sys/dev/wscons/wsdisplay_vconsvar.h

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/wscons/wsdisplay_vcons.c
diff -u src/sys/dev/wscons/wsdisplay_vcons.c:1.65 src/sys/dev/wscons/wsdisplay_vcons.c:1.66
--- src/sys/dev/wscons/wsdisplay_vcons.c:1.65	Tue Feb 14 08:14:02 2023
+++ src/sys/dev/wscons/wsdisplay_vcons.c	Tue Feb 14 08:22:02 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: wsdisplay_vcons.c,v 1.65 2023/02/14 08:14:02 macallan Exp $ */
+/*	$NetBSD: wsdisplay_vcons.c,v 1.66 2023/02/14 08:22:02 macallan Exp $ */
 
 /*-
  * Copyright (c) 2005, 2006 Michael Lorenz
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wsdisplay_vcons.c,v 1.65 2023/02/14 08:14:02 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wsdisplay_vcons.c,v 1.66 2023/02/14 08:22:02 macallan Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -478,7 +478,14 @@ vcons_load_font(void *v, void *cookie, s
 		flags |= WSFONT_FIND_ALPHA;
 	}
 
-	fcookie = wsfont_find(f->name, 0, 0, 0, 0, 0, flags);
+	fcookie = wsfont_find(f->name, 0, 0, 0,
+	    /* bitorder */
+	    scr->scr_flags & VCONS_FONT_BITS_R2L ?
+	      WSDISPLAY_FONTORDER_R2L : WSDISPLAY_FONTORDER_L2R,
+	    /* byteorder */
+	    scr->scr_flags & VCONS_FONT_BYTES_R2L ?
+	      WSDISPLAY_FONTORDER_R2L : WSDISPLAY_FONTORDER_L2R,
+	    flags);
 	if (fcookie == -1)
 		return EINVAL;
 

Index: src/sys/dev/wscons/wsdisplay_vconsvar.h
diff -u src/sys/dev/wscons/wsdisplay_vconsvar.h:1.33 src/sys/dev/wscons/wsdisplay_vconsvar.h:1.34
--- src/sys/dev/wscons/wsdisplay_vconsvar.h:1.33	Sun Jul 17 20:23:17 2022
+++ src/sys/dev/wscons/wsdisplay_vconsvar.h	Tue Feb 14 08:22:02 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: wsdisplay_vconsvar.h,v 1.33 2022/07/17 20:23:17 riastradh Exp $ */
+/*	$NetBSD: wsdisplay_vconsvar.h,v 1.34 2023/02/14 08:22:02 macallan Exp $ */
 
 /*-
  * Copyright (c) 2005, 2006 Michael Lorenz
@@ -70,6 +70,11 @@ struct vcons_screen {
 #define VCONS_LOADFONT		0x40	/* driver can load_font() */
 #define VCONS_NO_CURSOR		0x80	/* use putchar() based cursor(), to
 					 * avoid fb reads */
+#define VCONS_FONT_BITS_R2L	0x100	/* request right-to-left bitorder in
+					 * wsfont_find() */
+#define VCONS_FONT_BYTES_R2L	0x200	/* request right-to-left byteorder in
+					 * wsfont_find() */
+					 
 	/* status flags used by vcons */
 	uint32_t scr_status;
 #define VCONS_IS_VISIBLE	1	/* this screen is currently visible */

Reply via email to