From 1687559138f11d1693bcbb8a2cdfd76061c77e11 Mon Sep 17 00:00:00 2001 From: li-elvin Date: Fri, 29 Mar 2013 03:14:30 +0000 Subject: When EDID comes from hardware INT10 and does not include 800x600, 640x480 and 1024x768, but INT10 supports these modes, add them into GOP mode. Signed-off-by: Li Elvin Reviewed-by: Ni Ruiyu git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14225 6f19259b-4bc3-4df7-8a09-765794883524 --- IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/BiosVideo.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/BiosVideo.c b/IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/BiosVideo.c index fc9672651c..7c718ba423 100644 --- a/IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/BiosVideo.c +++ b/IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/BiosVideo.c @@ -1590,7 +1590,16 @@ BiosVideoCheckForVbe ( Timing.HorizontalResolution = BiosVideoPrivate->VbeModeInformationBlock->XResolution; Timing.VerticalResolution = BiosVideoPrivate->VbeModeInformationBlock->YResolution; if (!SearchEdidTiming (&ValidEdidTiming, &Timing)) { + // + // When EDID comes from INT10 call, EDID does not include 800x600, 640x480 and 1024x768, + // but INT10 can support these modes, we add them into GOP mode. + // + if ((BiosVideoPrivate->EdidDiscovered.SizeOfEdid != 0) && + !((Timing.HorizontalResolution) == 1024 && (Timing.VerticalResolution == 768)) && + !((Timing.HorizontalResolution) == 800 && (Timing.VerticalResolution == 600)) && + !((Timing.HorizontalResolution) == 640 && (Timing.VerticalResolution == 480))) { continue; + } } } -- cgit v1.2.3