mirror of
				https://gitlab.com/qemu-project/edk2.git
				synced 2025-10-30 07:56:39 +08:00 
			
		
		
		
	BaseTools: Remove UGA support
The Universal Graphics Adapter (UGA) is a graphic abstraction. The UGA I/O and Draw protocols are deprecated since UEFI 2.0 was introduced. Cf. the UEFI spec v2.9: "Appendix L - EFI 1.10 Protocol Changes and Deprecation List" section L.2 "Deprecated Protocols" Remove the UGA support. Signed-off-by: GuoMinJ <newexplorerj@gmail.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
This commit is contained in:
		| @ -28,19 +28,6 @@ | ||||
|     0xd7ad636e, 0xb997, 0x459b, {0xbf, 0x3f, 0x88, 0x46, 0x89, 0x79, 0x80, 0xe1} \ | ||||
|   } | ||||
|  | ||||
| // BugBug: | ||||
| //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | ||||
| // If UGA goes away we need to put this some place. I'm not sure where? | ||||
| // | ||||
| //typedef struct { | ||||
| //  UINT8 Blue; | ||||
| //  UINT8 Green; | ||||
| //  UINT8 Red; | ||||
| //  UINT8 Reserved; | ||||
| //} EFI_UGA_PIXEL; | ||||
|  | ||||
| //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ | ||||
| // | ||||
|  | ||||
| typedef struct _EFI_HII_PROTOCOL  EFI_HII_PROTOCOL; | ||||
|  | ||||
| @ -575,39 +562,6 @@ EFI_STATUS | ||||
|   IN OUT UINT32            *InternalStatus | ||||
|   ); | ||||
|  | ||||
| /** | ||||
|   Translates a glyph into the format required for input to the Universal | ||||
|   Graphics Adapter (UGA) Block Transfer (BLT) routines. | ||||
|  | ||||
|   @param  This                  A pointer to the EFI_HII_PROTOCOL instance. | ||||
|   @param  GlyphBuffer           A pointer to the buffer that contains glyph data. | ||||
|   @param  Foreground            The foreground setting requested to be used for the | ||||
|                                 generated BltBuffer data. | ||||
|   @param  Background            The background setting requested to be used for the | ||||
|                                 generated BltBuffer data. | ||||
|   @param  Count                 The entry in the BltBuffer upon which to act. | ||||
|   @param  Width                 The width in bits of the glyph being converted. | ||||
|   @param  Height                The height in bits of the glyph being converted | ||||
|   @param  BltBuffer             A pointer to the buffer that contains the data that is | ||||
|                                 ready to be used by the UGA BLT routines. | ||||
|  | ||||
|   @retval EFI_SUCCESS           It worked. | ||||
|   @retval EFI_NOT_FOUND         A glyph for a character was not found. | ||||
|  | ||||
| **/ | ||||
| typedef | ||||
| EFI_STATUS | ||||
| (EFIAPI *EFI_HII_GLYPH_TO_BLT) ( | ||||
|   IN     EFI_HII_PROTOCOL             *This, | ||||
|   IN     UINT8                        *GlyphBuffer, | ||||
|   IN     EFI_GRAPHICS_OUTPUT_BLT_PIXEL Foreground, | ||||
|   IN     EFI_GRAPHICS_OUTPUT_BLT_PIXEL Background, | ||||
|   IN     UINTN                         Count, | ||||
|   IN     UINTN                         Width, | ||||
|   IN     UINTN                         Height, | ||||
|   IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer | ||||
|   ); | ||||
|  | ||||
| /** | ||||
|   Allows a new string to be added to an already existing string package. | ||||
|  | ||||
| @ -878,9 +832,6 @@ EFI_STATUS | ||||
|   @param GetGlyph | ||||
|   Translates a Unicode character into the corresponding font glyph. | ||||
|  | ||||
|   @param GlyphToBlt | ||||
|   Converts a glyph value into a format that is ready for a UGA BLT command. | ||||
|  | ||||
|   @param NewString | ||||
|   Allows a new string to be added to an already existing string package. | ||||
|  | ||||
| @ -924,7 +875,6 @@ struct _EFI_HII_PROTOCOL { | ||||
|  | ||||
|   EFI_HII_TEST_STRING         TestString; | ||||
|   EFI_HII_GET_GLYPH           GetGlyph; | ||||
|   EFI_HII_GLYPH_TO_BLT        GlyphToBlt; | ||||
|  | ||||
|   EFI_HII_NEW_STRING          NewString; | ||||
|   EFI_HII_GET_PRI_LANGUAGES   GetPrimaryLanguages; | ||||
|  | ||||
| @ -1,161 +0,0 @@ | ||||
| /** @file | ||||
|   UGA Draw protocol from the EFI 1.1 specification. | ||||
|  | ||||
|   Abstraction of a very simple graphics device. | ||||
|  | ||||
|   Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> | ||||
|  | ||||
|   SPDX-License-Identifier: BSD-2-Clause-Patent | ||||
|  | ||||
| **/ | ||||
|  | ||||
| #ifndef __UGA_DRAW_H__ | ||||
| #define __UGA_DRAW_H__ | ||||
|  | ||||
| #define EFI_UGA_DRAW_PROTOCOL_GUID \ | ||||
|   { \ | ||||
|     0x982c298b, 0xf4fa, 0x41cb, {0xb8, 0x38, 0x77, 0xaa, 0x68, 0x8f, 0xb8, 0x39 } \ | ||||
|   } | ||||
|  | ||||
| typedef struct _EFI_UGA_DRAW_PROTOCOL EFI_UGA_DRAW_PROTOCOL; | ||||
|  | ||||
| /** | ||||
|   Return the current video mode information. | ||||
|  | ||||
|   @param  This                  Protocol instance pointer. | ||||
|   @param  HorizontalResolution  Current video horizontal resolution in pixels | ||||
|   @param  VerticalResolution    Current video vertical resolution in pixels | ||||
|   @param  ColorDepth            Current video color depth in bits per pixel | ||||
|   @param  RefreshRate           Current video refresh rate in Hz. | ||||
|  | ||||
|   @retval EFI_SUCCESS           Mode information returned. | ||||
|   @retval EFI_NOT_STARTED       Video display is not initialized. Call SetMode () | ||||
|   @retval EFI_INVALID_PARAMETER One of the input args was NULL. | ||||
|  | ||||
| **/ | ||||
| typedef | ||||
| EFI_STATUS | ||||
| (EFIAPI *EFI_UGA_DRAW_PROTOCOL_GET_MODE) ( | ||||
|   IN  EFI_UGA_DRAW_PROTOCOL *This, | ||||
|   OUT UINT32                *HorizontalResolution, | ||||
|   OUT UINT32                *VerticalResolution, | ||||
|   OUT UINT32                *ColorDepth, | ||||
|   OUT UINT32                *RefreshRate | ||||
|   ) | ||||
| ; | ||||
|  | ||||
| /** | ||||
|   Return the current video mode information. | ||||
|  | ||||
|   @param  This                 Protocol instance pointer. | ||||
|   @param  HorizontalResolution Current video horizontal resolution in pixels | ||||
|   @param  VerticalResolution   Current video vertical resolution in pixels | ||||
|   @param  ColorDepth           Current video color depth in bits per pixel | ||||
|   @param  RefreshRate          Current video refresh rate in Hz. | ||||
|  | ||||
|   @retval EFI_SUCCESS          Mode information returned. | ||||
|   @retval EFI_NOT_STARTED      Video display is not initialized. Call SetMode () | ||||
|  | ||||
| **/ | ||||
| typedef | ||||
| EFI_STATUS | ||||
| (EFIAPI *EFI_UGA_DRAW_PROTOCOL_SET_MODE) ( | ||||
|   IN  EFI_UGA_DRAW_PROTOCOL *This, | ||||
|   IN  UINT32                HorizontalResolution, | ||||
|   IN  UINT32                VerticalResolution, | ||||
|   IN  UINT32                ColorDepth, | ||||
|   IN  UINT32                RefreshRate | ||||
|   ) | ||||
| ; | ||||
|  | ||||
| typedef struct { | ||||
|   UINT8 Blue; | ||||
|   UINT8 Green; | ||||
|   UINT8 Red; | ||||
|   UINT8 Reserved; | ||||
| } EFI_UGA_PIXEL; | ||||
|  | ||||
| typedef union { | ||||
|   EFI_UGA_PIXEL Pixel; | ||||
|   UINT32        Raw; | ||||
| } EFI_UGA_PIXEL_UNION; | ||||
|  | ||||
| typedef enum { | ||||
|   EfiUgaVideoFill, | ||||
|   EfiUgaVideoToBltBuffer, | ||||
|   EfiUgaBltBufferToVideo, | ||||
|   EfiUgaVideoToVideo, | ||||
|   EfiUgaBltMax | ||||
| } EFI_UGA_BLT_OPERATION; | ||||
|  | ||||
| /** | ||||
|   Type specifying a pointer to a function to perform an UGA Blt operation. | ||||
|  | ||||
|     The following table defines actions for BltOperations: | ||||
|  | ||||
|     <B>EfiUgaVideoFill</B> - Write data from the  BltBuffer pixel (SourceX, SourceY) | ||||
|       directly to every pixel of the video display rectangle | ||||
|       (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height). | ||||
|       Only one pixel will be used from the BltBuffer. Delta is NOT used. | ||||
|  | ||||
|     <B>EfiUgaVideoToBltBuffer</B> - Read data from the video display rectangle | ||||
|       (SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in | ||||
|       the BltBuffer rectangle (DestinationX, DestinationY ) | ||||
|       (DestinationX + Width, DestinationY + Height). If DestinationX or | ||||
|       DestinationY is not zero then Delta must be set to the length in bytes | ||||
|       of a row in the BltBuffer. | ||||
|  | ||||
|     <B>EfiUgaBltBufferToVideo</B> - Write data from the  BltBuffer rectangle | ||||
|       (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the | ||||
|       video display rectangle (DestinationX, DestinationY) | ||||
|       (DestinationX + Width, DestinationY + Height). If SourceX or SourceY is | ||||
|       not zero then Delta must be set to the length in bytes of a row in the | ||||
|       BltBuffer. | ||||
|  | ||||
|     <B>EfiUgaVideoToVideo</B> - Copy from the video display rectangle (SourceX, SourceY) | ||||
|      (SourceX + Width, SourceY + Height) .to the video display rectangle | ||||
|      (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height). | ||||
|      The BltBuffer and Delta  are not used in this mode. | ||||
|  | ||||
|  | ||||
|     @param[in] This          - Protocol instance pointer. | ||||
|     @param[in] BltBuffer     - Buffer containing data to blit into video buffer. This | ||||
|                                buffer has a size of Width*Height*sizeof(EFI_UGA_PIXEL) | ||||
|     @param[in] BltOperation  - Operation to perform on BlitBuffer and video memory | ||||
|     @param[in] SourceX       - X coordinate of source for the BltBuffer. | ||||
|     @param[in] SourceY       - Y coordinate of source for the BltBuffer. | ||||
|     @param[in] DestinationX  - X coordinate of destination for the BltBuffer. | ||||
|     @param[in] DestinationY  - Y coordinate of destination for the BltBuffer. | ||||
|     @param[in] Width         - Width of rectangle in BltBuffer in pixels. | ||||
|     @param[in] Height        - Height of rectangle in BltBuffer in pixels. | ||||
|     @param[in] Delta         - OPTIONAL | ||||
|  | ||||
|     @retval EFI_SUCCESS           - The Blt operation completed. | ||||
|     @retval EFI_INVALID_PARAMETER - BltOperation is not valid. | ||||
|     @retval EFI_DEVICE_ERROR      - A hardware error occurred writing to the video buffer. | ||||
|  | ||||
| --*/ | ||||
| typedef | ||||
| EFI_STATUS | ||||
| (EFIAPI *EFI_UGA_DRAW_PROTOCOL_BLT) ( | ||||
|   IN  EFI_UGA_DRAW_PROTOCOL                   * This, | ||||
|   IN  EFI_UGA_PIXEL                           * BltBuffer, OPTIONAL | ||||
|   IN  EFI_UGA_BLT_OPERATION                   BltOperation, | ||||
|   IN  UINTN                                   SourceX, | ||||
|   IN  UINTN                                   SourceY, | ||||
|   IN  UINTN                                   DestinationX, | ||||
|   IN  UINTN                                   DestinationY, | ||||
|   IN  UINTN                                   Width, | ||||
|   IN  UINTN                                   Height, | ||||
|   IN  UINTN                                   Delta         OPTIONAL | ||||
|   ); | ||||
|  | ||||
| struct _EFI_UGA_DRAW_PROTOCOL { | ||||
|   EFI_UGA_DRAW_PROTOCOL_GET_MODE  GetMode; | ||||
|   EFI_UGA_DRAW_PROTOCOL_SET_MODE  SetMode; | ||||
|   EFI_UGA_DRAW_PROTOCOL_BLT       Blt; | ||||
| }; | ||||
|  | ||||
| extern EFI_GUID gEfiUgaDrawProtocolGuid; | ||||
|  | ||||
| #endif | ||||
		Reference in New Issue
	
	Block a user
	 GuoMinJ
					GuoMinJ