Get correct GOP protocol for physical GOP device.
Signed-off-by: Li Elvin <elvin.li@intel.com> Reviewed-by: Fan Jeff <jeff.fan@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13666 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
60893cc3a8
commit
8d4e1bd933
|
@ -120,6 +120,7 @@ ConSplitterGraphicsOutputSetMode (
|
||||||
EFI_STATUS ReturnStatus;
|
EFI_STATUS ReturnStatus;
|
||||||
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Mode;
|
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Mode;
|
||||||
EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;
|
EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;
|
||||||
|
EFI_GRAPHICS_OUTPUT_PROTOCOL *PhysicalGraphicsOutput;
|
||||||
UINTN NumberIndex;
|
UINTN NumberIndex;
|
||||||
UINTN SizeOfInfo;
|
UINTN SizeOfInfo;
|
||||||
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info;
|
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info;
|
||||||
|
@ -134,12 +135,14 @@ ConSplitterGraphicsOutputSetMode (
|
||||||
|
|
||||||
ReturnStatus = EFI_SUCCESS;
|
ReturnStatus = EFI_SUCCESS;
|
||||||
GraphicsOutput = NULL;
|
GraphicsOutput = NULL;
|
||||||
|
PhysicalGraphicsOutput = NULL;
|
||||||
//
|
//
|
||||||
// return the worst status met
|
// return the worst status met
|
||||||
//
|
//
|
||||||
for (Index = 0; Index < Private->CurrentNumberOfConsoles; Index++) {
|
for (Index = 0; Index < Private->CurrentNumberOfConsoles; Index++) {
|
||||||
GraphicsOutput = Private->TextOutList[Index].GraphicsOutput;
|
GraphicsOutput = Private->TextOutList[Index].GraphicsOutput;
|
||||||
if (GraphicsOutput != NULL) {
|
if (GraphicsOutput != NULL) {
|
||||||
|
PhysicalGraphicsOutput = GraphicsOutput;
|
||||||
//
|
//
|
||||||
// Find corresponding ModeNumber of this GraphicsOutput instance
|
// Find corresponding ModeNumber of this GraphicsOutput instance
|
||||||
//
|
//
|
||||||
|
@ -178,14 +181,14 @@ ConSplitterGraphicsOutputSetMode (
|
||||||
|
|
||||||
This->Mode->Mode = ModeNumber;
|
This->Mode->Mode = ModeNumber;
|
||||||
|
|
||||||
if ((Private->CurrentNumberOfGraphicsOutput == 1) && (GraphicsOutput != NULL)) {
|
if ((Private->CurrentNumberOfGraphicsOutput == 1) && (PhysicalGraphicsOutput != NULL)) {
|
||||||
//
|
//
|
||||||
// If only one physical GOP device exist, copy physical information to consplitter.
|
// If only one physical GOP device exist, copy physical information to consplitter.
|
||||||
//
|
//
|
||||||
CopyMem (This->Mode->Info, GraphicsOutput->Mode->Info, GraphicsOutput->Mode->SizeOfInfo);
|
CopyMem (This->Mode->Info, PhysicalGraphicsOutput->Mode->Info, PhysicalGraphicsOutput->Mode->SizeOfInfo);
|
||||||
This->Mode->SizeOfInfo = GraphicsOutput->Mode->SizeOfInfo;
|
This->Mode->SizeOfInfo = PhysicalGraphicsOutput->Mode->SizeOfInfo;
|
||||||
This->Mode->FrameBufferBase = GraphicsOutput->Mode->FrameBufferBase;
|
This->Mode->FrameBufferBase = PhysicalGraphicsOutput->Mode->FrameBufferBase;
|
||||||
This->Mode->FrameBufferSize = GraphicsOutput->Mode->FrameBufferSize;
|
This->Mode->FrameBufferSize = PhysicalGraphicsOutput->Mode->FrameBufferSize;
|
||||||
} else {
|
} else {
|
||||||
//
|
//
|
||||||
// If 2 more phyiscal GOP device exist or GOP protocol does not exist,
|
// If 2 more phyiscal GOP device exist or GOP protocol does not exist,
|
||||||
|
|
Loading…
Reference in New Issue