Next patch will change BltLib library class to FrameBufferBltLib. So GopBltLib instance which based on GOP protocol is removed.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <[email protected]> Cc: Laszlo Ersek <[email protected]> Cc: Jordan Justen <[email protected]> --- OptionRomPkg/Library/GopBltLib/GopBltLib.c | 455 --------------------------- OptionRomPkg/Library/GopBltLib/GopBltLib.inf | 37 --- 2 files changed, 492 deletions(-) delete mode 100644 OptionRomPkg/Library/GopBltLib/GopBltLib.c delete mode 100644 OptionRomPkg/Library/GopBltLib/GopBltLib.inf diff --git a/OptionRomPkg/Library/GopBltLib/GopBltLib.c b/OptionRomPkg/Library/GopBltLib/GopBltLib.c deleted file mode 100644 index 1fb34fa..0000000 --- a/OptionRomPkg/Library/GopBltLib/GopBltLib.c +++ /dev/null @@ -1,455 +0,0 @@ -/** @file - GopBltLib - Library to perform blt using the UEFI Graphics Output Protocol. - - Copyright (c) 2007 - 2011, 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 - http://opensource.org/licenses/bsd-license.php - - THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#include "PiDxe.h" - -#include <Protocol/GraphicsOutput.h> - -#include <Library/BaseLib.h> -#include <Library/BaseMemoryLib.h> -#include <Library/BltLib.h> -#include <Library/DebugLib.h> -#include <Library/MemoryAllocationLib.h> -#include <Library/UefiBootServicesTableLib.h> - -EFI_GRAPHICS_OUTPUT_PROTOCOL *mGop = NULL; - - -/** - Configure the FrameBufferLib instance - - @param[in] FrameBuffer Pointer to the start of the frame buffer - @param[in] FrameBufferInfo Describes the frame buffer characteristics - - @retval EFI_INVALID_PARAMETER - Invalid parameter - @retval EFI_UNSUPPORTED - The BltLib does not support this configuration - @retval EFI_SUCCESS - Blt operation success - -**/ -EFI_STATUS -EFIAPI -BltLibConfigure ( - IN VOID *FrameBuffer, - IN EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *FrameBufferInfo - ) -{ - EFI_STATUS Status; - EFI_HANDLE *HandleBuffer; - UINTN HandleCount; - UINTN Index; - EFI_GRAPHICS_OUTPUT_PROTOCOL *Gop; - - Status = gBS->LocateHandleBuffer ( - ByProtocol, - &gEfiGraphicsOutputProtocolGuid, - NULL, - &HandleCount, - &HandleBuffer - ); - if (!EFI_ERROR (Status)) { - for (Index = 0; Index < HandleCount; Index++) { - Status = gBS->HandleProtocol ( - HandleBuffer[Index], - &gEfiGraphicsOutputProtocolGuid, - (VOID*) &Gop - ); - if (!EFI_ERROR (Status) && - (FrameBuffer == (VOID*)(UINTN) Gop->Mode->FrameBufferBase)) { - mGop = Gop; - FreePool (HandleBuffer); - return EFI_SUCCESS; - } - } - - FreePool (HandleBuffer); - } - - return EFI_UNSUPPORTED; -} - - -/** - Performs a UEFI Graphics Output Protocol Blt operation. - - @param[in,out] BltBuffer - The data to transfer to screen - @param[in] BltOperation - The operation to perform - @param[in] SourceX - The X coordinate of the source for BltOperation - @param[in] SourceY - The Y coordinate of the source for BltOperation - @param[in] DestinationX - The X coordinate of the destination for BltOperation - @param[in] DestinationY - The Y coordinate of the destination for BltOperation - @param[in] Width - The width of a rectangle in the blt rectangle in pixels - @param[in] Height - The height of a rectangle in the blt rectangle in pixels - @param[in] Delta - Not used for EfiBltVideoFill and EfiBltVideoToVideo operation. - If a Delta of 0 is used, the entire BltBuffer will be operated on. - If a subrectangle of the BltBuffer is used, then Delta represents - the number of bytes in a row of the BltBuffer. - - @retval EFI_DEVICE_ERROR - A hardware error occured - @retval EFI_INVALID_PARAMETER - Invalid parameter passed in - @retval EFI_SUCCESS - Blt operation success - -**/ -EFI_STATUS -InternalGopBltCommon ( - IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, OPTIONAL - IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation, - IN UINTN SourceX, - IN UINTN SourceY, - IN UINTN DestinationX, - IN UINTN DestinationY, - IN UINTN Width, - IN UINTN Height, - IN UINTN Delta - ) -{ - if (mGop == NULL) { - return EFI_DEVICE_ERROR; - } - - return mGop->Blt ( - mGop, - BltBuffer, - BltOperation, - SourceX, - SourceY, - DestinationX, - DestinationY, - Width, - Height, - Delta - ); -} - - -/** - Performs a UEFI Graphics Output Protocol Blt operation. - - @param[in,out] BltBuffer - The data to transfer to screen - @param[in] BltOperation - The operation to perform - @param[in] SourceX - The X coordinate of the source for BltOperation - @param[in] SourceY - The Y coordinate of the source for BltOperation - @param[in] DestinationX - The X coordinate of the destination for BltOperation - @param[in] DestinationY - The Y coordinate of the destination for BltOperation - @param[in] Width - The width of a rectangle in the blt rectangle in pixels - @param[in] Height - The height of a rectangle in the blt rectangle in pixels - @param[in] Delta - Not used for EfiBltVideoFill and EfiBltVideoToVideo operation. - If a Delta of 0 is used, the entire BltBuffer will be operated on. - If a subrectangle of the BltBuffer is used, then Delta represents - the number of bytes in a row of the BltBuffer. - - @retval EFI_DEVICE_ERROR - A hardware error occured - @retval EFI_INVALID_PARAMETER - Invalid parameter passed in - @retval EFI_SUCCESS - Blt operation success - -**/ -EFI_STATUS -EFIAPI -BltLibGopBlt ( - IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, OPTIONAL - IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation, - IN UINTN SourceX, - IN UINTN SourceY, - IN UINTN DestinationX, - IN UINTN DestinationY, - IN UINTN Width, - IN UINTN Height, - IN UINTN Delta - ) -{ - return InternalGopBltCommon ( - BltBuffer, - BltOperation, - SourceX, - SourceY, - DestinationX, - DestinationY, - Width, - Height, - Delta - ); -} - - -/** - Performs a UEFI Graphics Output Protocol Blt Video Fill. - - @param[in] Color Color to fill the region with - @param[in] DestinationX X location to start fill operation - @param[in] DestinationY Y location to start fill operation - @param[in] Width Width (in pixels) to fill - @param[in] Height Height to fill - - @retval EFI_DEVICE_ERROR - A hardware error occured - @retval EFI_INVALID_PARAMETER - Invalid parameter passed in - @retval EFI_SUCCESS - The sizes were returned - -**/ -EFI_STATUS -EFIAPI -BltLibVideoFill ( - IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Color, - IN UINTN DestinationX, - IN UINTN DestinationY, - IN UINTN Width, - IN UINTN Height - ) -{ - return InternalGopBltCommon ( - Color, - EfiBltVideoFill, - 0, - 0, - DestinationX, - DestinationY, - Width, - Height, - 0 - ); -} - - -/** - Performs a UEFI Graphics Output Protocol Blt Video to Buffer operation. - - @param[out] BltBuffer Output buffer for pixel color data - @param[in] SourceX X location within video - @param[in] SourceY Y location within video - @param[in] Width Width (in pixels) - @param[in] Height Height - - @retval EFI_DEVICE_ERROR - A hardware error occured - @retval EFI_INVALID_PARAMETER - Invalid parameter passed in - @retval EFI_SUCCESS - The sizes were returned - -**/ -EFI_STATUS -EFIAPI -BltLibVideoToBltBuffer ( - OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, - IN UINTN SourceX, - IN UINTN SourceY, - IN UINTN Width, - IN UINTN Height - ) -{ - return InternalGopBltCommon ( - BltBuffer, - EfiBltVideoToBltBuffer, - SourceX, - SourceY, - 0, - 0, - Width, - Height, - 0 - ); -} - - -/** - Performs a UEFI Graphics Output Protocol Blt Video to Buffer operation - with extended parameters. - - @param[out] BltBuffer Output buffer for pixel color data - @param[in] SourceX X location within video - @param[in] SourceY Y location within video - @param[in] DestinationX X location within BltBuffer - @param[in] DestinationY Y location within BltBuffer - @param[in] Width Width (in pixels) - @param[in] Height Height - @param[in] Delta Number of bytes in a row of BltBuffer - - @retval EFI_DEVICE_ERROR - A hardware error occured - @retval EFI_INVALID_PARAMETER - Invalid parameter passed in - @retval EFI_SUCCESS - The sizes were returned - -**/ -EFI_STATUS -EFIAPI -BltLibVideoToBltBufferEx ( - OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, - IN UINTN SourceX, - IN UINTN SourceY, - IN UINTN DestinationX, - IN UINTN DestinationY, - IN UINTN Width, - IN UINTN Height, - IN UINTN Delta - ) -{ - return InternalGopBltCommon ( - BltBuffer, - EfiBltVideoToBltBuffer, - SourceX, - SourceY, - DestinationX, - DestinationY, - Width, - Height, - Delta - ); -} - - -/** - Performs a UEFI Graphics Output Protocol Blt Buffer to Video operation. - - @param[in] BltBuffer Output buffer for pixel color data - @param[in] DestinationX X location within video - @param[in] DestinationY Y location within video - @param[in] Width Width (in pixels) - @param[in] Height Height - - @retval EFI_DEVICE_ERROR - A hardware error occured - @retval EFI_INVALID_PARAMETER - Invalid parameter passed in - @retval EFI_SUCCESS - The sizes were returned - -**/ -EFI_STATUS -EFIAPI -BltLibBufferToVideo ( - IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, - IN UINTN DestinationX, - IN UINTN DestinationY, - IN UINTN Width, - IN UINTN Height - ) -{ - return InternalGopBltCommon ( - BltBuffer, - EfiBltBufferToVideo, - 0, - 0, - DestinationX, - DestinationY, - Width, - Height, - 0 - ); -} - - -/** - Performs a UEFI Graphics Output Protocol Blt Buffer to Video operation - with extended parameters. - - @param[in] BltBuffer Output buffer for pixel color data - @param[in] SourceX X location within BltBuffer - @param[in] SourceY Y location within BltBuffer - @param[in] DestinationX X location within video - @param[in] DestinationY Y location within video - @param[in] Width Width (in pixels) - @param[in] Height Height - @param[in] Delta Number of bytes in a row of BltBuffer - - @retval EFI_DEVICE_ERROR - A hardware error occured - @retval EFI_INVALID_PARAMETER - Invalid parameter passed in - @retval EFI_SUCCESS - The sizes were returned - -**/ -EFI_STATUS -EFIAPI -BltLibBufferToVideoEx ( - IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, - IN UINTN SourceX, - IN UINTN SourceY, - IN UINTN DestinationX, - IN UINTN DestinationY, - IN UINTN Width, - IN UINTN Height, - IN UINTN Delta - ) -{ - return InternalGopBltCommon ( - BltBuffer, - EfiBltBufferToVideo, - SourceX, - SourceY, - DestinationX, - DestinationY, - Width, - Height, - Delta - ); -} - - -/** - Performs a UEFI Graphics Output Protocol Blt Video to Video operation - - @param[in] SourceX X location within video - @param[in] SourceY Y location within video - @param[in] DestinationX X location within video - @param[in] DestinationY Y location within video - @param[in] Width Width (in pixels) - @param[in] Height Height - - @retval EFI_DEVICE_ERROR - A hardware error occured - @retval EFI_INVALID_PARAMETER - Invalid parameter passed in - @retval EFI_SUCCESS - The sizes were returned - -**/ -EFI_STATUS -EFIAPI -BltLibVideoToVideo ( - IN UINTN SourceX, - IN UINTN SourceY, - IN UINTN DestinationX, - IN UINTN DestinationY, - IN UINTN Width, - IN UINTN Height - ) -{ - return InternalGopBltCommon ( - NULL, - EfiBltVideoToVideo, - SourceX, - SourceY, - DestinationX, - DestinationY, - Width, - Height, - 0 - ); -} - -/** - Returns the sizes related to the video device - - @param[out] Width Width (in pixels) - @param[out] Height Height (in pixels) - - @retval EFI_INVALID_PARAMETER - Invalid parameter passed in - @retval EFI_SUCCESS - The sizes were returned - -**/ -EFI_STATUS -EFIAPI -BltLibGetSizes ( - OUT UINTN *Width, OPTIONAL - OUT UINTN *Height OPTIONAL - ) -{ - ASSERT (mGop != NULL); - - if (Width != NULL) { - *Width = mGop->Mode->Info->HorizontalResolution; - } - if (Height != NULL) { - *Height = mGop->Mode->Info->VerticalResolution; - } - - return EFI_SUCCESS; -} - diff --git a/OptionRomPkg/Library/GopBltLib/GopBltLib.inf b/OptionRomPkg/Library/GopBltLib/GopBltLib.inf deleted file mode 100644 index 8a09696..0000000 --- a/OptionRomPkg/Library/GopBltLib/GopBltLib.inf +++ /dev/null @@ -1,37 +0,0 @@ -## @file -# GopBltLib - Library to perform blt using the UEFI Graphics Output Protocol. -# -# Copyright (c) 2006 - 2011, 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 -# http://opensource.org/licenses/bsd-license.php -# -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -## - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = GopBltLib - FILE_GUID = b75b91f0-a0b4-42fe-ba62-849027999b39 - MODULE_TYPE = BASE - VERSION_STRING = 1.0 - LIBRARY_CLASS = BltLib - -[Sources.common] - GopBltLib.c - -[LibraryClasses] - BaseLib - BaseMemoryLib - DebugLib - MemoryAllocationLib - UefiBootServicesTableLib - -[Packages] - MdePkg/MdePkg.dec - OptionRomPkg/OptionRomPkg.dec - -- 2.8.3.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

