summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authoryokota <yokota@FreeBSD.org>1999-08-24 04:26:54 +0000
committeryokota <yokota@FreeBSD.org>1999-08-24 04:26:54 +0000
commit06ec3ed8b8c82cc10eda433e7d4a96bfe3146fd2 (patch)
treed7ff0aaeae937d47c9d3a7c6fdf501af66352def /sys/dev
parent6d0c96fd31d369c1cec5b0f8d22c10b4bce112f1 (diff)
downloadFreeBSD-src-06ec3ed8b8c82cc10eda433e7d4a96bfe3146fd2.zip
FreeBSD-src-06ec3ed8b8c82cc10eda433e7d4a96bfe3146fd2.tar.gz
Correct the mode information for the VGA mode X.
- This mode uses four planes rather than one. - "# of bytes in a scan line" = "# of pixels in the line"/2
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/fb/vga.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/fb/vga.c b/sys/dev/fb/vga.c
index 39b0a0b..d6cddaa 100644
--- a/sys/dev/fb/vga.c
+++ b/sys/dev/fb/vga.c
@@ -26,7 +26,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: vga.c,v 1.1 1999/06/22 14:13:24 yokota Exp $
+ * $Id: vga.c,v 1.2 1999/06/26 10:52:54 peter Exp $
*/
#include "vga.h"
@@ -412,9 +412,9 @@ static video_info_t bios_vmode[] = {
{ M_VGA_CG320, V_INFO_COLOR | V_INFO_GRAPHICS, 320, 200, 8, 8, 8, 1,
GRAPHICS_BUF_BASE, GRAPHICS_BUF_SIZE, GRAPHICS_BUF_SIZE, 0, 0,
V_INFO_MM_PACKED, 1 },
- { M_VGA_MODEX, V_INFO_COLOR | V_INFO_GRAPHICS, 320, 240, 8, 8, 8, 1,
+ { M_VGA_MODEX, V_INFO_COLOR | V_INFO_GRAPHICS, 320, 240, 8, 8, 8, 4,
GRAPHICS_BUF_BASE, GRAPHICS_BUF_SIZE, GRAPHICS_BUF_SIZE, 0, 0,
- V_INFO_MM_PACKED, 1 },
+ V_INFO_MM_VGAX, 1 },
#endif /* VGA_NO_MODE_CHANGE */
{ EOT },
@@ -850,7 +850,9 @@ update_adapter_info(video_adapter_t *adp, video_info_t *info)
/* XXX */
adp->va_buffer = info->vi_buffer;
adp->va_buffer_size = info->vi_buffer_size;
- if (info->vi_flags & V_INFO_GRAPHICS) {
+ if (info->vi_mem_model == V_INFO_MM_VGAX) {
+ adp->va_line_width = info->vi_width/2;
+ } else if (info->vi_flags & V_INFO_GRAPHICS) {
switch (info->vi_depth/info->vi_planes) {
case 1:
adp->va_line_width = info->vi_width/8;
OpenPOWER on IntegriCloud