mirror of https://github.com/acidanthera/audk.git
LcdGraphicsOutputDxe: Update FrameBufferSize as per UEFI spec section 11.9
The shift by 1 on the left was expected. It eases the access to CSSELR and set/way operations where the cache level field is at the BIT1 position. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14705 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
433a49a094
commit
1d7b547e69
|
@ -133,7 +133,6 @@ InitializeDisplay (
|
|||
// Setup all the relevant mode information
|
||||
Instance->Gop.Mode->SizeOfInfo = sizeof(EFI_GRAPHICS_OUTPUT_MODE_INFORMATION);
|
||||
Instance->Gop.Mode->FrameBufferBase = VramBaseAddress;
|
||||
Instance->Gop.Mode->FrameBufferSize = VramSize;
|
||||
|
||||
// Set the flag before changing the mode, to avoid infinite loops
|
||||
mDisplayInitialized = TRUE;
|
||||
|
@ -298,6 +297,7 @@ LcdGraphicsSetMode (
|
|||
EFI_STATUS Status = EFI_SUCCESS;
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL FillColour;
|
||||
LCD_INSTANCE* Instance;
|
||||
LCD_BPP Bpp;
|
||||
|
||||
Instance = LCD_INSTANCE_FROM_GOP_THIS (This);
|
||||
|
||||
|
@ -326,6 +326,14 @@ LcdGraphicsSetMode (
|
|||
// Update the UEFI mode information
|
||||
This->Mode->Mode = ModeNumber;
|
||||
LcdPlatformQueryMode (ModeNumber,&Instance->ModeInfo);
|
||||
Status = LcdPlatformGetBpp(ModeNumber, &Bpp);
|
||||
if (EFI_ERROR(Status)) {
|
||||
DEBUG ((DEBUG_ERROR, "LcdGraphicsSetMode: ERROR - Couldn't get bytes per pixel, status: %r\n", Status));
|
||||
goto EXIT;
|
||||
}
|
||||
This->Mode->FrameBufferSize = Instance->ModeInfo.VerticalResolution
|
||||
* Instance->ModeInfo.PixelsPerScanLine
|
||||
* GetBytesPerPixel(Bpp);
|
||||
|
||||
// Set the hardware to the new mode
|
||||
Status = LcdSetMode (ModeNumber);
|
||||
|
|
Loading…
Reference in New Issue