Reviewed-by: Michael D Kinney <michael.d.kin...@intel.com>

> -----Original Message-----
> From: Jiang, Guomin <guomin.ji...@intel.com>
> Sent: Thursday, July 14, 2022 6:51 PM
> To: devel@edk2.groups.io
> Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Gao, Liming 
> <gaolim...@byosoft.com.cn>; Liu, Zhiguang
> <zhiguang....@intel.com>
> Subject: [Patch v2 11/11] MdePkg/UefiLib: Remove all UGA support
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2368
> 
> Remove all UGA code in MdePkg except the definition
> 
> The reason why keep definition is because downstream need it to pass
> build.
> It will be removed when all downstream remove UGA support
> 
> Signed-off-by: Guomin Jiang <guomin.ji...@intel.com>
> Cc: Michael D Kinney <michael.d.kin...@intel.com>
> Cc: Liming Gao <gaolim...@byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang....@intel.com>
> ---
>  MdePkg/Library/UefiLib/UefiLib.inf       |  4 +-
>  MdePkg/Library/UefiLib/UefiLibInternal.h |  3 +-
>  MdePkg/Library/UefiLib/UefiLibPrint.c    | 91 +-----------------------
>  MdePkg/MdePkg.dsc                        |  3 -
>  4 files changed, 3 insertions(+), 98 deletions(-)
> 
> diff --git a/MdePkg/Library/UefiLib/UefiLib.inf 
> b/MdePkg/Library/UefiLib/UefiLib.inf
> index 01ed92092da2..ac9d68907261 100644
> --- a/MdePkg/Library/UefiLib/UefiLib.inf
> +++ b/MdePkg/Library/UefiLib/UefiLib.inf
> @@ -7,7 +7,7 @@
>  #  EFI Driver Model related protocols, manage Unicode string tables for UEFI 
> Drivers,
>  #  and print messages on the console output and standard error devices.
>  #
> -# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2007 - 2022, Intel Corporation. All rights reserved.<BR>
>  #
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
> @@ -67,7 +67,6 @@
>    gEfiGraphicsOutputProtocolGuid                  ## SOMETIMES_CONSUMES
>    gEfiHiiFontProtocolGuid                         ## SOMETIMES_CONSUMES
>    gEfiSimpleFileSystemProtocolGuid                ## SOMETIMES_CONSUMES
> -  gEfiUgaDrawProtocolGuid | gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport    
>              ## SOMETIMES_CONSUMES # Consumes
> if gEfiGraphicsOutputProtocolGuid uninstalled
>    gEfiComponentNameProtocolGuid  | NOT 
> gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable   ## SOMETIMES_PRODUCES # 
> User
> chooses to produce it
>    gEfiComponentName2ProtocolGuid | NOT 
> gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable  ## SOMETIMES_PRODUCES # 
> User
> chooses to produce it
>    gEfiDriverConfigurationProtocolGuid                            ## 
> SOMETIMES_PRODUCES # User chooses to produce it
> @@ -84,5 +83,4 @@
>    gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable        ## CONSUMES
>    gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable   ## CONSUMES
>    gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable       ## CONSUMES
> -  gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport           ## CONSUMES
> 
> diff --git a/MdePkg/Library/UefiLib/UefiLibInternal.h 
> b/MdePkg/Library/UefiLib/UefiLibInternal.h
> index 4365282cf213..be5c9ddcdde8 100644
> --- a/MdePkg/Library/UefiLib/UefiLibInternal.h
> +++ b/MdePkg/Library/UefiLib/UefiLibInternal.h
> @@ -1,7 +1,7 @@
>  /** @file
>    Internal include file for UefiLib.
> 
> -  Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2007 - 2022, Intel Corporation. All rights reserved.<BR>
>     SPDX-License-Identifier: BSD-2-Clause-Patent
>  **/
> 
> @@ -18,7 +18,6 @@
>  #include <Protocol/DriverDiagnostics2.h>
>  #include <Protocol/LoadedImage.h>
>  #include <Protocol/GraphicsOutput.h>
> -#include <Protocol/UgaDraw.h>
>  #include <Protocol/HiiFont.h>
> 
>  #include <Guid/EventGroup.h>
> diff --git a/MdePkg/Library/UefiLib/UefiLibPrint.c 
> b/MdePkg/Library/UefiLib/UefiLibPrint.c
> index 39edeb7283dd..2451775aeb90 100644
> --- a/MdePkg/Library/UefiLib/UefiLibPrint.c
> +++ b/MdePkg/Library/UefiLib/UefiLibPrint.c
> @@ -2,7 +2,7 @@
>    Mde UEFI library API implementation.
>    Print to StdErr or ConOut defined in EFI_SYSTEM_TABLE
> 
> -  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2007 - 2022, Intel Corporation. All rights reserved.<BR>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -344,20 +344,14 @@ InternalPrintGraphic (
>    EFI_STATUS                       Status;
>    UINT32                           HorizontalResolution;
>    UINT32                           VerticalResolution;
> -  UINT32                           ColorDepth;
> -  UINT32                           RefreshRate;
>    EFI_HII_FONT_PROTOCOL            *HiiFont;
>    EFI_IMAGE_OUTPUT                 *Blt;
>    EFI_FONT_DISPLAY_INFO            FontInfo;
>    EFI_HII_ROW_INFO                 *RowInfoArray;
>    UINTN                            RowInfoArraySize;
>    EFI_GRAPHICS_OUTPUT_PROTOCOL     *GraphicsOutput;
> -  EFI_UGA_DRAW_PROTOCOL            *UgaDraw;
>    EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL  *Sto;
>    EFI_HANDLE                       ConsoleHandle;
> -  UINTN                            Width;
> -  UINTN                            Height;
> -  UINTN                            Delta;
> 
>    HorizontalResolution = 0;
>    VerticalResolution   = 0;
> @@ -374,20 +368,6 @@ InternalPrintGraphic (
>                    (VOID **)&GraphicsOutput
>                    );
> 
> -  UgaDraw = NULL;
> -  if (EFI_ERROR (Status) && FeaturePcdGet (PcdUgaConsumeSupport)) {
> -    //
> -    // If no GOP available, try to open UGA Draw protocol if supported.
> -    //
> -    GraphicsOutput = NULL;
> -
> -    Status = gBS->HandleProtocol (
> -                    ConsoleHandle,
> -                    &gEfiUgaDrawProtocolGuid,
> -                    (VOID **)&UgaDraw
> -                    );
> -  }
> -
>    if (EFI_ERROR (Status)) {
>      goto Error;
>    }
> @@ -405,8 +385,6 @@ InternalPrintGraphic (
>    if (GraphicsOutput != NULL) {
>      HorizontalResolution = GraphicsOutput->Mode->Info->HorizontalResolution;
>      VerticalResolution   = GraphicsOutput->Mode->Info->VerticalResolution;
> -  } else if ((UgaDraw != NULL) && FeaturePcdGet (PcdUgaConsumeSupport)) {
> -    UgaDraw->GetMode (UgaDraw, &HorizontalResolution, &VerticalResolution, 
> &ColorDepth, &RefreshRate);
>    } else {
>      goto Error;
>    }
> @@ -466,73 +444,6 @@ InternalPrintGraphic (
>      if (EFI_ERROR (Status)) {
>        goto Error;
>      }
> -  } else if (FeaturePcdGet (PcdUgaConsumeSupport)) {
> -    ASSERT (UgaDraw != NULL);
> -
> -    //
> -    // Ensure Width * Height * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL) 
> doesn't overflow.
> -    //
> -    if (Blt->Width > DivU64x32 (MAX_UINTN, Blt->Height * sizeof 
> (EFI_GRAPHICS_OUTPUT_BLT_PIXEL))) {
> -      goto Error;
> -    }
> -
> -    Blt->Image.Bitmap = AllocateZeroPool ((UINT32)Blt->Width * Blt->Height * 
> sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> -    ASSERT (Blt->Image.Bitmap != NULL);
> -
> -    //
> -    //  StringToImage only support blt'ing image to device using GOP 
> protocol. If GOP is not supported in this platform,
> -    //  we ask StringToImage to print the string to blt buffer, then blt to 
> device using UgaDraw.
> -    //
> -    Status = HiiFont->StringToImage (
> -                        HiiFont,
> -                        EFI_HII_IGNORE_IF_NO_GLYPH | EFI_HII_OUT_FLAG_CLIP |
> -                        EFI_HII_OUT_FLAG_CLIP_CLEAN_X | 
> EFI_HII_OUT_FLAG_CLIP_CLEAN_Y |
> -                        EFI_HII_IGNORE_LINE_BREAK,
> -                        Buffer,
> -                        &FontInfo,
> -                        &Blt,
> -                        PointX,
> -                        PointY,
> -                        &RowInfoArray,
> -                        &RowInfoArraySize,
> -                        NULL
> -                        );
> -
> -    if (!EFI_ERROR (Status)) {
> -      ASSERT (RowInfoArray != NULL);
> -      //
> -      // Explicit Line break characters are ignored, so the updated 
> parameter RowInfoArraySize by StringToImage will
> -      // always be 1 or 0 (if there is no valid Unicode Char can be 
> printed). ASSERT here to make sure.
> -      //
> -      ASSERT (RowInfoArraySize <= 1);
> -
> -      if (RowInfoArraySize != 0) {
> -        Width  = RowInfoArray[0].LineWidth;
> -        Height = RowInfoArray[0].LineHeight;
> -        Delta  = Blt->Width * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
> -      } else {
> -        Width  = 0;
> -        Height = 0;
> -        Delta  = 0;
> -      }
> -
> -      Status = UgaDraw->Blt (
> -                          UgaDraw,
> -                          (EFI_UGA_PIXEL *)Blt->Image.Bitmap,
> -                          EfiUgaBltBufferToVideo,
> -                          PointX,
> -                          PointY,
> -                          PointX,
> -                          PointY,
> -                          Width,
> -                          Height,
> -                          Delta
> -                          );
> -    } else {
> -      goto Error;
> -    }
> -
> -    FreePool (Blt->Image.Bitmap);
>    } else {
>      goto Error;
>    }
> diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc
> index 3d8874e64782..e67d4716df21 100644
> --- a/MdePkg/MdePkg.dsc
> +++ b/MdePkg/MdePkg.dsc
> @@ -23,9 +23,6 @@
> 
>  !include MdePkg/MdeLibs.dsc.inc
> 
> -[PcdsFeatureFlag]
> -  gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport|TRUE
> -
>  [PcdsFixedAtBuild]
>    gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f
>    gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
> --
> 2.26.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#91417): https://edk2.groups.io/g/devel/message/91417
Mute This Topic: https://groups.io/mt/92393226/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to