MdeModulePkg: Fix GraphicsConsole driver resolution out of sync issue

When the GOP doesn't support the resolution specified by
PcdVideoHorizontalResolution and PcdVideoVerticalResolution,
the code tries to set the resolution to 800x600 but uses the resolution
equals to the PCD when calculating the text print position.
The patch fixes the bug by updating the resolution to 800x600 for
this case.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19630 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Ruiyu Ni 2016-01-11 02:29:09 +00:00 committed by niruiyu
parent de3ecb331f
commit e8e1bdd66a
1 changed files with 5 additions and 3 deletions

View File

@ -1,7 +1,7 @@
/** @file
This is the main routine for initializing the Graphics Console support routines.
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -480,10 +480,12 @@ GraphicsConsoleControllerDriverStart (
//
// if not supporting current mode, try 800x600 which is required by UEFI/EFI spec
//
HorizontalResolution = 800;
VerticalResolution = 600;
Status = CheckModeSupported (
Private->GraphicsOutput,
800,
600,
HorizontalResolution,
VerticalResolution,
&ModeNumber
);
Mode = Private->GraphicsOutput->Mode;