From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web11.13973.1658641089979141013 for ; Sat, 23 Jul 2022 22:38:10 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=iYlX/a4U; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: bob.c.feng@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1658641090; x=1690177090; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=wpIJAJKX5FIbJ+NCAnGYs/s16Qkn7n09gVaLPnD2Fek=; b=iYlX/a4UvsOmQ9+PCmuVF0wxbtX8zBHF6jKJ/GYJlALw1l8Rj9jPC3BJ Ti8n4Czg0J5IxsXmyxx2qXHeBy2I7v1fkqUhX5xxPD3ygMrgTebCNj68c XcXe/iYWnIHHfV5d0lCjWeTjN0R8WZlMLZXFGzVw3kVsN1pvSNL2pu1LZ 28AvN+c6NXh9ZWCFJ7GfajkdFp+28WcJq5hib5ucNAEHGAkhO2S0KOwzi 5kK46DJBEh/4bj16vmxuNtLQwmGgyTs4QS4Rxoxs9TBgeW+UxGEyR7b5D gcRGF60wmh+kImZx83ZQh+Ex845MF+6pT8uMetAHABuAThmFXTvEO/42B w==; X-IronPort-AV: E=McAfee;i="6400,9594,10417"; a="288696953" X-IronPort-AV: E=Sophos;i="5.93,189,1654585200"; d="scan'208";a="288696953" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Jul 2022 22:38:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,189,1654585200"; d="scan'208";a="574634882" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by orsmga006.jf.intel.com with ESMTP; 23 Jul 2022 22:38:09 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Sat, 23 Jul 2022 22:38:08 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Sat, 23 Jul 2022 22:38:08 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.109) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Sat, 23 Jul 2022 22:38:08 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C0MIPIDDfm/GzWNBAPevII/ctZssFtfbyIcuJyBI6hOvfigrZQ6ZLnX/PuQvdVSjhZ1SfZlWPtP8gjxfqceyBD9OPHI5SfydFUmeNjkPM4qlWxMZJAr8ZcdPswXKpjTNXYQTx7PRpotolwfjoujX2KG3FIlSYpEvXBneKGtCmWuY2g+CkDyfdaXVidBJog+yYVpgvaTlbdPktEEQI0yXrnrGaHAgJSLizKRpqpALiPyF3ZAh0SLRTdTrqQiybshyIVS9cg0Hu99illcbaj8jvObYPscXCwVywcLswohK3rV5iHNqMKUCJfWfkedL0/hVwE06vqmONXv40yYk6LfldQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ngoW88OUAuGc9vk2r5zir99pS+9e4FlCtRpfQMsUpW0=; b=RfJFlzlowG8vu5P2JddvkOl8VYZ1jbruzVIGxf3btQdWmwlEZwFEH9KDzK5jGACf9FKiGXSDmNzLzkHL4tCcBH3GE5f1X+mFWTho6NJS5OpGQoTqX4Q9wdmMxJbGfsZGxi3PMLSh+CLBdkiSrmR0qOgBrqqt6z8q/o15jHKe99w/ky5J/pRb1ukHY82v5awFxRoZq7z9/k3Hfrn6aAZToL4WyNTYgSyDTHBl3igPoZUGM4vgK0mqtsyrj4PwY6aCuQVcGZ+3GNRC9avu20k8CZb4TCbpDborAjoJNnSECQpWpSoKtM1VIcNAvQ/chnFnD1xLEGm/P0YH4dm/ERJ01w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH7PR11MB5863.namprd11.prod.outlook.com (2603:10b6:510:135::11) by DM6PR11MB3259.namprd11.prod.outlook.com (2603:10b6:5:5d::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.22; Sun, 24 Jul 2022 05:38:00 +0000 Received: from PH7PR11MB5863.namprd11.prod.outlook.com ([fe80::943:4b5a:b96b:30f8]) by PH7PR11MB5863.namprd11.prod.outlook.com ([fe80::943:4b5a:b96b:30f8%5]) with mapi id 15.20.5458.023; Sun, 24 Jul 2022 05:38:00 +0000 From: "Bob Feng" To: "Jiang, Guomin" , "devel@edk2.groups.io" CC: "Gao, Liming" , "Chen, Christine" Subject: Re: [Patch v2 10/11] BaseTools: Remove all UGA support Thread-Topic: [Patch v2 10/11] BaseTools: Remove all UGA support Thread-Index: AQHYl+1z3HZ+Fy51pkW6o49UzsMIiq2NDyFg Date: Sun, 24 Jul 2022 05:37:59 +0000 Message-ID: References: <20220715015106.1553-1-guomin.jiang@intel.com> <20220715015106.1553-11-guomin.jiang@intel.com> In-Reply-To: <20220715015106.1553-11-guomin.jiang@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c5d05748-c826-4d51-35b6-08da6d36ab88 x-ms-traffictypediagnostic: DM6PR11MB3259:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FPoKJwqAZOv6d9CMPdR4L2kybaPNRS0kqZBexK5EvfW+7XrNZevnJ4CZ0diFttNWCCx/aOtl0A74olI68mTJP3sIL13wapkwbigHuqU1BHOFrI42mOJJi6YMdlxcW2K6mAGzPklWlKMQZIdLXpODz2Xagvd1s4FxEmjH3lnZM1w7Vyf9Mc9mwx2rRl5jzTjQgjtUk1SYqezsaIhC+MEfDLU05GQakPW30HneFN5DnChFTGw/LBr+t01tcjjlvH4llsadVgQ8hKWx/Fix5Qadmgj+MlZ+AtE6TUb5AQpdgi6bVINSzW7aJPkzueSa1uMoyB6W7ENA3hAeKCOlhBO5YoOcxSqceqJoEcSdrjvnqXvf4VUUuMXCzhLbm7kv0F3gV+uk50Ts6whc1g8AiFGEHsZ6xPRObsJlsL8IP1XnlMZSgQCBviFj9WQLEU1kugfKkhnPtzdb/XDBfJZX0VwsGgXSj1cPQKaR8zWrRY6x5fXljlZkMCpVUMw76XKS2RJe4EMHz7S97lPrrMEW0bPqGEcGIVAj9gqjGECJR42ZmHs0HkWHLZPlcgiMFQPnyGQ/ZD9XCDipuoqAvzPEVA6hYGzpHIGP89x1XLqLfqg5RYSwd5pHr//Fpf+wIl//1DhTTTbRgmJ/B6nGcBI3i8p+3IOLZM8Hl4dbu0/lKu/PXeY3TrfWlF1vQKqOCFSFy8EHtWDpj7pAn6MM48IMnJStppcPEzHKo4KHo+77r11IZ9G+ffa4YsZ+/u5gWfXRCDVq7Ufq7/7P6zFxHGLeoXuoVjuxrbjxy37svZmyTUL0BJ/9+imP6snTHCnRZizPFNPvlnJwg0C5ZPyAr+adYZWoIw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH7PR11MB5863.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(136003)(396003)(366004)(346002)(39860400002)(52536014)(8936002)(478600001)(966005)(82960400001)(107886003)(86362001)(122000001)(53546011)(7696005)(2906002)(6506007)(33656002)(55016003)(5660300002)(71200400001)(26005)(9686003)(38100700002)(41300700001)(83380400001)(316002)(38070700005)(8676002)(66946007)(66556008)(66476007)(66446008)(64756008)(4326008)(76116006)(54906003)(186003)(110136005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?F4/ZhwOwsfeMWI0+uGKQ9dn1AbVAkID60pBT+h6g2S+WqCCvsrPtHu1K2bbB?= =?us-ascii?Q?nj2va5c3287q96gTMfn5PYE87AZ7WWiLNmTatuoGjtzyHln21iW2/AIKvaqN?= =?us-ascii?Q?r59wxg1EowWadvDGuvEnR8H4ODA3BQprlxsmMZ+kS7Pw+c5eSEQkKKaMTUxi?= =?us-ascii?Q?mb10NxsYFEDO73QDeuX6xVhFtJgnCdXQvQYtaDbu0MXHwlxT4TNqnOOWWgZr?= =?us-ascii?Q?+hb5tTnfQKes2tGj9X59AFhcJNVpj08Se4eqt9cKsCJMXgI0V1GUNNhswRuz?= =?us-ascii?Q?UVBgXSKr+z9QcOgGDP8QH9FLmpKtMbsZxvbqvHSA5mZo52WmArf3FUMydjgl?= =?us-ascii?Q?MahZgg+vbYRu0n1SzGHfoqH66H8PjaW/oLLytZP79t8koZnBCpNUkdrGhNf4?= =?us-ascii?Q?3CiDHMu8WzqvHu4NPMa1BbqbChRuROf7Y4L+pHlF2UJk+DI7tmUD7zDG/s12?= =?us-ascii?Q?tVHORZS6wBh6IQaLWIQh/QdUucY+0QQpkVoBzf3omY6KGas23UEwyN0m9rb5?= =?us-ascii?Q?u85af7PE/BvIG2dia17Cv760L+seBKSfFy+zF1geIXQapFkT7j6kBdZqGyLc?= =?us-ascii?Q?xsVothO2YtZssV7JSgjt72+9wyj/l6+VKul7DPe6OZofE2Ih9/BsubaIUJnK?= =?us-ascii?Q?WXmNAJe3VFZ4XOgSrqPNKewaVL0+aPmmEusc7Bo5FyOn1bOyZwLcAuvhoGNX?= =?us-ascii?Q?Yluhi6vh401cQ+IvXhtLOz7AU+zGHBZuAdv9tF1YUQK77UBp7BxrdeJL8dCD?= =?us-ascii?Q?kS2KInmQxYMmTYuImwh7JBBO96Fj+u8vkNOI4fLgCCm1KibNksGR71p3aSqN?= =?us-ascii?Q?LUcrQKIMSE5F4DkONqyX2mLId0PmFQNF2y4rwuNNs4eK4Jfv/BsVHG5jSTB/?= =?us-ascii?Q?/tungrYUteQjxWw9DrUW+1jPnHpDpirFYegKEfnjRTpLNLMmbrtrUzNFDhSj?= =?us-ascii?Q?x+1idrDvUHE4aWwOTAHVeBd8B89X8dZzBRJUqyOy6t4YWKqSwSuqWklx5ufW?= =?us-ascii?Q?GKJ3gWVETLTmwCEtaCLWUQLUcQrLtmULbB7G8vVkdUO05fDAPbZrJW9wKp05?= =?us-ascii?Q?8DeLwHgQR7GjBXxP7wmzEW2fqw8TGW3wK7e681mbQDkxmROZ2vocxCIvFADp?= =?us-ascii?Q?K9LbSPNIj8DdIPriPvnUp6bKOhq1PdJYFY9pCoQsg1TXF0KEQuASftcnfHaO?= =?us-ascii?Q?3sKdeyeKlK+I37eBzFV5LAPaKYLNOuOVURMjZtZ2FlcZ+VjKlE0EjSLRl3Ty?= =?us-ascii?Q?0ejR0BFmuXUiaCJK5zWPbQYIL0ONYC3hryf1md7bfoZz1MxotyyaDhRyLHPp?= =?us-ascii?Q?Yu4djMk4U9K8mLLFJxkHgBGUl7qwVF0DSNlCPR3ouXGNtMt7+G7VRJQjj7Qk?= =?us-ascii?Q?eqouOlC0jXXs2CdFjKgirMp08BQtzj6FmCZ3auPNHio3dwNe6eSoqaCi2Xhu?= =?us-ascii?Q?AdaTOXw1Yrb0JD9Q2IabLQRmq35YSLqUJWEKQK/HghsjG/zsbVwp8fXbHFY3?= =?us-ascii?Q?8lN9SHARKGRYkGzsdbxoVMqYUv4VImu/5clD/xhD81IqAdvB+0RXlzo47l8w?= =?us-ascii?Q?SG3cey7r6Yxuwd+7vliTI3jEfLvpjD4oQNIQpn74?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR11MB5863.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5d05748-c826-4d51-35b6-08da6d36ab88 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2022 05:37:59.9526 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eb9crE1b3uCN2yqganCvLiINPsvN334Mbts1R4hpr7+w7TFvR4oJOSx338odwX141rUVpx+gm/Q3jznNhiOfEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3259 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Bob Feng -----Original Message----- From: Jiang, Guomin =20 Sent: Friday, July 15, 2022 9:51 AM To: devel@edk2.groups.io Cc: Feng, Bob C ; Gao, Liming ; Chen, Christine Subject: [Patch v2 10/11] BaseTools: Remove all UGA support REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2368 Remove UGA code in BaseTools Signed-off-by: Guomin Jiang Cc: Bob Feng Cc: Liming Gao Cc: Yuwei Chen --- .../Source/C/Include/Protocol/HiiFramework.h | 53 +----- BaseTools/Sour= ce/C/Include/Protocol/UgaDraw.h | 161 ------------------ 2 files changed, 1 insertion(+), 213 deletions(-) delete mode 100644 Base= Tools/Source/C/Include/Protocol/UgaDraw.h diff --git a/BaseTools/Source/C/Include/Protocol/HiiFramework.h b/BaseTools= /Source/C/Include/Protocol/HiiFramework.h index 448350967bbf..4c651f89e0eb 100644 --- a/BaseTools/Source/C/Include/Protocol/HiiFramework.h +++ b/BaseTools/Source/C/Include/Protocol/HiiFramework.h @@ -6,7 +6,7 @@ @par Revision Reference: This protocol is defined in HII spec 0.92. =20 - Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
+ Copyright (c) 2007 - 2022, Intel Corporation. All rights=20 + reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -28,20 +28,6 @@ 0xd7ad636e, 0xb997, 0x459b, {0xbf, 0x3f, 0x88, 0x46, 0x89, 0x79, 0x80,= 0xe1} \ } =20 -// 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; =20 // @@ -575,39 +561,6 @@ EFI_STATUS IN OUT UINT32 *InternalStatus ); =20 -/** - 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 glyp= h data. - @param Foreground The foreground setting requested to be use= d for the - generated BltBuffer data. - @param Background The background setting requested to be use= d for the - generated BltBuffer data. - @param Count The entry in the BltBuffer upon which to a= ct. - @param Width The width in bits of the glyph being conve= rted. - @param Height The height in bits of the glyph being conv= erted - @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. =20 @@ -878,9 +831,6 @@ EFI_STATUS @param GetGlyph Translates a Unicode character into the corresponding font glyph. =20 - @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. =20 @@ -924,7 +874,6 @@ struct _EFI_HII_PROTOCOL { =20 EFI_HII_TEST_STRING TestString; EFI_HII_GET_GLYPH GetGlyph; - EFI_HII_GLYPH_TO_BLT GlyphToBlt; =20 EFI_HII_NEW_STRING NewString; EFI_HII_GET_PRI_LANGUAGES GetPrimaryLanguages; diff --git a/BaseTools/Source/C/Include/Protocol/UgaDraw.h b/BaseTools/Sour= ce/C/Include/Protocol/UgaDraw.h deleted file mode 100644 index 412b000aeb6b..000000000000 --- a/BaseTools/Source/C/Include/Protocol/UgaDraw.h +++ /dev/null @@ -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.
- - 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 pix= els - @param VerticalResolution Current video vertical resolution in pixel= s - @param ColorDepth Current video color depth in bits per pixe= l - @param RefreshRate Current video refresh rate in Hz. - - @retval EFI_SUCCESS Mode information returned. - @retval EFI_NOT_STARTED Video display is not initialized. Call Set= Mode () - @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 pixe= ls - @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 SetM= ode () - -**/ -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: - - EfiUgaVideoFill - Write data from the BltBuffer pixel (SourceX= , SourceY) - directly to every pixel of the video display rectangle - (DestinationX, DestinationY) (DestinationX + Width, DestinationY + H= eight). - Only one pixel will be used from the BltBuffer. Delta is NOT used. - - EfiUgaVideoToBltBuffer - Read data from the video display recta= ngle - (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 byt= es - of a row in the BltBuffer. - - EfiUgaBltBufferToVideo - Write data from the BltBuffer rectang= le - (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to t= he - 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 t= he - BltBuffer. - - EfiUgaVideoToVideo - Copy from the video display rectangle (Sou= rceX, SourceY) - (SourceX + Width, SourceY + Height) .to the video display rectangle - (DestinationX, DestinationY) (DestinationX + Width, DestinationY + He= ight). - 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 b= uffer. This - buffer has a size of Width*Height*sizeof(EF= I_UGA_PIXEL) - @param[in] BltOperation - Operation to perform on BlitBuffer and vide= o 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 BltBuff= er. - @param[in] DestinationY - Y coordinate of destination for the BltBuff= er. - @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 t= he 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 -- 2.26.2.windows.1