- EFI_STATUS Status;\r
- EDKII_PLATFORM_LOGO_PROTOCOL *PlatformLogo;\r
- UINT32 SizeOfX;\r
- UINT32 SizeOfY;\r
- INTN DestX;\r
- INTN DestY;\r
- UINT8 *ImageData;\r
- UINTN ImageSize;\r
- UINTN BltSize;\r
- UINT32 Instance;\r
- UINTN Height;\r
- UINTN Width;\r
- EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Blt;\r
- EFI_UGA_DRAW_PROTOCOL *UgaDraw;\r
- UINT32 ColorDepth;\r
- UINT32 RefreshRate;\r
- EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;\r
- EFI_BOOT_LOGO_PROTOCOL *BootLogo;\r
- UINTN NumberOfLogos;\r
- EFI_GRAPHICS_OUTPUT_BLT_PIXEL *LogoBlt;\r
- UINTN LogoDestX;\r
- UINTN LogoDestY;\r
- UINTN LogoHeight;\r
- UINTN LogoWidth;\r
- UINTN NewDestX;\r
- UINTN NewDestY;\r
- UINTN NewHeight;\r
- UINTN NewWidth;\r
- UINTN BufferSize;\r
+ EFI_STATUS Status;\r
+ EDKII_PLATFORM_LOGO_PROTOCOL *PlatformLogo;\r
+ EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE Attribute;\r
+ INTN OffsetX;\r
+ INTN OffsetY;\r
+ UINT32 SizeOfX;\r
+ UINT32 SizeOfY;\r
+ INTN DestX;\r
+ INTN DestY;\r
+ UINT32 Instance;\r
+ EFI_IMAGE_INPUT Image;\r
+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Blt;\r
+ EFI_UGA_DRAW_PROTOCOL *UgaDraw;\r
+ UINT32 ColorDepth;\r
+ UINT32 RefreshRate;\r
+ EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;\r
+ EFI_BOOT_LOGO_PROTOCOL *BootLogo;\r
+ UINTN NumberOfLogos;\r
+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL *LogoBlt;\r
+ UINTN LogoDestX;\r
+ UINTN LogoDestY;\r
+ UINTN LogoHeight;\r
+ UINTN LogoWidth;\r
+ UINTN NewDestX;\r
+ UINTN NewDestY;\r
+ UINTN BufferSize;\r
+\r
+ Status = gBS->LocateProtocol (&gEdkiiPlatformLogoProtocolGuid, NULL, (VOID **) &PlatformLogo);\r
+ if (EFI_ERROR (Status)) {\r
+ return EFI_UNSUPPORTED;\r
+ }\r