svn commit: r205550 - head/sys/dev/syscons

Jung-uk Kim jkim at FreeBSD.org
Tue Mar 23 22:16:57 UTC 2010


Author: jkim
Date: Tue Mar 23 22:16:57 2010
New Revision: 205550
URL: http://svn.freebsd.org/changeset/base/205550

Log:
  Separate 24-bit pixel draw from 32-bit case.  Although it is slower, we do
  not want to write a useless zero to inaccessible memory region.

Modified:
  head/sys/dev/syscons/scvgarndr.c

Modified: head/sys/dev/syscons/scvgarndr.c
==============================================================================
--- head/sys/dev/syscons/scvgarndr.c	Tue Mar 23 22:16:12 2010	(r205549)
+++ head/sys/dev/syscons/scvgarndr.c	Tue Mar 23 22:16:57 2010	(r205550)
@@ -181,9 +181,12 @@ static u_short mouse_or_mask[16] = {
 #define	vga_drawpxl(pos, color)						\
 	switch (scp->sc->adp->va_info.vi_depth) {			\
 		case 32:						\
-		case 24:						\
 			writel(pos, vga_palette32[color]);		\
 			break;						\
+		case 24:						\
+			writew(pos, vga_palette32[color]);		\
+			writeb(pos + 2, vga_palette32[color] >> 16);	\
+			break;						\
 		case 16:						\
 			if (scp->sc->adp->va_info.vi_pixel_fsizes[1] == 5)\
 				writew(pos, vga_palette15[color]);	\


More information about the svn-src-head mailing list