diff options
author | delphij <delphij@FreeBSD.org> | 2009-06-09 00:54:57 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2009-06-09 00:54:57 +0000 |
commit | cfc92528a54728ef44bee6a14e7e87f24764aa47 (patch) | |
tree | dd9abb3c08b335a3833d7c7fcd16349b47dc7d36 /sys/i386 | |
parent | 1ac37395d64897684ac5214438f0b37b0cfd6083 (diff) | |
download | FreeBSD-src-cfc92528a54728ef44bee6a14e7e87f24764aa47.zip FreeBSD-src-cfc92528a54728ef44bee6a14e7e87f24764aa47.tar.gz |
Add line width calculations for 15/16 and 24/32 bit modes in case
the "Get Scan Line Length" function fails, as it does in Parallels
(in Version 2.2, Build 2112 at least).
PR: i386/127367
Obtained from: DragonFly
Submitted by: Pedro Giffuni
MFC after: 1 month
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/isa/vesa.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/i386/isa/vesa.c b/sys/i386/isa/vesa.c index a1e2a76..736daff 100644 --- a/sys/i386/isa/vesa.c +++ b/sys/i386/isa/vesa.c @@ -1111,6 +1111,14 @@ vesa_set_mode(video_adapter_t *adp, int mode) default: /* shouldn't happen */ vesa_adp->va_line_width = info.vi_width; break; + case 15: + case 16: + vesa_adp->va_line_width = info.vi_width*2; + break; + case 24: + case 32: + vesa_adp->va_line_width = info.vi_width*4; + break; } } else { vesa_adp->va_line_width = info.vi_width; |