From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id A1A271A1DF1 for ; Mon, 26 Sep 2016 02:30:38 -0700 (PDT) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga101.fm.intel.com with ESMTP; 26 Sep 2016 02:30:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,398,1470726000"; d="scan'208";a="13208291" Received: from ray-dev.ccr.corp.intel.com ([10.239.9.25]) by fmsmga006.fm.intel.com with ESMTP; 26 Sep 2016 02:30:37 -0700 From: Ruiyu Ni To: edk2-devel@lists.01.org Date: Mon, 26 Sep 2016 17:30:16 +0800 Message-Id: <20160926093035.350612-1-ruiyu.ni@intel.com> X-Mailer: git-send-email 2.9.0.windows.1 Subject: [PATCH v2 00/19] Add HiiImageEx implementations X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Sep 2016 09:30:38 -0000 The patch serials also change the BootLogoLib and EDKII Platform Logo protocol to use the HiiImageEx. The change to the BootLogoLib and EDKII Platform Logo protocol is incompatible but since the consumers are limited to only Nt32/ArmVirt/Ovmf so the impact is small. Nt32Pkg/ArmVirtPkg/OvmfPkg are changed accordingly due to the change of BootLogoLib. Compare to v1, v2 added the missing HiiImageDecoder.h, passed the PatchChecke script, and addressed the following comments raised by Liming: 1). This is the incompatible change in BootLogoLib. It also impacts OvmfPkg and ArmVirtPkg. Please highlight this change in cover letter, and update OvmfPkg and ArmVirtPkg both. 2) HiiDrawImageIdEx() directly calls HiiDrawImageId(). But, HiiDrawImageId() doesn't support JPEG and PNG. This is a functional issue in HiiDrawImageIdEx(). 3) IGetImage() will call Decoder protocol to get the output ImageOut. Per UEFI spec, ImageOut is allocated by Decoder protocol, and free by the caller. Please free it in IGetImage() The total 19 commits can be reviewed in following url: https://github.com/niruiyu/edk2/commits/HiiImage Ruiyu Ni (19): MdeModulePkg/HiiDatabase: Refine GetImageIdOrAddress MdeModulePkg/HiiDatabase: Move common code to LocatePackageList() MdeModulePkg/HiiDatabase: Refine HiiNewImage() MdeModulePkg/HiiDatabase: Refine HiiGetImage() MdeModulePkg/HiiDatabase: Refine HiiSetImage() MdeModulePkg/HiiDatabase: Refine HiiDrawImage() MdemodulePkg/HiiDatabase: Correct typo in comments. MdePkg/HiiImage.h: Include GraphicsOutput.h MdeModulePkg/HiiDatabase: Update HiiImage to support PNG/JPEG MdePkg/HiiImageDecoder.h: Add HiiImageDecoder protocol header file MdeModulePkg/HiiDatabase: Add HiiImageEx implementation. Nt32Pkg/PlatformBds: Do not call BootLogoEnableLogo ArmVirtPkg/PlatformBds: Do not call BootLogoEnableLogo OvmfPkg/PlatformBds: Do not call BootLogoEnableLogo MdeModulePkg/BootLogoLib&PlatformLogo: Use HII data types in parameters MdeModulePkg/Logo: Add LogoDxe module Nt32Pkg: Use the new LogoDxe driver ArmVirtPkg: Use the new LogoDxe driver OvmfPkg: Use the new LogoDxe driver ArmVirtPkg/ArmVirtQemu.dsc | 7 +- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 4 +- ArmVirtPkg/ArmVirtQemuKernel.dsc | 7 +- .../Library/PlatformBootManagerLib/PlatformBm.c | 8 +- .../PlatformBootManagerLib.inf | 1 - MdeModulePkg/Include/Library/BootLogoLib.h | 19 +- MdeModulePkg/Include/Protocol/PlatformLogo.h | 20 +- MdeModulePkg/Library/BootLogoLib/BootLogoLib.c | 204 +++---- MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf | 8 +- MdeModulePkg/Logo/Logo.c | 156 ++++++ MdeModulePkg/Logo/Logo.idf | 18 + MdeModulePkg/Logo/LogoDxe.inf | 60 ++ MdeModulePkg/Logo/LogoDxe.uni | 21 + MdeModulePkg/Logo/LogoDxeExtra.uni | 19 + MdeModulePkg/MdeModulePkg.dec | 2 +- .../HiiDatabaseDxe/ConfigKeywordHandler.c | 36 +- .../Universal/HiiDatabaseDxe/ConfigRouting.c | 60 +- MdeModulePkg/Universal/HiiDatabaseDxe/Database.c | 16 +- MdeModulePkg/Universal/HiiDatabaseDxe/Font.c | 38 +- .../Universal/HiiDatabaseDxe/HiiDatabase.h | 295 +++++++++- .../Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf | 7 +- .../Universal/HiiDatabaseDxe/HiiDatabaseEntry.c | 34 +- MdeModulePkg/Universal/HiiDatabaseDxe/Image.c | 620 ++++++++++----------- MdeModulePkg/Universal/HiiDatabaseDxe/ImageEx.c | 423 ++++++++++++++ MdePkg/Include/Protocol/HiiImage.h | 4 +- MdePkg/Include/Protocol/HiiImageDecoder.h | 200 +++++++ .../PlatformBootManagerLib/PlatformBootManager.c | 4 +- .../PlatformBootManagerLib.inf | 4 +- Nt32Pkg/Nt32Pkg.dsc | 7 +- Nt32Pkg/Nt32Pkg.fdf | 5 +- .../Library/PlatformBootManagerLib/BdsPlatform.c | 8 +- .../PlatformBootManagerLib.inf | 1 - OvmfPkg/OvmfPkgIa32.dsc | 3 +- OvmfPkg/OvmfPkgIa32.fdf | 4 +- OvmfPkg/OvmfPkgIa32X64.dsc | 3 +- OvmfPkg/OvmfPkgIa32X64.fdf | 4 +- OvmfPkg/OvmfPkgX64.dsc | 3 +- OvmfPkg/OvmfPkgX64.fdf | 4 +- 38 files changed, 1686 insertions(+), 651 deletions(-) create mode 100644 MdeModulePkg/Logo/Logo.c create mode 100644 MdeModulePkg/Logo/Logo.idf create mode 100644 MdeModulePkg/Logo/LogoDxe.inf create mode 100644 MdeModulePkg/Logo/LogoDxe.uni create mode 100644 MdeModulePkg/Logo/LogoDxeExtra.uni create mode 100644 MdeModulePkg/Universal/HiiDatabaseDxe/ImageEx.c create mode 100644 MdePkg/Include/Protocol/HiiImageDecoder.h -- 2.9.0.windows.1