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]
-=-=-=-=-=-=-=-=-=-=-=-
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]
-=-=-=-=-=-=-=-=-=-=-=-
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]
-=-=-=-=-=-=-=-=-=-=-=-
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]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.