[edk2-devel] [Patch v2 04/11] EmulatorPkg: Remove All UGA Support

Guomin Jiang posted 11 patches 3 years, 6 months ago
[edk2-devel] [Patch v2 04/11] EmulatorPkg: Remove All UGA Support
Posted by Guomin Jiang 3 years, 6 months ago
From: GuoMinJ <newexplorerj@gmail.com>

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2368

Remove All UGA Support in EmulatorPkg.

Signed-off-by: Guomin Jiang <guomin.jiang@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Ray Ni <ray.ni@intel.com>
---
 EmulatorPkg/EmuGopDxe/Gop.h                   | 10 +--
 EmulatorPkg/EmuGopDxe/GopScreen.c             | 14 ++--
 EmulatorPkg/Include/Protocol/EmuFileSystem.h  | 24 +++---
 .../Include/Protocol/EmuGraphicsWindow.h      | 18 ++--
 .../Library/PlatformBmLib/PlatformBm.h        |  4 +-
 .../Library/PlatformBmLib/PlatformBmData.c    |  6 +-
 EmulatorPkg/Unix/Host/Gasket.h                | 12 +--
 EmulatorPkg/Unix/Host/Host.h                  |  3 +-
 EmulatorPkg/Unix/Host/Ia32/Gasket.S           |  2 +-
 EmulatorPkg/Unix/Host/X11GraphicsWindow.c     | 82 +++++++++----------
 EmulatorPkg/Unix/Host/X64/Gasket.S            |  2 +-
 EmulatorPkg/Win/Host/WinGopScreen.c           | 10 +--
 12 files changed, 92 insertions(+), 95 deletions(-)

diff --git a/EmulatorPkg/EmuGopDxe/Gop.h b/EmulatorPkg/EmuGopDxe/Gop.h
index 7f7dc4e8eb9f..59ebfda912eb 100644
--- a/EmulatorPkg/EmuGopDxe/Gop.h
+++ b/EmulatorPkg/EmuGopDxe/Gop.h
@@ -1,13 +1,13 @@
 /*++ @file
 
-Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
 Portions copyright (c) 2010,Apple Inc. All rights reserved.<BR>
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
 
-#ifndef __UGA_H_
-#define __UGA_H_
+#ifndef GOP_H_
+#define GOP_H_
 
 #include <PiDxe.h>
 
@@ -60,8 +60,6 @@ typedef struct {
 extern EFI_DRIVER_BINDING_PROTOCOL  gEmuGopDriverBinding;
 extern EFI_COMPONENT_NAME_PROTOCOL  gEmuGopComponentName;
 
-#define EMU_UGA_CLASS_NAME  L"EmuGopWindow"
-
 #define GOP_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('G', 'o', 'p', 'N')
 typedef struct {
   UINT64                               Signature;
@@ -83,7 +81,7 @@ typedef struct {
   GOP_MODE_DATA                        *ModeData;
 
   //
-  // UGA Private Data knowing when to start hardware
+  // Private Data knowing when to start hardware
   //
   BOOLEAN                              HardwareNeedsStarting;
 
diff --git a/EmulatorPkg/EmuGopDxe/GopScreen.c b/EmulatorPkg/EmuGopDxe/GopScreen.c
index 88d95b88e162..113b496861b4 100644
--- a/EmulatorPkg/EmuGopDxe/GopScreen.c
+++ b/EmulatorPkg/EmuGopDxe/GopScreen.c
@@ -10,7 +10,7 @@ Module Name:
 
 Abstract:
 
-  This file produces the graphics abstration of UGA. It is called by
+  This file produces the graphics abstration of GOP. It is called by
   EmuGopDriver.c file which deals with the EFI 1.1 driver model.
   This file just does graphics.
 
@@ -209,7 +209,7 @@ EmuGopBlt (
   // the number of bytes in each row can be computed.
   //
   if (Delta == 0) {
-    Delta = Width * sizeof (EFI_UGA_PIXEL);
+    Delta = Width * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
   }
 
   //
@@ -220,8 +220,8 @@ EmuGopBlt (
   OriginalTPL = gBS->RaiseTPL (TPL_NOTIFY);
 
   //
-  // Pack UGA Draw protocol parameters to EMU_GRAPHICS_WINDOWS__BLT_ARGS structure to adapt to
-  // GopBlt() API of Unix UGA IO protocol.
+  // Pack GOP protocol parameters to EMU_GRAPHICS_WINDOWS__BLT_ARGS structure to adapt to
+  // GopBlt() API of GOP protocol.
   //
   GopBltArgs.DestinationX = DestinationX;
   GopBltArgs.DestinationY = DestinationY;
@@ -232,8 +232,8 @@ EmuGopBlt (
   GopBltArgs.Delta        = Delta;
   Status                  = Private->EmuGraphicsWindow->Blt (
                                                           Private->EmuGraphicsWindow,
-                                                          (EFI_UGA_PIXEL *)BltBuffer,
-                                                          (EFI_UGA_BLT_OPERATION)BltOperation,
+                                                          BltBuffer,
+                                                          BltOperation,
                                                           &GopBltArgs
                                                           );
 
@@ -384,7 +384,7 @@ ShutdownGopEvent (
 
 Routine Description:
 
-  This is the UGA screen's callback notification function for exit-boot-services.
+  This is the screen's callback notification function for exit-boot-services.
   All we do here is call EmuGopDestructor().
 
 Arguments:
diff --git a/EmulatorPkg/Include/Protocol/EmuFileSystem.h b/EmulatorPkg/Include/Protocol/EmuFileSystem.h
index 15de43ac022e..062508fafc9d 100644
--- a/EmulatorPkg/Include/Protocol/EmuFileSystem.h
+++ b/EmulatorPkg/Include/Protocol/EmuFileSystem.h
@@ -7,19 +7,19 @@
 
   UEFI 2.0 can boot from any valid EFI image contained in a SimpleFileSystem.
 
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
 Portions copyright (c) 2011, Apple Inc. All rights reserved.
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
 
-#ifndef _EMU_UGA_IO_H_
-#define _EMU_UGA_IO_H_
+#ifndef EMU_GRAPHICS_WINDOW_H_
+#define EMU_GRAPHICS_WINDOW_H_
 
 #include <Protocol/SimplePointer.h>
 #include <Protocol/SimpleTextIn.h>
 #include <Protocol/SimpleTextInEx.h>
-#include <Protocol/UgaDraw.h>
+#include <Protocol/GraphicsOutput.h>
 
 #define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \
  { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8, 0xCA, 0xC1 } }
@@ -29,13 +29,13 @@ typedef struct _EMU_GRAPHICS_WINDOW_PROTOCOL EMU_GRAPHICS_WINDOW_PROTOCOL;
 typedef
 EFI_STATUS
 (EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(
-  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
+  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows
   );
 
 typedef
 EFI_STATUS
 (EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(
-  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
+  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindows,
   UINT32                        Width,
   UINT32                        Height
   );
@@ -43,13 +43,13 @@ EFI_STATUS
 typedef
 EFI_STATUS
 (EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(
-  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
+  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows
   );
 
 typedef
 EFI_STATUS
 (EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(
-  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
+  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindows,
   EFI_KEY_DATA                  *key
   );
 
@@ -88,10 +88,10 @@ typedef struct {
 typedef
 EFI_STATUS
 (EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(
-  IN  EMU_GRAPHICS_WINDOW_PROTOCOL            *GraphicsWindows,
-  IN  EFI_UGA_PIXEL                           *BltBuffer OPTIONAL,
-  IN  EFI_UGA_BLT_OPERATION                   BltOperation,
-  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS          *Args
+  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsWindows,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
+  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
   );
 
 typedef
diff --git a/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h b/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
index 7c495b25eb1b..ed7b71611f90 100644
--- a/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
+++ b/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
@@ -6,13 +6,13 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
 
-#ifndef _EMU_UGA_IO_H_
-#define _EMU_UGA_IO_H_
+#ifndef EMU_GRAPHICS_WINDOW_H_
+#define EMU_GRAPHICS_WINDOW_H_
 
 #include <Protocol/SimplePointer.h>
 #include <Protocol/SimpleTextIn.h>
 #include <Protocol/SimpleTextInEx.h>
-#include <Protocol/UgaDraw.h>
+#include <Protocol/GraphicsOutput.h>
 
 #define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \
  { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8, 0xCA, 0xC1 } }
@@ -22,13 +22,13 @@ typedef struct _EMU_GRAPHICS_WINDOW_PROTOCOL EMU_GRAPHICS_WINDOW_PROTOCOL;
 typedef
 EFI_STATUS
 (EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(
-  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
+  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindow
   );
 
 typedef
 EFI_STATUS
 (EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(
-  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
+  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindow,
   UINT32                        Width,
   UINT32                        Height
   );
@@ -36,13 +36,13 @@ EFI_STATUS
 typedef
 EFI_STATUS
 (EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(
-  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
+  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindow
   );
 
 typedef
 EFI_STATUS
 (EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(
-  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
+  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindow,
   EFI_KEY_DATA                  *key
   );
 
@@ -83,8 +83,8 @@ typedef
 EFI_STATUS
 (EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(
   IN  EMU_GRAPHICS_WINDOW_PROTOCOL            *GraphicsWindows,
-  IN  EFI_UGA_PIXEL                           *BltBuffer OPTIONAL,
-  IN  EFI_UGA_BLT_OPERATION                   BltOperation,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL           *BltBuffer OPTIONAL,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION       BltOperation,
   IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS          *Args
   );
 
diff --git a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
index b89ffd77e4de..462049e2b048 100644
--- a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
+++ b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
@@ -1,6 +1,6 @@
 /*++ @file
 
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
 Portions copyright (c) 2011, Apple Inc. All rights reserved.
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -60,7 +60,7 @@ typedef struct {
   EMU_VENDOR_DEVICE_PATH_NODE    EmuBus;
   EMU_VENDOR_DEVICE_PATH_NODE    EmuGraphicsWindow;
   EFI_DEVICE_PATH_PROTOCOL       End;
-} EMU_PLATFORM_UGA_DEVICE_PATH;
+} EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH;
 
 //
 // Platform BDS Functions
diff --git a/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c b/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
index efb03def37eb..b69c4728d1a7 100644
--- a/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
+++ b/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
@@ -1,6 +1,6 @@
 /*++ @file
 
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
 Portions copyright (c) 2011, Apple Inc. All rights reserved.
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -8,7 +8,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 #include "PlatformBm.h"
 
-EMU_PLATFORM_UGA_DEVICE_PATH  gGopDevicePath = {
+EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH  gGopDevicePath = {
   {
     {
       {
@@ -40,7 +40,7 @@ EMU_PLATFORM_UGA_DEVICE_PATH  gGopDevicePath = {
   gEndEntire
 };
 
-EMU_PLATFORM_UGA_DEVICE_PATH  gGopDevicePath2 = {
+EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH  gGopDevicePath2 = {
   {
     {
       {
diff --git a/EmulatorPkg/Unix/Host/Gasket.h b/EmulatorPkg/Unix/Host/Gasket.h
index 6dafc903cfce..1ffdfb334524 100644
--- a/EmulatorPkg/Unix/Host/Gasket.h
+++ b/EmulatorPkg/Unix/Host/Gasket.h
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
-  Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2011 - 2022, Intel Corporation. All rights reserved.<BR>
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -200,7 +200,7 @@ ReverseGasketUint64Uint64 (
   );
 
 //
-// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
+// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
 //
 
 EFI_STATUS
@@ -243,10 +243,10 @@ GasketX11RegisterKeyNotify (
 EFI_STATUS
 EFIAPI
 GasketX11Blt (
-  IN  EMU_GRAPHICS_WINDOW_PROTOCOL    *GraphicsWindows,
-  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
-  IN  EFI_UGA_BLT_OPERATION           BltOperation,
-  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
+  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsWindows,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
+  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
   );
 
 EFI_STATUS
diff --git a/EmulatorPkg/Unix/Host/Host.h b/EmulatorPkg/Unix/Host/Host.h
index 0c81cdfc01f5..ff30f5dce567 100644
--- a/EmulatorPkg/Unix/Host/Host.h
+++ b/EmulatorPkg/Unix/Host/Host.h
@@ -1,6 +1,6 @@
 /*++ @file
 
-Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
 Portions copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
 
 SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -106,7 +106,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #include <Protocol/SimplePointer.h>
 #include <Protocol/SimpleTextIn.h>
 #include <Protocol/SimpleTextInEx.h>
-#include <Protocol/UgaDraw.h>
 #include <Protocol/SimpleFileSystem.h>
 
 #include <Protocol/EmuThunk.h>
diff --git a/EmulatorPkg/Unix/Host/Ia32/Gasket.S b/EmulatorPkg/Unix/Host/Ia32/Gasket.S
index 36197ff26028..6fcdd265cf30 100644
--- a/EmulatorPkg/Unix/Host/Ia32/Gasket.S
+++ b/EmulatorPkg/Unix/Host/Ia32/Gasket.S
@@ -371,7 +371,7 @@ ASM_PFX(GasketSecEmuThunkAddress):
   ret
 
 //
-// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
+// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
 //
 
 ASM_GLOBAL ASM_PFX(GasketX11Size)
diff --git a/EmulatorPkg/Unix/Host/X11GraphicsWindow.c b/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
index a30cc19dbe0a..b3880e198855 100644
--- a/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
+++ b/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
@@ -1,6 +1,6 @@
 /*++ @file
 
-Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2022, Intel Corporation. All rights reserved.<BR>
 Portions copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
 
 SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -700,8 +700,8 @@ HandleEvents (
 
 unsigned long
 X11PixelToColor (
-  IN  GRAPHICS_IO_PRIVATE  *Drv,
-  IN  EFI_UGA_PIXEL        pixel
+  IN  GRAPHICS_IO_PRIVATE            *Drv,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  pixel
   )
 {
   return ((pixel.Red   >> Drv->r.csize) << Drv->r.shift)
@@ -709,15 +709,15 @@ X11PixelToColor (
          | ((pixel.Blue  >> Drv->b.csize) << Drv->b.shift);
 }
 
-EFI_UGA_PIXEL
+EFI_GRAPHICS_OUTPUT_BLT_PIXEL
 X11ColorToPixel (
   IN  GRAPHICS_IO_PRIVATE  *Drv,
   IN  unsigned long        val
   )
 {
-  EFI_UGA_PIXEL  Pixel;
+  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  Pixel;
 
-  memset (&Pixel, 0, sizeof (EFI_UGA_PIXEL));
+  memset (&Pixel, 0, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
 
   // Truncation not an issue since X11 and EFI are both using 8 bits per color
   Pixel.Red   =   (val >> Drv->r.shift) << Drv->r.csize;
@@ -782,7 +782,7 @@ X11KeySetState (
     if ((Drv->KeyState.KeyToggleState & EFI_CAPS_LOCK_ACTIVE) == 0) {
       //
       // We could create an XKeyEvent and send a XK_Caps_Lock to
-      // the UGA/GOP Window
+      // the GOP Window
       //
     }
   }
@@ -812,32 +812,32 @@ X11RegisterKeyNotify (
 
 EFI_STATUS
 X11Blt (
-  IN EMU_GRAPHICS_WINDOW_PROTOCOL     *GraphicsIo,
-  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
-  IN  EFI_UGA_BLT_OPERATION           BltOperation,
-  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
+  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsIo,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
+  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
   )
 {
-  GRAPHICS_IO_PRIVATE  *Private;
-  UINTN                DstY;
-  UINTN                SrcY;
-  UINTN                DstX;
-  UINTN                SrcX;
-  UINTN                Index;
-  EFI_UGA_PIXEL        *Blt;
-  UINT8                *Dst;
-  UINT8                *Src;
-  UINTN                Nbr;
-  unsigned long        Color;
-  XEvent               ev;
+  GRAPHICS_IO_PRIVATE            *Private;
+  UINTN                          DstY;
+  UINTN                          SrcY;
+  UINTN                          DstX;
+  UINTN                          SrcX;
+  UINTN                          Index;
+  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  *Blt;
+  UINT8                          *Dst;
+  UINT8                          *Src;
+  UINTN                          Nbr;
+  unsigned long                  Color;
+  XEvent                         ev;
 
   Private = (GRAPHICS_IO_PRIVATE *)GraphicsIo;
 
   //
   //  Check bounds
   //
-  if (  (BltOperation == EfiUgaVideoToBltBuffer)
-     || (BltOperation == EfiUgaVideoToVideo))
+  if (  (BltOperation == EfiBltVideoToBltBuffer)
+     || (BltOperation == EfiBltVideoToVideo))
   {
     //
     // Source is Video.
@@ -851,9 +851,9 @@ X11Blt (
     }
   }
 
-  if (  (BltOperation == EfiUgaBltBufferToVideo)
-     || (BltOperation == EfiUgaVideoToVideo)
-     || (BltOperation == EfiUgaVideoFill))
+  if (  (BltOperation == EfiBltBufferToVideo)
+     || (BltOperation == EfiBltVideoToVideo)
+     || (BltOperation == EfiBltVideoFill))
   {
     //
     // Destination is Video
@@ -868,32 +868,32 @@ X11Blt (
   }
 
   switch (BltOperation) {
-    case EfiUgaVideoToBltBuffer:
-      Blt          = (EFI_UGA_PIXEL *)((UINT8 *)BltBuffer + (Args->DestinationY * Args->Delta) + Args->DestinationX * sizeof (EFI_UGA_PIXEL));
-      Args->Delta -= Args->Width * sizeof (EFI_UGA_PIXEL);
+    case EfiBltVideoToBltBuffer:
+      Blt          = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)BltBuffer + (Args->DestinationY * Args->Delta) + Args->DestinationX * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
+      Args->Delta -= Args->Width * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
       for (SrcY = Args->SourceY; SrcY < (Args->Height + Args->SourceY); SrcY++) {
         for (SrcX = Args->SourceX; SrcX < (Args->Width + Args->SourceX); SrcX++) {
           *Blt++ = X11ColorToPixel (Private, XGetPixel (Private->image, SrcX, SrcY));
         }
 
-        Blt = (EFI_UGA_PIXEL *)((UINT8 *)Blt + Args->Delta);
+        Blt = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)Blt + Args->Delta);
       }
 
       break;
-    case EfiUgaBltBufferToVideo:
-      Blt          = (EFI_UGA_PIXEL *)((UINT8 *)BltBuffer + (Args->SourceY * Args->Delta) + Args->SourceX * sizeof (EFI_UGA_PIXEL));
-      Args->Delta -= Args->Width * sizeof (EFI_UGA_PIXEL);
+    case EfiBltBufferToVideo:
+      Blt          = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)BltBuffer + (Args->SourceY * Args->Delta) + Args->SourceX * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
+      Args->Delta -= Args->Width * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
       for (DstY = Args->DestinationY; DstY < (Args->Height + Args->DestinationY); DstY++) {
         for (DstX = Args->DestinationX; DstX < (Args->Width + Args->DestinationX); DstX++) {
           XPutPixel (Private->image, DstX, DstY, X11PixelToColor (Private, *Blt));
           Blt++;
         }
 
-        Blt = (EFI_UGA_PIXEL *)((UINT8 *)Blt + Args->Delta);
+        Blt = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)Blt + Args->Delta);
       }
 
       break;
-    case EfiUgaVideoToVideo:
+    case EfiBltVideoToVideo:
       Dst = Private->image_data + (Args->DestinationX << Private->pixel_shift)
             + Args->DestinationY * Private->line_bytes;
       Src = Private->image_data + (Args->SourceX << Private->pixel_shift)
@@ -920,7 +920,7 @@ X11Blt (
       }
 
       break;
-    case EfiUgaVideoFill:
+    case EfiBltVideoFill:
       Color = X11PixelToColor (Private, *BltBuffer);
       for (DstY = Args->DestinationY; DstY < (Args->Height + Args->DestinationY); DstY++) {
         for (DstX = Args->DestinationX; DstX < (Args->Width + Args->DestinationX); DstX++) {
@@ -937,7 +937,7 @@ X11Blt (
   //  Refresh screen.
   //
   switch (BltOperation) {
-    case EfiUgaVideoToVideo:
+    case EfiBltVideoToVideo:
       XCopyArea (
         Private->display,
         Private->win,
@@ -960,7 +960,7 @@ X11Blt (
       }
 
       break;
-    case EfiUgaVideoFill:
+    case EfiBltVideoFill:
       Color = X11PixelToColor (Private, *BltBuffer);
       XSetForeground (Private->display, Private->gc, Color);
       XFillRectangle (
@@ -974,7 +974,7 @@ X11Blt (
         );
       XFlush (Private->display);
       break;
-    case EfiUgaBltBufferToVideo:
+    case EfiBltBufferToVideo:
       Redraw (Private, Args->DestinationX, Args->DestinationY, Args->Width, Args->Height);
       break;
     default:
diff --git a/EmulatorPkg/Unix/Host/X64/Gasket.S b/EmulatorPkg/Unix/Host/X64/Gasket.S
index 030faa8e4c36..1b4614ab618d 100644
--- a/EmulatorPkg/Unix/Host/X64/Gasket.S
+++ b/EmulatorPkg/Unix/Host/X64/Gasket.S
@@ -427,7 +427,7 @@ ASM_PFX(GasketSecEmuThunkAddress):
   ret
 
 //
-// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
+// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
 //
 
 ASM_GLOBAL ASM_PFX(GasketX11Size)
diff --git a/EmulatorPkg/Win/Host/WinGopScreen.c b/EmulatorPkg/Win/Host/WinGopScreen.c
index 661573d7771c..69abcfc79564 100644
--- a/EmulatorPkg/Win/Host/WinGopScreen.c
+++ b/EmulatorPkg/Win/Host/WinGopScreen.c
@@ -1,6 +1,6 @@
 /** @file
 
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 Module Name:
@@ -396,10 +396,10 @@ WinNtWndSize (
 // TODO:    Delta - add argument and description to function comment
 EFI_STATUS
 WinNtWndBlt (
-  IN  EMU_GRAPHICS_WINDOW_PROTOCOL    *GraphicsIo,
-  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
-  IN  EFI_UGA_BLT_OPERATION           BltOperation,
-  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
+  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsIo,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
+  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
   )
 {
   RETURN_STATUS          RStatus;
-- 
2.26.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#91399): https://edk2.groups.io/g/devel/message/91399
Mute This Topic: https://groups.io/mt/92393247/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [Patch v2 04/11] EmulatorPkg: Remove All UGA Support
Posted by Ni, Ray 3 years, 6 months ago
Guomin,
Did you try booting the Emulator Win and Linux with this change?

> -----Original Message-----
> From: Jiang, Guomin <guomin.jiang@intel.com>
> Sent: Friday, July 15, 2022 9:51 AM
> To: devel@edk2.groups.io
> Cc: GuoMinJ <newexplorerj@gmail.com>; Andrew Fish <afish@apple.com>; Ni, Ray <ray.ni@intel.com>
> Subject: [Patch v2 04/11] EmulatorPkg: Remove All UGA Support
> 
> From: GuoMinJ <newexplorerj@gmail.com>
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2368
> 
> Remove All UGA Support in EmulatorPkg.
> 
> Signed-off-by: Guomin Jiang <guomin.jiang@intel.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Ray Ni <ray.ni@intel.com>
> ---
>  EmulatorPkg/EmuGopDxe/Gop.h                   | 10 +--
>  EmulatorPkg/EmuGopDxe/GopScreen.c             | 14 ++--
>  EmulatorPkg/Include/Protocol/EmuFileSystem.h  | 24 +++---
>  .../Include/Protocol/EmuGraphicsWindow.h      | 18 ++--
>  .../Library/PlatformBmLib/PlatformBm.h        |  4 +-
>  .../Library/PlatformBmLib/PlatformBmData.c    |  6 +-
>  EmulatorPkg/Unix/Host/Gasket.h                | 12 +--
>  EmulatorPkg/Unix/Host/Host.h                  |  3 +-
>  EmulatorPkg/Unix/Host/Ia32/Gasket.S           |  2 +-
>  EmulatorPkg/Unix/Host/X11GraphicsWindow.c     | 82 +++++++++----------
>  EmulatorPkg/Unix/Host/X64/Gasket.S            |  2 +-
>  EmulatorPkg/Win/Host/WinGopScreen.c           | 10 +--
>  12 files changed, 92 insertions(+), 95 deletions(-)
> 
> diff --git a/EmulatorPkg/EmuGopDxe/Gop.h b/EmulatorPkg/EmuGopDxe/Gop.h
> index 7f7dc4e8eb9f..59ebfda912eb 100644
> --- a/EmulatorPkg/EmuGopDxe/Gop.h
> +++ b/EmulatorPkg/EmuGopDxe/Gop.h
> @@ -1,13 +1,13 @@
>  /*++ @file
> 
> -Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
>  Portions copyright (c) 2010,Apple Inc. All rights reserved.<BR>
>  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> 
> -#ifndef __UGA_H_
> -#define __UGA_H_
> +#ifndef GOP_H_
> +#define GOP_H_
> 
>  #include <PiDxe.h>
> 
> @@ -60,8 +60,6 @@ typedef struct {
>  extern EFI_DRIVER_BINDING_PROTOCOL  gEmuGopDriverBinding;
>  extern EFI_COMPONENT_NAME_PROTOCOL  gEmuGopComponentName;
> 
> -#define EMU_UGA_CLASS_NAME  L"EmuGopWindow"
> -
>  #define GOP_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('G', 'o', 'p', 'N')
>  typedef struct {
>    UINT64                               Signature;
> @@ -83,7 +81,7 @@ typedef struct {
>    GOP_MODE_DATA                        *ModeData;
> 
>    //
> -  // UGA Private Data knowing when to start hardware
> +  // Private Data knowing when to start hardware
>    //
>    BOOLEAN                              HardwareNeedsStarting;
> 
> diff --git a/EmulatorPkg/EmuGopDxe/GopScreen.c b/EmulatorPkg/EmuGopDxe/GopScreen.c
> index 88d95b88e162..113b496861b4 100644
> --- a/EmulatorPkg/EmuGopDxe/GopScreen.c
> +++ b/EmulatorPkg/EmuGopDxe/GopScreen.c
> @@ -10,7 +10,7 @@ Module Name:
> 
>  Abstract:
> 
> -  This file produces the graphics abstration of UGA. It is called by
> +  This file produces the graphics abstration of GOP. It is called by
>    EmuGopDriver.c file which deals with the EFI 1.1 driver model.
>    This file just does graphics.
> 
> @@ -209,7 +209,7 @@ EmuGopBlt (
>    // the number of bytes in each row can be computed.
>    //
>    if (Delta == 0) {
> -    Delta = Width * sizeof (EFI_UGA_PIXEL);
> +    Delta = Width * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
>    }
> 
>    //
> @@ -220,8 +220,8 @@ EmuGopBlt (
>    OriginalTPL = gBS->RaiseTPL (TPL_NOTIFY);
> 
>    //
> -  // Pack UGA Draw protocol parameters to EMU_GRAPHICS_WINDOWS__BLT_ARGS structure to adapt to
> -  // GopBlt() API of Unix UGA IO protocol.
> +  // Pack GOP protocol parameters to EMU_GRAPHICS_WINDOWS__BLT_ARGS structure to adapt to
> +  // GopBlt() API of GOP protocol.
>    //
>    GopBltArgs.DestinationX = DestinationX;
>    GopBltArgs.DestinationY = DestinationY;
> @@ -232,8 +232,8 @@ EmuGopBlt (
>    GopBltArgs.Delta        = Delta;
>    Status                  = Private->EmuGraphicsWindow->Blt (
>                                                            Private->EmuGraphicsWindow,
> -                                                          (EFI_UGA_PIXEL *)BltBuffer,
> -                                                          (EFI_UGA_BLT_OPERATION)BltOperation,
> +                                                          BltBuffer,
> +                                                          BltOperation,
>                                                            &GopBltArgs
>                                                            );
> 
> @@ -384,7 +384,7 @@ ShutdownGopEvent (
> 
>  Routine Description:
> 
> -  This is the UGA screen's callback notification function for exit-boot-services.
> +  This is the screen's callback notification function for exit-boot-services.
>    All we do here is call EmuGopDestructor().
> 
>  Arguments:
> diff --git a/EmulatorPkg/Include/Protocol/EmuFileSystem.h b/EmulatorPkg/Include/Protocol/EmuFileSystem.h
> index 15de43ac022e..062508fafc9d 100644
> --- a/EmulatorPkg/Include/Protocol/EmuFileSystem.h
> +++ b/EmulatorPkg/Include/Protocol/EmuFileSystem.h
> @@ -7,19 +7,19 @@
> 
>    UEFI 2.0 can boot from any valid EFI image contained in a SimpleFileSystem.
> 
> -Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
>  Portions copyright (c) 2011, Apple Inc. All rights reserved.
>  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> 
> -#ifndef _EMU_UGA_IO_H_
> -#define _EMU_UGA_IO_H_
> +#ifndef EMU_GRAPHICS_WINDOW_H_
> +#define EMU_GRAPHICS_WINDOW_H_
> 
>  #include <Protocol/SimplePointer.h>
>  #include <Protocol/SimpleTextIn.h>
>  #include <Protocol/SimpleTextInEx.h>
> -#include <Protocol/UgaDraw.h>
> +#include <Protocol/GraphicsOutput.h>
> 
>  #define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \
>   { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8, 0xCA, 0xC1 } }
> @@ -29,13 +29,13 @@ typedef struct _EMU_GRAPHICS_WINDOW_PROTOCOL EMU_GRAPHICS_WINDOW_PROTOCOL;
>  typedef
>  EFI_STATUS
>  (EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(
> -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows
>    );
> 
>  typedef
>  EFI_STATUS
>  (EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(
> -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindows,
>    UINT32                        Width,
>    UINT32                        Height
>    );
> @@ -43,13 +43,13 @@ EFI_STATUS
>  typedef
>  EFI_STATUS
>  (EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(
> -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows
>    );
> 
>  typedef
>  EFI_STATUS
>  (EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(
> -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindows,
>    EFI_KEY_DATA                  *key
>    );
> 
> @@ -88,10 +88,10 @@ typedef struct {
>  typedef
>  EFI_STATUS
>  (EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(
> -  IN  EMU_GRAPHICS_WINDOW_PROTOCOL            *GraphicsWindows,
> -  IN  EFI_UGA_PIXEL                           *BltBuffer OPTIONAL,
> -  IN  EFI_UGA_BLT_OPERATION                   BltOperation,
> -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS          *Args
> +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsWindows,
> +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
>    );
> 
>  typedef
> diff --git a/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> b/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> index 7c495b25eb1b..ed7b71611f90 100644
> --- a/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> +++ b/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> @@ -6,13 +6,13 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> 
> -#ifndef _EMU_UGA_IO_H_
> -#define _EMU_UGA_IO_H_
> +#ifndef EMU_GRAPHICS_WINDOW_H_
> +#define EMU_GRAPHICS_WINDOW_H_
> 
>  #include <Protocol/SimplePointer.h>
>  #include <Protocol/SimpleTextIn.h>
>  #include <Protocol/SimpleTextInEx.h>
> -#include <Protocol/UgaDraw.h>
> +#include <Protocol/GraphicsOutput.h>
> 
>  #define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \
>   { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8, 0xCA, 0xC1 } }
> @@ -22,13 +22,13 @@ typedef struct _EMU_GRAPHICS_WINDOW_PROTOCOL EMU_GRAPHICS_WINDOW_PROTOCOL;
>  typedef
>  EFI_STATUS
>  (EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(
> -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindow
>    );
> 
>  typedef
>  EFI_STATUS
>  (EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(
> -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindow,
>    UINT32                        Width,
>    UINT32                        Height
>    );
> @@ -36,13 +36,13 @@ EFI_STATUS
>  typedef
>  EFI_STATUS
>  (EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(
> -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindow
>    );
> 
>  typedef
>  EFI_STATUS
>  (EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(
> -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindow,
>    EFI_KEY_DATA                  *key
>    );
> 
> @@ -83,8 +83,8 @@ typedef
>  EFI_STATUS
>  (EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(
>    IN  EMU_GRAPHICS_WINDOW_PROTOCOL            *GraphicsWindows,
> -  IN  EFI_UGA_PIXEL                           *BltBuffer OPTIONAL,
> -  IN  EFI_UGA_BLT_OPERATION                   BltOperation,
> +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL           *BltBuffer OPTIONAL,
> +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION       BltOperation,
>    IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS          *Args
>    );
> 
> diff --git a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
> index b89ffd77e4de..462049e2b048 100644
> --- a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
> +++ b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
> @@ -1,6 +1,6 @@
>  /*++ @file
> 
> -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
>  Portions copyright (c) 2011, Apple Inc. All rights reserved.
>  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> @@ -60,7 +60,7 @@ typedef struct {
>    EMU_VENDOR_DEVICE_PATH_NODE    EmuBus;
>    EMU_VENDOR_DEVICE_PATH_NODE    EmuGraphicsWindow;
>    EFI_DEVICE_PATH_PROTOCOL       End;
> -} EMU_PLATFORM_UGA_DEVICE_PATH;
> +} EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH;
> 
>  //
>  // Platform BDS Functions
> diff --git a/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> b/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> index efb03def37eb..b69c4728d1a7 100644
> --- a/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> +++ b/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> @@ -1,6 +1,6 @@
>  /*++ @file
> 
> -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
>  Portions copyright (c) 2011, Apple Inc. All rights reserved.
>  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> @@ -8,7 +8,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  #include "PlatformBm.h"
> 
> -EMU_PLATFORM_UGA_DEVICE_PATH  gGopDevicePath = {
> +EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH  gGopDevicePath = {
>    {
>      {
>        {
> @@ -40,7 +40,7 @@ EMU_PLATFORM_UGA_DEVICE_PATH  gGopDevicePath = {
>    gEndEntire
>  };
> 
> -EMU_PLATFORM_UGA_DEVICE_PATH  gGopDevicePath2 = {
> +EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH  gGopDevicePath2 = {
>    {
>      {
>        {
> diff --git a/EmulatorPkg/Unix/Host/Gasket.h b/EmulatorPkg/Unix/Host/Gasket.h
> index 6dafc903cfce..1ffdfb334524 100644
> --- a/EmulatorPkg/Unix/Host/Gasket.h
> +++ b/EmulatorPkg/Unix/Host/Gasket.h
> @@ -1,7 +1,7 @@
>  /** @file
> 
>    Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
> -  Copyright (c) 2011 - 2019, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2011 - 2022, Intel Corporation. All rights reserved.<BR>
> 
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> @@ -200,7 +200,7 @@ ReverseGasketUint64Uint64 (
>    );
> 
>  //
> -// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
> +// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
>  //
> 
>  EFI_STATUS
> @@ -243,10 +243,10 @@ GasketX11RegisterKeyNotify (
>  EFI_STATUS
>  EFIAPI
>  GasketX11Blt (
> -  IN  EMU_GRAPHICS_WINDOW_PROTOCOL    *GraphicsWindows,
> -  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
> -  IN  EFI_UGA_BLT_OPERATION           BltOperation,
> -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
> +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsWindows,
> +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
>    );
> 
>  EFI_STATUS
> diff --git a/EmulatorPkg/Unix/Host/Host.h b/EmulatorPkg/Unix/Host/Host.h
> index 0c81cdfc01f5..ff30f5dce567 100644
> --- a/EmulatorPkg/Unix/Host/Host.h
> +++ b/EmulatorPkg/Unix/Host/Host.h
> @@ -1,6 +1,6 @@
>  /*++ @file
> 
> -Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
>  Portions copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
> 
>  SPDX-License-Identifier: BSD-2-Clause-Patent
> @@ -106,7 +106,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
>  #include <Protocol/SimplePointer.h>
>  #include <Protocol/SimpleTextIn.h>
>  #include <Protocol/SimpleTextInEx.h>
> -#include <Protocol/UgaDraw.h>
>  #include <Protocol/SimpleFileSystem.h>
> 
>  #include <Protocol/EmuThunk.h>
> diff --git a/EmulatorPkg/Unix/Host/Ia32/Gasket.S b/EmulatorPkg/Unix/Host/Ia32/Gasket.S
> index 36197ff26028..6fcdd265cf30 100644
> --- a/EmulatorPkg/Unix/Host/Ia32/Gasket.S
> +++ b/EmulatorPkg/Unix/Host/Ia32/Gasket.S
> @@ -371,7 +371,7 @@ ASM_PFX(GasketSecEmuThunkAddress):
>    ret
> 
>  //
> -// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
> +// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
>  //
> 
>  ASM_GLOBAL ASM_PFX(GasketX11Size)
> diff --git a/EmulatorPkg/Unix/Host/X11GraphicsWindow.c b/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
> index a30cc19dbe0a..b3880e198855 100644
> --- a/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
> +++ b/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
> @@ -1,6 +1,6 @@
>  /*++ @file
> 
> -Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2004 - 2022, Intel Corporation. All rights reserved.<BR>
>  Portions copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
> 
>  SPDX-License-Identifier: BSD-2-Clause-Patent
> @@ -700,8 +700,8 @@ HandleEvents (
> 
>  unsigned long
>  X11PixelToColor (
> -  IN  GRAPHICS_IO_PRIVATE  *Drv,
> -  IN  EFI_UGA_PIXEL        pixel
> +  IN  GRAPHICS_IO_PRIVATE            *Drv,
> +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  pixel
>    )
>  {
>    return ((pixel.Red   >> Drv->r.csize) << Drv->r.shift)
> @@ -709,15 +709,15 @@ X11PixelToColor (
>           | ((pixel.Blue  >> Drv->b.csize) << Drv->b.shift);
>  }
> 
> -EFI_UGA_PIXEL
> +EFI_GRAPHICS_OUTPUT_BLT_PIXEL
>  X11ColorToPixel (
>    IN  GRAPHICS_IO_PRIVATE  *Drv,
>    IN  unsigned long        val
>    )
>  {
> -  EFI_UGA_PIXEL  Pixel;
> +  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  Pixel;
> 
> -  memset (&Pixel, 0, sizeof (EFI_UGA_PIXEL));
> +  memset (&Pixel, 0, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> 
>    // Truncation not an issue since X11 and EFI are both using 8 bits per color
>    Pixel.Red   =   (val >> Drv->r.shift) << Drv->r.csize;
> @@ -782,7 +782,7 @@ X11KeySetState (
>      if ((Drv->KeyState.KeyToggleState & EFI_CAPS_LOCK_ACTIVE) == 0) {
>        //
>        // We could create an XKeyEvent and send a XK_Caps_Lock to
> -      // the UGA/GOP Window
> +      // the GOP Window
>        //
>      }
>    }
> @@ -812,32 +812,32 @@ X11RegisterKeyNotify (
> 
>  EFI_STATUS
>  X11Blt (
> -  IN EMU_GRAPHICS_WINDOW_PROTOCOL     *GraphicsIo,
> -  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
> -  IN  EFI_UGA_BLT_OPERATION           BltOperation,
> -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
> +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsIo,
> +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
>    )
>  {
> -  GRAPHICS_IO_PRIVATE  *Private;
> -  UINTN                DstY;
> -  UINTN                SrcY;
> -  UINTN                DstX;
> -  UINTN                SrcX;
> -  UINTN                Index;
> -  EFI_UGA_PIXEL        *Blt;
> -  UINT8                *Dst;
> -  UINT8                *Src;
> -  UINTN                Nbr;
> -  unsigned long        Color;
> -  XEvent               ev;
> +  GRAPHICS_IO_PRIVATE            *Private;
> +  UINTN                          DstY;
> +  UINTN                          SrcY;
> +  UINTN                          DstX;
> +  UINTN                          SrcX;
> +  UINTN                          Index;
> +  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  *Blt;
> +  UINT8                          *Dst;
> +  UINT8                          *Src;
> +  UINTN                          Nbr;
> +  unsigned long                  Color;
> +  XEvent                         ev;
> 
>    Private = (GRAPHICS_IO_PRIVATE *)GraphicsIo;
> 
>    //
>    //  Check bounds
>    //
> -  if (  (BltOperation == EfiUgaVideoToBltBuffer)
> -     || (BltOperation == EfiUgaVideoToVideo))
> +  if (  (BltOperation == EfiBltVideoToBltBuffer)
> +     || (BltOperation == EfiBltVideoToVideo))
>    {
>      //
>      // Source is Video.
> @@ -851,9 +851,9 @@ X11Blt (
>      }
>    }
> 
> -  if (  (BltOperation == EfiUgaBltBufferToVideo)
> -     || (BltOperation == EfiUgaVideoToVideo)
> -     || (BltOperation == EfiUgaVideoFill))
> +  if (  (BltOperation == EfiBltBufferToVideo)
> +     || (BltOperation == EfiBltVideoToVideo)
> +     || (BltOperation == EfiBltVideoFill))
>    {
>      //
>      // Destination is Video
> @@ -868,32 +868,32 @@ X11Blt (
>    }
> 
>    switch (BltOperation) {
> -    case EfiUgaVideoToBltBuffer:
> -      Blt          = (EFI_UGA_PIXEL *)((UINT8 *)BltBuffer + (Args->DestinationY * Args->Delta) + Args->DestinationX * sizeof
> (EFI_UGA_PIXEL));
> -      Args->Delta -= Args->Width * sizeof (EFI_UGA_PIXEL);
> +    case EfiBltVideoToBltBuffer:
> +      Blt          = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)BltBuffer + (Args->DestinationY * Args->Delta) + Args-
> >DestinationX * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> +      Args->Delta -= Args->Width * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
>        for (SrcY = Args->SourceY; SrcY < (Args->Height + Args->SourceY); SrcY++) {
>          for (SrcX = Args->SourceX; SrcX < (Args->Width + Args->SourceX); SrcX++) {
>            *Blt++ = X11ColorToPixel (Private, XGetPixel (Private->image, SrcX, SrcY));
>          }
> 
> -        Blt = (EFI_UGA_PIXEL *)((UINT8 *)Blt + Args->Delta);
> +        Blt = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)Blt + Args->Delta);
>        }
> 
>        break;
> -    case EfiUgaBltBufferToVideo:
> -      Blt          = (EFI_UGA_PIXEL *)((UINT8 *)BltBuffer + (Args->SourceY * Args->Delta) + Args->SourceX * sizeof
> (EFI_UGA_PIXEL));
> -      Args->Delta -= Args->Width * sizeof (EFI_UGA_PIXEL);
> +    case EfiBltBufferToVideo:
> +      Blt          = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)BltBuffer + (Args->SourceY * Args->Delta) + Args-
> >SourceX * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> +      Args->Delta -= Args->Width * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
>        for (DstY = Args->DestinationY; DstY < (Args->Height + Args->DestinationY); DstY++) {
>          for (DstX = Args->DestinationX; DstX < (Args->Width + Args->DestinationX); DstX++) {
>            XPutPixel (Private->image, DstX, DstY, X11PixelToColor (Private, *Blt));
>            Blt++;
>          }
> 
> -        Blt = (EFI_UGA_PIXEL *)((UINT8 *)Blt + Args->Delta);
> +        Blt = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)Blt + Args->Delta);
>        }
> 
>        break;
> -    case EfiUgaVideoToVideo:
> +    case EfiBltVideoToVideo:
>        Dst = Private->image_data + (Args->DestinationX << Private->pixel_shift)
>              + Args->DestinationY * Private->line_bytes;
>        Src = Private->image_data + (Args->SourceX << Private->pixel_shift)
> @@ -920,7 +920,7 @@ X11Blt (
>        }
> 
>        break;
> -    case EfiUgaVideoFill:
> +    case EfiBltVideoFill:
>        Color = X11PixelToColor (Private, *BltBuffer);
>        for (DstY = Args->DestinationY; DstY < (Args->Height + Args->DestinationY); DstY++) {
>          for (DstX = Args->DestinationX; DstX < (Args->Width + Args->DestinationX); DstX++) {
> @@ -937,7 +937,7 @@ X11Blt (
>    //  Refresh screen.
>    //
>    switch (BltOperation) {
> -    case EfiUgaVideoToVideo:
> +    case EfiBltVideoToVideo:
>        XCopyArea (
>          Private->display,
>          Private->win,
> @@ -960,7 +960,7 @@ X11Blt (
>        }
> 
>        break;
> -    case EfiUgaVideoFill:
> +    case EfiBltVideoFill:
>        Color = X11PixelToColor (Private, *BltBuffer);
>        XSetForeground (Private->display, Private->gc, Color);
>        XFillRectangle (
> @@ -974,7 +974,7 @@ X11Blt (
>          );
>        XFlush (Private->display);
>        break;
> -    case EfiUgaBltBufferToVideo:
> +    case EfiBltBufferToVideo:
>        Redraw (Private, Args->DestinationX, Args->DestinationY, Args->Width, Args->Height);
>        break;
>      default:
> diff --git a/EmulatorPkg/Unix/Host/X64/Gasket.S b/EmulatorPkg/Unix/Host/X64/Gasket.S
> index 030faa8e4c36..1b4614ab618d 100644
> --- a/EmulatorPkg/Unix/Host/X64/Gasket.S
> +++ b/EmulatorPkg/Unix/Host/X64/Gasket.S
> @@ -427,7 +427,7 @@ ASM_PFX(GasketSecEmuThunkAddress):
>    ret
> 
>  //
> -// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
> +// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
>  //
> 
>  ASM_GLOBAL ASM_PFX(GasketX11Size)
> diff --git a/EmulatorPkg/Win/Host/WinGopScreen.c b/EmulatorPkg/Win/Host/WinGopScreen.c
> index 661573d7771c..69abcfc79564 100644
> --- a/EmulatorPkg/Win/Host/WinGopScreen.c
> +++ b/EmulatorPkg/Win/Host/WinGopScreen.c
> @@ -1,6 +1,6 @@
>  /** @file
> 
> -Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2006 - 2022, Intel Corporation. All rights reserved.<BR>
>  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  Module Name:
> @@ -396,10 +396,10 @@ WinNtWndSize (
>  // TODO:    Delta - add argument and description to function comment
>  EFI_STATUS
>  WinNtWndBlt (
> -  IN  EMU_GRAPHICS_WINDOW_PROTOCOL    *GraphicsIo,
> -  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
> -  IN  EFI_UGA_BLT_OPERATION           BltOperation,
> -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
> +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsIo,
> +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
>    )
>  {
>    RETURN_STATUS          RStatus;
> --
> 2.26.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#91405): https://edk2.groups.io/g/devel/message/91405
Mute This Topic: https://groups.io/mt/92393247/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [Patch v2 04/11] EmulatorPkg: Remove All UGA Support
Posted by Guomin Jiang 3 years, 6 months ago
Hi Ray,

I tried it yesterday

It can boot normally in Win Emulator.
But I encounter issues mentioned in https://bugzilla.tianocore.org/show_bug.cgi?id=2639 in Unix. I think it is not related to this change.

Thanks
Guomin
> -----Original Message-----
> From: Ni, Ray <ray.ni@intel.com>
> Sent: Friday, July 15, 2022 10:23 AM
> To: Jiang, Guomin <guomin.jiang@intel.com>; devel@edk2.groups.io
> Cc: GuoMinJ <newexplorerj@gmail.com>; Andrew Fish <afish@apple.com>
> Subject: RE: [Patch v2 04/11] EmulatorPkg: Remove All UGA Support
> 
> Guomin,
> Did you try booting the Emulator Win and Linux with this change?
> 
> > -----Original Message-----
> > From: Jiang, Guomin <guomin.jiang@intel.com>
> > Sent: Friday, July 15, 2022 9:51 AM
> > To: devel@edk2.groups.io
> > Cc: GuoMinJ <newexplorerj@gmail.com>; Andrew Fish
> <afish@apple.com>;
> > Ni, Ray <ray.ni@intel.com>
> > Subject: [Patch v2 04/11] EmulatorPkg: Remove All UGA Support
> >
> > From: GuoMinJ <newexplorerj@gmail.com>
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2368
> >
> > Remove All UGA Support in EmulatorPkg.
> >
> > Signed-off-by: Guomin Jiang <guomin.jiang@intel.com>
> > Cc: Andrew Fish <afish@apple.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > ---
> >  EmulatorPkg/EmuGopDxe/Gop.h                   | 10 +--
> >  EmulatorPkg/EmuGopDxe/GopScreen.c             | 14 ++--
> >  EmulatorPkg/Include/Protocol/EmuFileSystem.h  | 24 +++---
> >  .../Include/Protocol/EmuGraphicsWindow.h      | 18 ++--
> >  .../Library/PlatformBmLib/PlatformBm.h        |  4 +-
> >  .../Library/PlatformBmLib/PlatformBmData.c    |  6 +-
> >  EmulatorPkg/Unix/Host/Gasket.h                | 12 +--
> >  EmulatorPkg/Unix/Host/Host.h                  |  3 +-
> >  EmulatorPkg/Unix/Host/Ia32/Gasket.S           |  2 +-
> >  EmulatorPkg/Unix/Host/X11GraphicsWindow.c     | 82 +++++++++----------
> >  EmulatorPkg/Unix/Host/X64/Gasket.S            |  2 +-
> >  EmulatorPkg/Win/Host/WinGopScreen.c           | 10 +--
> >  12 files changed, 92 insertions(+), 95 deletions(-)
> >
> > diff --git a/EmulatorPkg/EmuGopDxe/Gop.h
> b/EmulatorPkg/EmuGopDxe/Gop.h
> > index 7f7dc4e8eb9f..59ebfda912eb 100644
> > --- a/EmulatorPkg/EmuGopDxe/Gop.h
> > +++ b/EmulatorPkg/EmuGopDxe/Gop.h
> > @@ -1,13 +1,13 @@
> >  /*++ @file
> >
> > -Copyright (c) 2006 - 2008, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > +reserved.<BR>
> >  Portions copyright (c) 2010,Apple Inc. All rights reserved.<BR>
> >  SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> >
> > -#ifndef __UGA_H_
> > -#define __UGA_H_
> > +#ifndef GOP_H_
> > +#define GOP_H_
> >
> >  #include <PiDxe.h>
> >
> > @@ -60,8 +60,6 @@ typedef struct {
> >  extern EFI_DRIVER_BINDING_PROTOCOL  gEmuGopDriverBinding;  extern
> > EFI_COMPONENT_NAME_PROTOCOL  gEmuGopComponentName;
> >
> > -#define EMU_UGA_CLASS_NAME  L"EmuGopWindow"
> > -
> >  #define GOP_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('G', 'o', 'p', 'N')
> > typedef struct {
> >    UINT64                               Signature;
> > @@ -83,7 +81,7 @@ typedef struct {
> >    GOP_MODE_DATA                        *ModeData;
> >
> >    //
> > -  // UGA Private Data knowing when to start hardware
> > +  // Private Data knowing when to start hardware
> >    //
> >    BOOLEAN                              HardwareNeedsStarting;
> >
> > diff --git a/EmulatorPkg/EmuGopDxe/GopScreen.c
> > b/EmulatorPkg/EmuGopDxe/GopScreen.c
> > index 88d95b88e162..113b496861b4 100644
> > --- a/EmulatorPkg/EmuGopDxe/GopScreen.c
> > +++ b/EmulatorPkg/EmuGopDxe/GopScreen.c
> > @@ -10,7 +10,7 @@ Module Name:
> >
> >  Abstract:
> >
> > -  This file produces the graphics abstration of UGA. It is called by
> > +  This file produces the graphics abstration of GOP. It is called by
> >    EmuGopDriver.c file which deals with the EFI 1.1 driver model.
> >    This file just does graphics.
> >
> > @@ -209,7 +209,7 @@ EmuGopBlt (
> >    // the number of bytes in each row can be computed.
> >    //
> >    if (Delta == 0) {
> > -    Delta = Width * sizeof (EFI_UGA_PIXEL);
> > +    Delta = Width * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
> >    }
> >
> >    //
> > @@ -220,8 +220,8 @@ EmuGopBlt (
> >    OriginalTPL = gBS->RaiseTPL (TPL_NOTIFY);
> >
> >    //
> > -  // Pack UGA Draw protocol parameters to
> > EMU_GRAPHICS_WINDOWS__BLT_ARGS structure to adapt to
> > -  // GopBlt() API of Unix UGA IO protocol.
> > +  // Pack GOP protocol parameters to
> EMU_GRAPHICS_WINDOWS__BLT_ARGS
> > + structure to adapt to  // GopBlt() API of GOP protocol.
> >    //
> >    GopBltArgs.DestinationX = DestinationX;
> >    GopBltArgs.DestinationY = DestinationY; @@ -232,8 +232,8 @@
> > EmuGopBlt (
> >    GopBltArgs.Delta        = Delta;
> >    Status                  = Private->EmuGraphicsWindow->Blt (
> >                                                            Private->EmuGraphicsWindow,
> > -                                                          (EFI_UGA_PIXEL *)BltBuffer,
> > -                                                          (EFI_UGA_BLT_OPERATION)BltOperation,
> > +                                                          BltBuffer,
> > +
> > + BltOperation,
> >                                                            &GopBltArgs
> >                                                            );
> >
> > @@ -384,7 +384,7 @@ ShutdownGopEvent (
> >
> >  Routine Description:
> >
> > -  This is the UGA screen's callback notification function for exit-boot-
> services.
> > +  This is the screen's callback notification function for exit-boot-services.
> >    All we do here is call EmuGopDestructor().
> >
> >  Arguments:
> > diff --git a/EmulatorPkg/Include/Protocol/EmuFileSystem.h
> > b/EmulatorPkg/Include/Protocol/EmuFileSystem.h
> > index 15de43ac022e..062508fafc9d 100644
> > --- a/EmulatorPkg/Include/Protocol/EmuFileSystem.h
> > +++ b/EmulatorPkg/Include/Protocol/EmuFileSystem.h
> > @@ -7,19 +7,19 @@
> >
> >    UEFI 2.0 can boot from any valid EFI image contained in a
> SimpleFileSystem.
> >
> > -Copyright (c) 2006 - 2010, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > +reserved.<BR>
> >  Portions copyright (c) 2011, Apple Inc. All rights reserved.
> >  SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> >
> > -#ifndef _EMU_UGA_IO_H_
> > -#define _EMU_UGA_IO_H_
> > +#ifndef EMU_GRAPHICS_WINDOW_H_
> > +#define EMU_GRAPHICS_WINDOW_H_
> >
> >  #include <Protocol/SimplePointer.h>
> >  #include <Protocol/SimpleTextIn.h>
> >  #include <Protocol/SimpleTextInEx.h>
> > -#include <Protocol/UgaDraw.h>
> > +#include <Protocol/GraphicsOutput.h>
> >
> >  #define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \
> >   { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8,
> > 0xCA, 0xC1 } } @@ -29,13 +29,13 @@ typedef struct
> > _EMU_GRAPHICS_WINDOW_PROTOCOL
> EMU_GRAPHICS_WINDOW_PROTOCOL;  typedef
> > EFI_STATUS  (EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(
> > -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> > +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows
> >    );
> >
> >  typedef
> >  EFI_STATUS
> >  (EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(
> > -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> > +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindows,
> >    UINT32                        Width,
> >    UINT32                        Height
> >    );
> > @@ -43,13 +43,13 @@ EFI_STATUS
> >  typedef
> >  EFI_STATUS
> >  (EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(
> > -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> > +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows
> >    );
> >
> >  typedef
> >  EFI_STATUS
> >  (EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(
> > -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> > +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindows,
> >    EFI_KEY_DATA                  *key
> >    );
> >
> > @@ -88,10 +88,10 @@ typedef struct {
> >  typedef
> >  EFI_STATUS
> >  (EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(
> > -  IN  EMU_GRAPHICS_WINDOW_PROTOCOL            *GraphicsWindows,
> > -  IN  EFI_UGA_PIXEL                           *BltBuffer OPTIONAL,
> > -  IN  EFI_UGA_BLT_OPERATION                   BltOperation,
> > -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS          *Args
> > +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsWindows,
> > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> > +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> > +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
> >    );
> >
> >  typedef
> > diff --git a/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> > b/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> > index 7c495b25eb1b..ed7b71611f90 100644
> > --- a/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> > +++ b/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> > @@ -6,13 +6,13 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> >
> > -#ifndef _EMU_UGA_IO_H_
> > -#define _EMU_UGA_IO_H_
> > +#ifndef EMU_GRAPHICS_WINDOW_H_
> > +#define EMU_GRAPHICS_WINDOW_H_
> >
> >  #include <Protocol/SimplePointer.h>
> >  #include <Protocol/SimpleTextIn.h>
> >  #include <Protocol/SimpleTextInEx.h>
> > -#include <Protocol/UgaDraw.h>
> > +#include <Protocol/GraphicsOutput.h>
> >
> >  #define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \
> >   { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8,
> > 0xCA, 0xC1 } } @@ -22,13 +22,13 @@ typedef struct
> > _EMU_GRAPHICS_WINDOW_PROTOCOL
> EMU_GRAPHICS_WINDOW_PROTOCOL;  typedef
> > EFI_STATUS  (EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(
> > -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> > +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindow
> >    );
> >
> >  typedef
> >  EFI_STATUS
> >  (EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(
> > -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> > +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindow,
> >    UINT32                        Width,
> >    UINT32                        Height
> >    );
> > @@ -36,13 +36,13 @@ EFI_STATUS
> >  typedef
> >  EFI_STATUS
> >  (EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(
> > -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> > +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindow
> >    );
> >
> >  typedef
> >  EFI_STATUS
> >  (EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(
> > -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> > +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindow,
> >    EFI_KEY_DATA                  *key
> >    );
> >
> > @@ -83,8 +83,8 @@ typedef
> >  EFI_STATUS
> >  (EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(
> >    IN  EMU_GRAPHICS_WINDOW_PROTOCOL            *GraphicsWindows,
> > -  IN  EFI_UGA_PIXEL                           *BltBuffer OPTIONAL,
> > -  IN  EFI_UGA_BLT_OPERATION                   BltOperation,
> > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL           *BltBuffer OPTIONAL,
> > +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION       BltOperation,
> >    IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS          *Args
> >    );
> >
> > diff --git a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
> > b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
> > index b89ffd77e4de..462049e2b048 100644
> > --- a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
> > +++ b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
> > @@ -1,6 +1,6 @@
> >  /*++ @file
> >
> > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > +reserved.<BR>
> >  Portions copyright (c) 2011, Apple Inc. All rights reserved.
> >  SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > @@ -60,7 +60,7 @@ typedef struct {
> >    EMU_VENDOR_DEVICE_PATH_NODE    EmuBus;
> >    EMU_VENDOR_DEVICE_PATH_NODE    EmuGraphicsWindow;
> >    EFI_DEVICE_PATH_PROTOCOL       End;
> > -} EMU_PLATFORM_UGA_DEVICE_PATH;
> > +} EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH;
> >
> >  //
> >  // Platform BDS Functions
> > diff --git a/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> > b/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> > index efb03def37eb..b69c4728d1a7 100644
> > --- a/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> > +++ b/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> > @@ -1,6 +1,6 @@
> >  /*++ @file
> >
> > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > +reserved.<BR>
> >  Portions copyright (c) 2011, Apple Inc. All rights reserved.
> >  SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > @@ -8,7 +8,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  #include "PlatformBm.h"
> >
> > -EMU_PLATFORM_UGA_DEVICE_PATH  gGopDevicePath = {
> > +EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH  gGopDevicePath
> = {
> >    {
> >      {
> >        {
> > @@ -40,7 +40,7 @@ EMU_PLATFORM_UGA_DEVICE_PATH
> gGopDevicePath = {
> >    gEndEntire
> >  };
> >
> > -EMU_PLATFORM_UGA_DEVICE_PATH  gGopDevicePath2 = {
> > +EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH
> gGopDevicePath2 = {
> >    {
> >      {
> >        {
> > diff --git a/EmulatorPkg/Unix/Host/Gasket.h
> > b/EmulatorPkg/Unix/Host/Gasket.h index 6dafc903cfce..1ffdfb334524
> > 100644
> > --- a/EmulatorPkg/Unix/Host/Gasket.h
> > +++ b/EmulatorPkg/Unix/Host/Gasket.h
> > @@ -1,7 +1,7 @@
> >  /** @file
> >
> >    Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
> > -  Copyright (c) 2011 - 2019, Intel Corporation. All rights
> > reserved.<BR>
> > +  Copyright (c) 2011 - 2022, Intel Corporation. All rights
> > + reserved.<BR>
> >
> >    SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> > @@ -200,7 +200,7 @@ ReverseGasketUint64Uint64 (
> >    );
> >
> >  //
> > -// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
> > +// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
> >  //
> >
> >  EFI_STATUS
> > @@ -243,10 +243,10 @@ GasketX11RegisterKeyNotify (  EFI_STATUS
> EFIAPI
> > GasketX11Blt (
> > -  IN  EMU_GRAPHICS_WINDOW_PROTOCOL    *GraphicsWindows,
> > -  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
> > -  IN  EFI_UGA_BLT_OPERATION           BltOperation,
> > -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
> > +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsWindows,
> > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> > +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> > +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
> >    );
> >
> >  EFI_STATUS
> > diff --git a/EmulatorPkg/Unix/Host/Host.h
> > b/EmulatorPkg/Unix/Host/Host.h index 0c81cdfc01f5..ff30f5dce567 100644
> > --- a/EmulatorPkg/Unix/Host/Host.h
> > +++ b/EmulatorPkg/Unix/Host/Host.h
> > @@ -1,6 +1,6 @@
> >  /*++ @file
> >
> > -Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > +reserved.<BR>
> >  Portions copyright (c) 2008 - 2011, Apple Inc. All rights
> > reserved.<BR>
> >
> >  SPDX-License-Identifier: BSD-2-Clause-Patent @@ -106,7 +106,6 @@
> > SPDX-License-Identifier: BSD-2-Clause-Patent  #include
> > <Protocol/SimplePointer.h>  #include <Protocol/SimpleTextIn.h>
> > #include <Protocol/SimpleTextInEx.h> -#include <Protocol/UgaDraw.h>
> > #include <Protocol/SimpleFileSystem.h>
> >
> >  #include <Protocol/EmuThunk.h>
> > diff --git a/EmulatorPkg/Unix/Host/Ia32/Gasket.S
> > b/EmulatorPkg/Unix/Host/Ia32/Gasket.S
> > index 36197ff26028..6fcdd265cf30 100644
> > --- a/EmulatorPkg/Unix/Host/Ia32/Gasket.S
> > +++ b/EmulatorPkg/Unix/Host/Ia32/Gasket.S
> > @@ -371,7 +371,7 @@ ASM_PFX(GasketSecEmuThunkAddress):
> >    ret
> >
> >  //
> > -// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
> > +// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
> >  //
> >
> >  ASM_GLOBAL ASM_PFX(GasketX11Size)
> > diff --git a/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
> > b/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
> > index a30cc19dbe0a..b3880e198855 100644
> > --- a/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
> > +++ b/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
> > @@ -1,6 +1,6 @@
> >  /*++ @file
> >
> > -Copyright (c) 2004 - 2019, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) 2004 - 2022, Intel Corporation. All rights
> > +reserved.<BR>
> >  Portions copyright (c) 2008 - 2011, Apple Inc. All rights
> > reserved.<BR>
> >
> >  SPDX-License-Identifier: BSD-2-Clause-Patent @@ -700,8 +700,8 @@
> > HandleEvents (
> >
> >  unsigned long
> >  X11PixelToColor (
> > -  IN  GRAPHICS_IO_PRIVATE  *Drv,
> > -  IN  EFI_UGA_PIXEL        pixel
> > +  IN  GRAPHICS_IO_PRIVATE            *Drv,
> > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  pixel
> >    )
> >  {
> >    return ((pixel.Red   >> Drv->r.csize) << Drv->r.shift)
> > @@ -709,15 +709,15 @@ X11PixelToColor (
> >           | ((pixel.Blue  >> Drv->b.csize) << Drv->b.shift);  }
> >
> > -EFI_UGA_PIXEL
> > +EFI_GRAPHICS_OUTPUT_BLT_PIXEL
> >  X11ColorToPixel (
> >    IN  GRAPHICS_IO_PRIVATE  *Drv,
> >    IN  unsigned long        val
> >    )
> >  {
> > -  EFI_UGA_PIXEL  Pixel;
> > +  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  Pixel;
> >
> > -  memset (&Pixel, 0, sizeof (EFI_UGA_PIXEL));
> > +  memset (&Pixel, 0, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> >
> >    // Truncation not an issue since X11 and EFI are both using 8 bits per color
> >    Pixel.Red   =   (val >> Drv->r.shift) << Drv->r.csize;
> > @@ -782,7 +782,7 @@ X11KeySetState (
> >      if ((Drv->KeyState.KeyToggleState & EFI_CAPS_LOCK_ACTIVE) == 0) {
> >        //
> >        // We could create an XKeyEvent and send a XK_Caps_Lock to
> > -      // the UGA/GOP Window
> > +      // the GOP Window
> >        //
> >      }
> >    }
> > @@ -812,32 +812,32 @@ X11RegisterKeyNotify (
> >
> >  EFI_STATUS
> >  X11Blt (
> > -  IN EMU_GRAPHICS_WINDOW_PROTOCOL     *GraphicsIo,
> > -  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
> > -  IN  EFI_UGA_BLT_OPERATION           BltOperation,
> > -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
> > +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsIo,
> > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> > +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> > +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
> >    )
> >  {
> > -  GRAPHICS_IO_PRIVATE  *Private;
> > -  UINTN                DstY;
> > -  UINTN                SrcY;
> > -  UINTN                DstX;
> > -  UINTN                SrcX;
> > -  UINTN                Index;
> > -  EFI_UGA_PIXEL        *Blt;
> > -  UINT8                *Dst;
> > -  UINT8                *Src;
> > -  UINTN                Nbr;
> > -  unsigned long        Color;
> > -  XEvent               ev;
> > +  GRAPHICS_IO_PRIVATE            *Private;
> > +  UINTN                          DstY;
> > +  UINTN                          SrcY;
> > +  UINTN                          DstX;
> > +  UINTN                          SrcX;
> > +  UINTN                          Index;
> > +  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  *Blt;
> > +  UINT8                          *Dst;
> > +  UINT8                          *Src;
> > +  UINTN                          Nbr;
> > +  unsigned long                  Color;
> > +  XEvent                         ev;
> >
> >    Private = (GRAPHICS_IO_PRIVATE *)GraphicsIo;
> >
> >    //
> >    //  Check bounds
> >    //
> > -  if (  (BltOperation == EfiUgaVideoToBltBuffer)
> > -     || (BltOperation == EfiUgaVideoToVideo))
> > +  if (  (BltOperation == EfiBltVideoToBltBuffer)
> > +     || (BltOperation == EfiBltVideoToVideo))
> >    {
> >      //
> >      // Source is Video.
> > @@ -851,9 +851,9 @@ X11Blt (
> >      }
> >    }
> >
> > -  if (  (BltOperation == EfiUgaBltBufferToVideo)
> > -     || (BltOperation == EfiUgaVideoToVideo)
> > -     || (BltOperation == EfiUgaVideoFill))
> > +  if (  (BltOperation == EfiBltBufferToVideo)
> > +     || (BltOperation == EfiBltVideoToVideo)
> > +     || (BltOperation == EfiBltVideoFill))
> >    {
> >      //
> >      // Destination is Video
> > @@ -868,32 +868,32 @@ X11Blt (
> >    }
> >
> >    switch (BltOperation) {
> > -    case EfiUgaVideoToBltBuffer:
> > -      Blt          = (EFI_UGA_PIXEL *)((UINT8 *)BltBuffer + (Args->DestinationY
> * Args->Delta) + Args->DestinationX * sizeof
> > (EFI_UGA_PIXEL));
> > -      Args->Delta -= Args->Width * sizeof (EFI_UGA_PIXEL);
> > +    case EfiBltVideoToBltBuffer:
> > +      Blt          = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)BltBuffer +
> (Args->DestinationY * Args->Delta) + Args-
> > >DestinationX * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> > +      Args->Delta -= Args->Width * sizeof
> > + (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
> >        for (SrcY = Args->SourceY; SrcY < (Args->Height + Args->SourceY);
> SrcY++) {
> >          for (SrcX = Args->SourceX; SrcX < (Args->Width + Args->SourceX);
> SrcX++) {
> >            *Blt++ = X11ColorToPixel (Private, XGetPixel (Private->image, SrcX,
> SrcY));
> >          }
> >
> > -        Blt = (EFI_UGA_PIXEL *)((UINT8 *)Blt + Args->Delta);
> > +        Blt = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)Blt +
> > + Args->Delta);
> >        }
> >
> >        break;
> > -    case EfiUgaBltBufferToVideo:
> > -      Blt          = (EFI_UGA_PIXEL *)((UINT8 *)BltBuffer + (Args->SourceY *
> Args->Delta) + Args->SourceX * sizeof
> > (EFI_UGA_PIXEL));
> > -      Args->Delta -= Args->Width * sizeof (EFI_UGA_PIXEL);
> > +    case EfiBltBufferToVideo:
> > +      Blt          = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)BltBuffer +
> (Args->SourceY * Args->Delta) + Args-
> > >SourceX * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> > +      Args->Delta -= Args->Width * sizeof
> > + (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
> >        for (DstY = Args->DestinationY; DstY < (Args->Height + Args-
> >DestinationY); DstY++) {
> >          for (DstX = Args->DestinationX; DstX < (Args->Width + Args-
> >DestinationX); DstX++) {
> >            XPutPixel (Private->image, DstX, DstY, X11PixelToColor (Private, *Blt));
> >            Blt++;
> >          }
> >
> > -        Blt = (EFI_UGA_PIXEL *)((UINT8 *)Blt + Args->Delta);
> > +        Blt = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)Blt +
> > + Args->Delta);
> >        }
> >
> >        break;
> > -    case EfiUgaVideoToVideo:
> > +    case EfiBltVideoToVideo:
> >        Dst = Private->image_data + (Args->DestinationX << Private-
> >pixel_shift)
> >              + Args->DestinationY * Private->line_bytes;
> >        Src = Private->image_data + (Args->SourceX <<
> > Private->pixel_shift) @@ -920,7 +920,7 @@ X11Blt (
> >        }
> >
> >        break;
> > -    case EfiUgaVideoFill:
> > +    case EfiBltVideoFill:
> >        Color = X11PixelToColor (Private, *BltBuffer);
> >        for (DstY = Args->DestinationY; DstY < (Args->Height + Args-
> >DestinationY); DstY++) {
> >          for (DstX = Args->DestinationX; DstX < (Args->Width +
> > Args->DestinationX); DstX++) { @@ -937,7 +937,7 @@ X11Blt (
> >    //  Refresh screen.
> >    //
> >    switch (BltOperation) {
> > -    case EfiUgaVideoToVideo:
> > +    case EfiBltVideoToVideo:
> >        XCopyArea (
> >          Private->display,
> >          Private->win,
> > @@ -960,7 +960,7 @@ X11Blt (
> >        }
> >
> >        break;
> > -    case EfiUgaVideoFill:
> > +    case EfiBltVideoFill:
> >        Color = X11PixelToColor (Private, *BltBuffer);
> >        XSetForeground (Private->display, Private->gc, Color);
> >        XFillRectangle (
> > @@ -974,7 +974,7 @@ X11Blt (
> >          );
> >        XFlush (Private->display);
> >        break;
> > -    case EfiUgaBltBufferToVideo:
> > +    case EfiBltBufferToVideo:
> >        Redraw (Private, Args->DestinationX, Args->DestinationY, Args->Width,
> Args->Height);
> >        break;
> >      default:
> > diff --git a/EmulatorPkg/Unix/Host/X64/Gasket.S
> > b/EmulatorPkg/Unix/Host/X64/Gasket.S
> > index 030faa8e4c36..1b4614ab618d 100644
> > --- a/EmulatorPkg/Unix/Host/X64/Gasket.S
> > +++ b/EmulatorPkg/Unix/Host/X64/Gasket.S
> > @@ -427,7 +427,7 @@ ASM_PFX(GasketSecEmuThunkAddress):
> >    ret
> >
> >  //
> > -// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
> > +// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
> >  //
> >
> >  ASM_GLOBAL ASM_PFX(GasketX11Size)
> > diff --git a/EmulatorPkg/Win/Host/WinGopScreen.c
> > b/EmulatorPkg/Win/Host/WinGopScreen.c
> > index 661573d7771c..69abcfc79564 100644
> > --- a/EmulatorPkg/Win/Host/WinGopScreen.c
> > +++ b/EmulatorPkg/Win/Host/WinGopScreen.c
> > @@ -1,6 +1,6 @@
> >  /** @file
> >
> > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > +reserved.<BR>
> >  SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  Module Name:
> > @@ -396,10 +396,10 @@ WinNtWndSize (
> >  // TODO:    Delta - add argument and description to function comment
> >  EFI_STATUS
> >  WinNtWndBlt (
> > -  IN  EMU_GRAPHICS_WINDOW_PROTOCOL    *GraphicsIo,
> > -  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
> > -  IN  EFI_UGA_BLT_OPERATION           BltOperation,
> > -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
> > +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsIo,
> > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> > +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> > +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
> >    )
> >  {
> >    RETURN_STATUS          RStatus;
> > --
> > 2.26.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#91508): https://edk2.groups.io/g/devel/message/91508
Mute This Topic: https://groups.io/mt/92393247/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [Patch v2 04/11] EmulatorPkg: Remove All UGA Support
Posted by Ni, Ray 3 years, 6 months ago
Thanks!
Reviewed-by: Ray Ni <ray.ni@intel.com>

> -----Original Message-----
> From: Jiang, Guomin <guomin.jiang@intel.com>
> Sent: Tuesday, July 19, 2022 8:54 AM
> To: Ni, Ray <ray.ni@intel.com>; devel@edk2.groups.io
> Cc: GuoMinJ <newexplorerj@gmail.com>; Andrew Fish <afish@apple.com>
> Subject: RE: [Patch v2 04/11] EmulatorPkg: Remove All UGA Support
> 
> Hi Ray,
> 
> I tried it yesterday
> 
> It can boot normally in Win Emulator.
> But I encounter issues mentioned in https://bugzilla.tianocore.org/show_bug.cgi?id=2639 in Unix. I think it is not related to
> this change.
> 
> Thanks
> Guomin
> > -----Original Message-----
> > From: Ni, Ray <ray.ni@intel.com>
> > Sent: Friday, July 15, 2022 10:23 AM
> > To: Jiang, Guomin <guomin.jiang@intel.com>; devel@edk2.groups.io
> > Cc: GuoMinJ <newexplorerj@gmail.com>; Andrew Fish <afish@apple.com>
> > Subject: RE: [Patch v2 04/11] EmulatorPkg: Remove All UGA Support
> >
> > Guomin,
> > Did you try booting the Emulator Win and Linux with this change?
> >
> > > -----Original Message-----
> > > From: Jiang, Guomin <guomin.jiang@intel.com>
> > > Sent: Friday, July 15, 2022 9:51 AM
> > > To: devel@edk2.groups.io
> > > Cc: GuoMinJ <newexplorerj@gmail.com>; Andrew Fish
> > <afish@apple.com>;
> > > Ni, Ray <ray.ni@intel.com>
> > > Subject: [Patch v2 04/11] EmulatorPkg: Remove All UGA Support
> > >
> > > From: GuoMinJ <newexplorerj@gmail.com>
> > >
> > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2368
> > >
> > > Remove All UGA Support in EmulatorPkg.
> > >
> > > Signed-off-by: Guomin Jiang <guomin.jiang@intel.com>
> > > Cc: Andrew Fish <afish@apple.com>
> > > Cc: Ray Ni <ray.ni@intel.com>
> > > ---
> > >  EmulatorPkg/EmuGopDxe/Gop.h                   | 10 +--
> > >  EmulatorPkg/EmuGopDxe/GopScreen.c             | 14 ++--
> > >  EmulatorPkg/Include/Protocol/EmuFileSystem.h  | 24 +++---
> > >  .../Include/Protocol/EmuGraphicsWindow.h      | 18 ++--
> > >  .../Library/PlatformBmLib/PlatformBm.h        |  4 +-
> > >  .../Library/PlatformBmLib/PlatformBmData.c    |  6 +-
> > >  EmulatorPkg/Unix/Host/Gasket.h                | 12 +--
> > >  EmulatorPkg/Unix/Host/Host.h                  |  3 +-
> > >  EmulatorPkg/Unix/Host/Ia32/Gasket.S           |  2 +-
> > >  EmulatorPkg/Unix/Host/X11GraphicsWindow.c     | 82 +++++++++----------
> > >  EmulatorPkg/Unix/Host/X64/Gasket.S            |  2 +-
> > >  EmulatorPkg/Win/Host/WinGopScreen.c           | 10 +--
> > >  12 files changed, 92 insertions(+), 95 deletions(-)
> > >
> > > diff --git a/EmulatorPkg/EmuGopDxe/Gop.h
> > b/EmulatorPkg/EmuGopDxe/Gop.h
> > > index 7f7dc4e8eb9f..59ebfda912eb 100644
> > > --- a/EmulatorPkg/EmuGopDxe/Gop.h
> > > +++ b/EmulatorPkg/EmuGopDxe/Gop.h
> > > @@ -1,13 +1,13 @@
> > >  /*++ @file
> > >
> > > -Copyright (c) 2006 - 2008, Intel Corporation. All rights
> > > reserved.<BR>
> > > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > > +reserved.<BR>
> > >  Portions copyright (c) 2010,Apple Inc. All rights reserved.<BR>
> > >  SPDX-License-Identifier: BSD-2-Clause-Patent
> > >
> > >  **/
> > >
> > > -#ifndef __UGA_H_
> > > -#define __UGA_H_
> > > +#ifndef GOP_H_
> > > +#define GOP_H_
> > >
> > >  #include <PiDxe.h>
> > >
> > > @@ -60,8 +60,6 @@ typedef struct {
> > >  extern EFI_DRIVER_BINDING_PROTOCOL  gEmuGopDriverBinding;  extern
> > > EFI_COMPONENT_NAME_PROTOCOL  gEmuGopComponentName;
> > >
> > > -#define EMU_UGA_CLASS_NAME  L"EmuGopWindow"
> > > -
> > >  #define GOP_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('G', 'o', 'p', 'N')
> > > typedef struct {
> > >    UINT64                               Signature;
> > > @@ -83,7 +81,7 @@ typedef struct {
> > >    GOP_MODE_DATA                        *ModeData;
> > >
> > >    //
> > > -  // UGA Private Data knowing when to start hardware
> > > +  // Private Data knowing when to start hardware
> > >    //
> > >    BOOLEAN                              HardwareNeedsStarting;
> > >
> > > diff --git a/EmulatorPkg/EmuGopDxe/GopScreen.c
> > > b/EmulatorPkg/EmuGopDxe/GopScreen.c
> > > index 88d95b88e162..113b496861b4 100644
> > > --- a/EmulatorPkg/EmuGopDxe/GopScreen.c
> > > +++ b/EmulatorPkg/EmuGopDxe/GopScreen.c
> > > @@ -10,7 +10,7 @@ Module Name:
> > >
> > >  Abstract:
> > >
> > > -  This file produces the graphics abstration of UGA. It is called by
> > > +  This file produces the graphics abstration of GOP. It is called by
> > >    EmuGopDriver.c file which deals with the EFI 1.1 driver model.
> > >    This file just does graphics.
> > >
> > > @@ -209,7 +209,7 @@ EmuGopBlt (
> > >    // the number of bytes in each row can be computed.
> > >    //
> > >    if (Delta == 0) {
> > > -    Delta = Width * sizeof (EFI_UGA_PIXEL);
> > > +    Delta = Width * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
> > >    }
> > >
> > >    //
> > > @@ -220,8 +220,8 @@ EmuGopBlt (
> > >    OriginalTPL = gBS->RaiseTPL (TPL_NOTIFY);
> > >
> > >    //
> > > -  // Pack UGA Draw protocol parameters to
> > > EMU_GRAPHICS_WINDOWS__BLT_ARGS structure to adapt to
> > > -  // GopBlt() API of Unix UGA IO protocol.
> > > +  // Pack GOP protocol parameters to
> > EMU_GRAPHICS_WINDOWS__BLT_ARGS
> > > + structure to adapt to  // GopBlt() API of GOP protocol.
> > >    //
> > >    GopBltArgs.DestinationX = DestinationX;
> > >    GopBltArgs.DestinationY = DestinationY; @@ -232,8 +232,8 @@
> > > EmuGopBlt (
> > >    GopBltArgs.Delta        = Delta;
> > >    Status                  = Private->EmuGraphicsWindow->Blt (
> > >                                                            Private->EmuGraphicsWindow,
> > > -                                                          (EFI_UGA_PIXEL *)BltBuffer,
> > > -                                                          (EFI_UGA_BLT_OPERATION)BltOperation,
> > > +                                                          BltBuffer,
> > > +
> > > + BltOperation,
> > >                                                            &GopBltArgs
> > >                                                            );
> > >
> > > @@ -384,7 +384,7 @@ ShutdownGopEvent (
> > >
> > >  Routine Description:
> > >
> > > -  This is the UGA screen's callback notification function for exit-boot-
> > services.
> > > +  This is the screen's callback notification function for exit-boot-services.
> > >    All we do here is call EmuGopDestructor().
> > >
> > >  Arguments:
> > > diff --git a/EmulatorPkg/Include/Protocol/EmuFileSystem.h
> > > b/EmulatorPkg/Include/Protocol/EmuFileSystem.h
> > > index 15de43ac022e..062508fafc9d 100644
> > > --- a/EmulatorPkg/Include/Protocol/EmuFileSystem.h
> > > +++ b/EmulatorPkg/Include/Protocol/EmuFileSystem.h
> > > @@ -7,19 +7,19 @@
> > >
> > >    UEFI 2.0 can boot from any valid EFI image contained in a
> > SimpleFileSystem.
> > >
> > > -Copyright (c) 2006 - 2010, Intel Corporation. All rights
> > > reserved.<BR>
> > > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > > +reserved.<BR>
> > >  Portions copyright (c) 2011, Apple Inc. All rights reserved.
> > >  SPDX-License-Identifier: BSD-2-Clause-Patent
> > >
> > >  **/
> > >
> > > -#ifndef _EMU_UGA_IO_H_
> > > -#define _EMU_UGA_IO_H_
> > > +#ifndef EMU_GRAPHICS_WINDOW_H_
> > > +#define EMU_GRAPHICS_WINDOW_H_
> > >
> > >  #include <Protocol/SimplePointer.h>
> > >  #include <Protocol/SimpleTextIn.h>
> > >  #include <Protocol/SimpleTextInEx.h>
> > > -#include <Protocol/UgaDraw.h>
> > > +#include <Protocol/GraphicsOutput.h>
> > >
> > >  #define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \
> > >   { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8,
> > > 0xCA, 0xC1 } } @@ -29,13 +29,13 @@ typedef struct
> > > _EMU_GRAPHICS_WINDOW_PROTOCOL
> > EMU_GRAPHICS_WINDOW_PROTOCOL;  typedef
> > > EFI_STATUS  (EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(
> > > -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> > > +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows
> > >    );
> > >
> > >  typedef
> > >  EFI_STATUS
> > >  (EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(
> > > -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> > > +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindows,
> > >    UINT32                        Width,
> > >    UINT32                        Height
> > >    );
> > > @@ -43,13 +43,13 @@ EFI_STATUS
> > >  typedef
> > >  EFI_STATUS
> > >  (EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(
> > > -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> > > +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindows
> > >    );
> > >
> > >  typedef
> > >  EFI_STATUS
> > >  (EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(
> > > -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> > > +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindows,
> > >    EFI_KEY_DATA                  *key
> > >    );
> > >
> > > @@ -88,10 +88,10 @@ typedef struct {
> > >  typedef
> > >  EFI_STATUS
> > >  (EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(
> > > -  IN  EMU_GRAPHICS_WINDOW_PROTOCOL            *GraphicsWindows,
> > > -  IN  EFI_UGA_PIXEL                           *BltBuffer OPTIONAL,
> > > -  IN  EFI_UGA_BLT_OPERATION                   BltOperation,
> > > -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS          *Args
> > > +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsWindows,
> > > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> > > +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> > > +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
> > >    );
> > >
> > >  typedef
> > > diff --git a/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> > > b/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> > > index 7c495b25eb1b..ed7b71611f90 100644
> > > --- a/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> > > +++ b/EmulatorPkg/Include/Protocol/EmuGraphicsWindow.h
> > > @@ -6,13 +6,13 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> > >
> > >  **/
> > >
> > > -#ifndef _EMU_UGA_IO_H_
> > > -#define _EMU_UGA_IO_H_
> > > +#ifndef EMU_GRAPHICS_WINDOW_H_
> > > +#define EMU_GRAPHICS_WINDOW_H_
> > >
> > >  #include <Protocol/SimplePointer.h>
> > >  #include <Protocol/SimpleTextIn.h>
> > >  #include <Protocol/SimpleTextInEx.h>
> > > -#include <Protocol/UgaDraw.h>
> > > +#include <Protocol/GraphicsOutput.h>
> > >
> > >  #define EMU_GRAPHICS_WINDOW_PROTOCOL_GUID \
> > >   { 0x30FD316A, 0x6728, 0x2E41, { 0xA6, 0x90, 0x0D, 0x13, 0x33, 0xD8,
> > > 0xCA, 0xC1 } } @@ -22,13 +22,13 @@ typedef struct
> > > _EMU_GRAPHICS_WINDOW_PROTOCOL
> > EMU_GRAPHICS_WINDOW_PROTOCOL;  typedef
> > > EFI_STATUS  (EFIAPI *EMU_GRAPHICS_WINDOWS_CLOSE)(
> > > -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> > > +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindow
> > >    );
> > >
> > >  typedef
> > >  EFI_STATUS
> > >  (EFIAPI *EMU_GRAPHICS_WINDOWS_SIZE)(
> > > -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> > > +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindow,
> > >    UINT32                        Width,
> > >    UINT32                        Height
> > >    );
> > > @@ -36,13 +36,13 @@ EFI_STATUS
> > >  typedef
> > >  EFI_STATUS
> > >  (EFIAPI *EMU_GRAPHICS_WINDOWS_CHECK_KEY)(
> > > -  EMU_GRAPHICS_WINDOW_PROTOCOL *Uga
> > > +  EMU_GRAPHICS_WINDOW_PROTOCOL *GraphicsWindow
> > >    );
> > >
> > >  typedef
> > >  EFI_STATUS
> > >  (EFIAPI *EMU_GRAPHICS_WINDOWS_GET_KEY)(
> > > -  EMU_GRAPHICS_WINDOW_PROTOCOL  *Uga,
> > > +  EMU_GRAPHICS_WINDOW_PROTOCOL  *GraphicsWindow,
> > >    EFI_KEY_DATA                  *key
> > >    );
> > >
> > > @@ -83,8 +83,8 @@ typedef
> > >  EFI_STATUS
> > >  (EFIAPI *EMU_GRAPHICS_WINDOWS_BLT)(
> > >    IN  EMU_GRAPHICS_WINDOW_PROTOCOL            *GraphicsWindows,
> > > -  IN  EFI_UGA_PIXEL                           *BltBuffer OPTIONAL,
> > > -  IN  EFI_UGA_BLT_OPERATION                   BltOperation,
> > > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL           *BltBuffer OPTIONAL,
> > > +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION       BltOperation,
> > >    IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS          *Args
> > >    );
> > >
> > > diff --git a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
> > > b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
> > > index b89ffd77e4de..462049e2b048 100644
> > > --- a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
> > > +++ b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
> > > @@ -1,6 +1,6 @@
> > >  /*++ @file
> > >
> > > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > > reserved.<BR>
> > > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > > +reserved.<BR>
> > >  Portions copyright (c) 2011, Apple Inc. All rights reserved.
> > >  SPDX-License-Identifier: BSD-2-Clause-Patent
> > >
> > > @@ -60,7 +60,7 @@ typedef struct {
> > >    EMU_VENDOR_DEVICE_PATH_NODE    EmuBus;
> > >    EMU_VENDOR_DEVICE_PATH_NODE    EmuGraphicsWindow;
> > >    EFI_DEVICE_PATH_PROTOCOL       End;
> > > -} EMU_PLATFORM_UGA_DEVICE_PATH;
> > > +} EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH;
> > >
> > >  //
> > >  // Platform BDS Functions
> > > diff --git a/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> > > b/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> > > index efb03def37eb..b69c4728d1a7 100644
> > > --- a/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> > > +++ b/EmulatorPkg/Library/PlatformBmLib/PlatformBmData.c
> > > @@ -1,6 +1,6 @@
> > >  /*++ @file
> > >
> > > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > > reserved.<BR>
> > > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > > +reserved.<BR>
> > >  Portions copyright (c) 2011, Apple Inc. All rights reserved.
> > >  SPDX-License-Identifier: BSD-2-Clause-Patent
> > >
> > > @@ -8,7 +8,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> > >
> > >  #include "PlatformBm.h"
> > >
> > > -EMU_PLATFORM_UGA_DEVICE_PATH  gGopDevicePath = {
> > > +EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH  gGopDevicePath
> > = {
> > >    {
> > >      {
> > >        {
> > > @@ -40,7 +40,7 @@ EMU_PLATFORM_UGA_DEVICE_PATH
> > gGopDevicePath = {
> > >    gEndEntire
> > >  };
> > >
> > > -EMU_PLATFORM_UGA_DEVICE_PATH  gGopDevicePath2 = {
> > > +EMU_PLATFORM_GRAPHICS_WINDOW_DEVICE_PATH
> > gGopDevicePath2 = {
> > >    {
> > >      {
> > >        {
> > > diff --git a/EmulatorPkg/Unix/Host/Gasket.h
> > > b/EmulatorPkg/Unix/Host/Gasket.h index 6dafc903cfce..1ffdfb334524
> > > 100644
> > > --- a/EmulatorPkg/Unix/Host/Gasket.h
> > > +++ b/EmulatorPkg/Unix/Host/Gasket.h
> > > @@ -1,7 +1,7 @@
> > >  /** @file
> > >
> > >    Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
> > > -  Copyright (c) 2011 - 2019, Intel Corporation. All rights
> > > reserved.<BR>
> > > +  Copyright (c) 2011 - 2022, Intel Corporation. All rights
> > > + reserved.<BR>
> > >
> > >    SPDX-License-Identifier: BSD-2-Clause-Patent
> > >
> > > @@ -200,7 +200,7 @@ ReverseGasketUint64Uint64 (
> > >    );
> > >
> > >  //
> > > -// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
> > > +// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
> > >  //
> > >
> > >  EFI_STATUS
> > > @@ -243,10 +243,10 @@ GasketX11RegisterKeyNotify (  EFI_STATUS
> > EFIAPI
> > > GasketX11Blt (
> > > -  IN  EMU_GRAPHICS_WINDOW_PROTOCOL    *GraphicsWindows,
> > > -  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
> > > -  IN  EFI_UGA_BLT_OPERATION           BltOperation,
> > > -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
> > > +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsWindows,
> > > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> > > +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> > > +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
> > >    );
> > >
> > >  EFI_STATUS
> > > diff --git a/EmulatorPkg/Unix/Host/Host.h
> > > b/EmulatorPkg/Unix/Host/Host.h index 0c81cdfc01f5..ff30f5dce567 100644
> > > --- a/EmulatorPkg/Unix/Host/Host.h
> > > +++ b/EmulatorPkg/Unix/Host/Host.h
> > > @@ -1,6 +1,6 @@
> > >  /*++ @file
> > >
> > > -Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > > reserved.<BR>
> > > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > > +reserved.<BR>
> > >  Portions copyright (c) 2008 - 2011, Apple Inc. All rights
> > > reserved.<BR>
> > >
> > >  SPDX-License-Identifier: BSD-2-Clause-Patent @@ -106,7 +106,6 @@
> > > SPDX-License-Identifier: BSD-2-Clause-Patent  #include
> > > <Protocol/SimplePointer.h>  #include <Protocol/SimpleTextIn.h>
> > > #include <Protocol/SimpleTextInEx.h> -#include <Protocol/UgaDraw.h>
> > > #include <Protocol/SimpleFileSystem.h>
> > >
> > >  #include <Protocol/EmuThunk.h>
> > > diff --git a/EmulatorPkg/Unix/Host/Ia32/Gasket.S
> > > b/EmulatorPkg/Unix/Host/Ia32/Gasket.S
> > > index 36197ff26028..6fcdd265cf30 100644
> > > --- a/EmulatorPkg/Unix/Host/Ia32/Gasket.S
> > > +++ b/EmulatorPkg/Unix/Host/Ia32/Gasket.S
> > > @@ -371,7 +371,7 @@ ASM_PFX(GasketSecEmuThunkAddress):
> > >    ret
> > >
> > >  //
> > > -// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
> > > +// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
> > >  //
> > >
> > >  ASM_GLOBAL ASM_PFX(GasketX11Size)
> > > diff --git a/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
> > > b/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
> > > index a30cc19dbe0a..b3880e198855 100644
> > > --- a/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
> > > +++ b/EmulatorPkg/Unix/Host/X11GraphicsWindow.c
> > > @@ -1,6 +1,6 @@
> > >  /*++ @file
> > >
> > > -Copyright (c) 2004 - 2019, Intel Corporation. All rights
> > > reserved.<BR>
> > > +Copyright (c) 2004 - 2022, Intel Corporation. All rights
> > > +reserved.<BR>
> > >  Portions copyright (c) 2008 - 2011, Apple Inc. All rights
> > > reserved.<BR>
> > >
> > >  SPDX-License-Identifier: BSD-2-Clause-Patent @@ -700,8 +700,8 @@
> > > HandleEvents (
> > >
> > >  unsigned long
> > >  X11PixelToColor (
> > > -  IN  GRAPHICS_IO_PRIVATE  *Drv,
> > > -  IN  EFI_UGA_PIXEL        pixel
> > > +  IN  GRAPHICS_IO_PRIVATE            *Drv,
> > > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  pixel
> > >    )
> > >  {
> > >    return ((pixel.Red   >> Drv->r.csize) << Drv->r.shift)
> > > @@ -709,15 +709,15 @@ X11PixelToColor (
> > >           | ((pixel.Blue  >> Drv->b.csize) << Drv->b.shift);  }
> > >
> > > -EFI_UGA_PIXEL
> > > +EFI_GRAPHICS_OUTPUT_BLT_PIXEL
> > >  X11ColorToPixel (
> > >    IN  GRAPHICS_IO_PRIVATE  *Drv,
> > >    IN  unsigned long        val
> > >    )
> > >  {
> > > -  EFI_UGA_PIXEL  Pixel;
> > > +  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  Pixel;
> > >
> > > -  memset (&Pixel, 0, sizeof (EFI_UGA_PIXEL));
> > > +  memset (&Pixel, 0, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> > >
> > >    // Truncation not an issue since X11 and EFI are both using 8 bits per color
> > >    Pixel.Red   =   (val >> Drv->r.shift) << Drv->r.csize;
> > > @@ -782,7 +782,7 @@ X11KeySetState (
> > >      if ((Drv->KeyState.KeyToggleState & EFI_CAPS_LOCK_ACTIVE) == 0) {
> > >        //
> > >        // We could create an XKeyEvent and send a XK_Caps_Lock to
> > > -      // the UGA/GOP Window
> > > +      // the GOP Window
> > >        //
> > >      }
> > >    }
> > > @@ -812,32 +812,32 @@ X11RegisterKeyNotify (
> > >
> > >  EFI_STATUS
> > >  X11Blt (
> > > -  IN EMU_GRAPHICS_WINDOW_PROTOCOL     *GraphicsIo,
> > > -  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
> > > -  IN  EFI_UGA_BLT_OPERATION           BltOperation,
> > > -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
> > > +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsIo,
> > > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> > > +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> > > +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
> > >    )
> > >  {
> > > -  GRAPHICS_IO_PRIVATE  *Private;
> > > -  UINTN                DstY;
> > > -  UINTN                SrcY;
> > > -  UINTN                DstX;
> > > -  UINTN                SrcX;
> > > -  UINTN                Index;
> > > -  EFI_UGA_PIXEL        *Blt;
> > > -  UINT8                *Dst;
> > > -  UINT8                *Src;
> > > -  UINTN                Nbr;
> > > -  unsigned long        Color;
> > > -  XEvent               ev;
> > > +  GRAPHICS_IO_PRIVATE            *Private;
> > > +  UINTN                          DstY;
> > > +  UINTN                          SrcY;
> > > +  UINTN                          DstX;
> > > +  UINTN                          SrcX;
> > > +  UINTN                          Index;
> > > +  EFI_GRAPHICS_OUTPUT_BLT_PIXEL  *Blt;
> > > +  UINT8                          *Dst;
> > > +  UINT8                          *Src;
> > > +  UINTN                          Nbr;
> > > +  unsigned long                  Color;
> > > +  XEvent                         ev;
> > >
> > >    Private = (GRAPHICS_IO_PRIVATE *)GraphicsIo;
> > >
> > >    //
> > >    //  Check bounds
> > >    //
> > > -  if (  (BltOperation == EfiUgaVideoToBltBuffer)
> > > -     || (BltOperation == EfiUgaVideoToVideo))
> > > +  if (  (BltOperation == EfiBltVideoToBltBuffer)
> > > +     || (BltOperation == EfiBltVideoToVideo))
> > >    {
> > >      //
> > >      // Source is Video.
> > > @@ -851,9 +851,9 @@ X11Blt (
> > >      }
> > >    }
> > >
> > > -  if (  (BltOperation == EfiUgaBltBufferToVideo)
> > > -     || (BltOperation == EfiUgaVideoToVideo)
> > > -     || (BltOperation == EfiUgaVideoFill))
> > > +  if (  (BltOperation == EfiBltBufferToVideo)
> > > +     || (BltOperation == EfiBltVideoToVideo)
> > > +     || (BltOperation == EfiBltVideoFill))
> > >    {
> > >      //
> > >      // Destination is Video
> > > @@ -868,32 +868,32 @@ X11Blt (
> > >    }
> > >
> > >    switch (BltOperation) {
> > > -    case EfiUgaVideoToBltBuffer:
> > > -      Blt          = (EFI_UGA_PIXEL *)((UINT8 *)BltBuffer + (Args->DestinationY
> > * Args->Delta) + Args->DestinationX * sizeof
> > > (EFI_UGA_PIXEL));
> > > -      Args->Delta -= Args->Width * sizeof (EFI_UGA_PIXEL);
> > > +    case EfiBltVideoToBltBuffer:
> > > +      Blt          = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)BltBuffer +
> > (Args->DestinationY * Args->Delta) + Args-
> > > >DestinationX * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> > > +      Args->Delta -= Args->Width * sizeof
> > > + (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
> > >        for (SrcY = Args->SourceY; SrcY < (Args->Height + Args->SourceY);
> > SrcY++) {
> > >          for (SrcX = Args->SourceX; SrcX < (Args->Width + Args->SourceX);
> > SrcX++) {
> > >            *Blt++ = X11ColorToPixel (Private, XGetPixel (Private->image, SrcX,
> > SrcY));
> > >          }
> > >
> > > -        Blt = (EFI_UGA_PIXEL *)((UINT8 *)Blt + Args->Delta);
> > > +        Blt = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)Blt +
> > > + Args->Delta);
> > >        }
> > >
> > >        break;
> > > -    case EfiUgaBltBufferToVideo:
> > > -      Blt          = (EFI_UGA_PIXEL *)((UINT8 *)BltBuffer + (Args->SourceY *
> > Args->Delta) + Args->SourceX * sizeof
> > > (EFI_UGA_PIXEL));
> > > -      Args->Delta -= Args->Width * sizeof (EFI_UGA_PIXEL);
> > > +    case EfiBltBufferToVideo:
> > > +      Blt          = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)BltBuffer +
> > (Args->SourceY * Args->Delta) + Args-
> > > >SourceX * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
> > > +      Args->Delta -= Args->Width * sizeof
> > > + (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
> > >        for (DstY = Args->DestinationY; DstY < (Args->Height + Args-
> > >DestinationY); DstY++) {
> > >          for (DstX = Args->DestinationX; DstX < (Args->Width + Args-
> > >DestinationX); DstX++) {
> > >            XPutPixel (Private->image, DstX, DstY, X11PixelToColor (Private, *Blt));
> > >            Blt++;
> > >          }
> > >
> > > -        Blt = (EFI_UGA_PIXEL *)((UINT8 *)Blt + Args->Delta);
> > > +        Blt = (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)((UINT8 *)Blt +
> > > + Args->Delta);
> > >        }
> > >
> > >        break;
> > > -    case EfiUgaVideoToVideo:
> > > +    case EfiBltVideoToVideo:
> > >        Dst = Private->image_data + (Args->DestinationX << Private-
> > >pixel_shift)
> > >              + Args->DestinationY * Private->line_bytes;
> > >        Src = Private->image_data + (Args->SourceX <<
> > > Private->pixel_shift) @@ -920,7 +920,7 @@ X11Blt (
> > >        }
> > >
> > >        break;
> > > -    case EfiUgaVideoFill:
> > > +    case EfiBltVideoFill:
> > >        Color = X11PixelToColor (Private, *BltBuffer);
> > >        for (DstY = Args->DestinationY; DstY < (Args->Height + Args-
> > >DestinationY); DstY++) {
> > >          for (DstX = Args->DestinationX; DstX < (Args->Width +
> > > Args->DestinationX); DstX++) { @@ -937,7 +937,7 @@ X11Blt (
> > >    //  Refresh screen.
> > >    //
> > >    switch (BltOperation) {
> > > -    case EfiUgaVideoToVideo:
> > > +    case EfiBltVideoToVideo:
> > >        XCopyArea (
> > >          Private->display,
> > >          Private->win,
> > > @@ -960,7 +960,7 @@ X11Blt (
> > >        }
> > >
> > >        break;
> > > -    case EfiUgaVideoFill:
> > > +    case EfiBltVideoFill:
> > >        Color = X11PixelToColor (Private, *BltBuffer);
> > >        XSetForeground (Private->display, Private->gc, Color);
> > >        XFillRectangle (
> > > @@ -974,7 +974,7 @@ X11Blt (
> > >          );
> > >        XFlush (Private->display);
> > >        break;
> > > -    case EfiUgaBltBufferToVideo:
> > > +    case EfiBltBufferToVideo:
> > >        Redraw (Private, Args->DestinationX, Args->DestinationY, Args->Width,
> > Args->Height);
> > >        break;
> > >      default:
> > > diff --git a/EmulatorPkg/Unix/Host/X64/Gasket.S
> > > b/EmulatorPkg/Unix/Host/X64/Gasket.S
> > > index 030faa8e4c36..1b4614ab618d 100644
> > > --- a/EmulatorPkg/Unix/Host/X64/Gasket.S
> > > +++ b/EmulatorPkg/Unix/Host/X64/Gasket.S
> > > @@ -427,7 +427,7 @@ ASM_PFX(GasketSecEmuThunkAddress):
> > >    ret
> > >
> > >  //
> > > -// Gasket functions for EFI_EMU_UGA_IO_PROTOCOL
> > > +// Gasket functions for EFI_EMU_GRAPHICS_WINDOW_PROTOCOL
> > >  //
> > >
> > >  ASM_GLOBAL ASM_PFX(GasketX11Size)
> > > diff --git a/EmulatorPkg/Win/Host/WinGopScreen.c
> > > b/EmulatorPkg/Win/Host/WinGopScreen.c
> > > index 661573d7771c..69abcfc79564 100644
> > > --- a/EmulatorPkg/Win/Host/WinGopScreen.c
> > > +++ b/EmulatorPkg/Win/Host/WinGopScreen.c
> > > @@ -1,6 +1,6 @@
> > >  /** @file
> > >
> > > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > > reserved.<BR>
> > > +Copyright (c) 2006 - 2022, Intel Corporation. All rights
> > > +reserved.<BR>
> > >  SPDX-License-Identifier: BSD-2-Clause-Patent
> > >
> > >  Module Name:
> > > @@ -396,10 +396,10 @@ WinNtWndSize (
> > >  // TODO:    Delta - add argument and description to function comment
> > >  EFI_STATUS
> > >  WinNtWndBlt (
> > > -  IN  EMU_GRAPHICS_WINDOW_PROTOCOL    *GraphicsIo,
> > > -  IN  EFI_UGA_PIXEL                   *BltBuffer OPTIONAL,
> > > -  IN  EFI_UGA_BLT_OPERATION           BltOperation,
> > > -  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS  *Args
> > > +  IN  EMU_GRAPHICS_WINDOW_PROTOCOL       *GraphicsIo,
> > > +  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer OPTIONAL,
> > > +  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
> > > +  IN  EMU_GRAPHICS_WINDOWS__BLT_ARGS     *Args
> > >    )
> > >  {
> > >    RETURN_STATUS          RStatus;
> > > --
> > > 2.26.2.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#91509): https://edk2.groups.io/g/devel/message/91509
Mute This Topic: https://groups.io/mt/92393247/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-