* [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification
@ 2022-07-26 8:15 Sean Rhodes
2022-07-26 8:15 ` [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo Sean Rhodes
` (3 more replies)
0 siblings, 4 replies; 16+ messages in thread
From: Sean Rhodes @ 2022-07-26 8:15 UTC (permalink / raw)
To: devel; +Cc: Sean Rhodes, Zhichao Gao, Ray Ni, Jian J Wang, Liming Gao
Add an option to position the logo 38.2% from the top of the screen,
which follows the BGRT specification.
Cc: Zhichao Gao <zhichao.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
---
MdeModulePkg/Include/Protocol/PlatformLogo.h | 3 ++-
MdeModulePkg/Library/BootLogoLib/BootLogoLib.c | 7 ++++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/MdeModulePkg/Include/Protocol/PlatformLogo.h b/MdeModulePkg/Include/Protocol/PlatformLogo.h
index 08e1dc35a4..7c9ef63c66 100644
--- a/MdeModulePkg/Include/Protocol/PlatformLogo.h
+++ b/MdeModulePkg/Include/Protocol/PlatformLogo.h
@@ -29,7 +29,8 @@ typedef enum {
EdkiiPlatformLogoDisplayAttributeCenterBottom,
EdkiiPlatformLogoDisplayAttributeLeftBottom,
EdkiiPlatformLogoDisplayAttributeCenterLeft,
- EdkiiPlatformLogoDisplayAttributeCenter
+ EdkiiPlatformLogoDisplayAttributeCenter,
+ EdkiiPlatformLogoDisplayAttributeBGRTSpecification
} EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;
/**
diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
index 478ec2d40e..ac086f9c79 100644
--- a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
+++ b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
@@ -169,7 +169,6 @@ BootLogoEnableLogo (
DestX = SizeOfX - Image.Width;
DestY = 0;
break;
-
case EdkiiPlatformLogoDisplayAttributeCenterLeft:
DestX = 0;
DestY = (SizeOfY - Image.Height) / 2;
@@ -182,7 +181,6 @@ BootLogoEnableLogo (
DestX = SizeOfX - Image.Width;
DestY = (SizeOfY - Image.Height) / 2;
break;
-
case EdkiiPlatformLogoDisplayAttributeLeftBottom:
DestX = 0;
DestY = SizeOfY - Image.Height;
@@ -195,7 +193,10 @@ BootLogoEnableLogo (
DestX = SizeOfX - Image.Width;
DestY = SizeOfY - Image.Height;
break;
-
+ case EdkiiPlatformLogoDisplayAttributeBGRTSpecification:
+ DestX = (SizeOfX - Image.Width) / 2;
+ DestY = (SizeOfY * 382) / 1000 - Image.Height / 2;
+ break;
default:
ASSERT (FALSE);
continue;
--
2.34.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo
2022-07-26 8:15 [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification Sean Rhodes
@ 2022-07-26 8:15 ` Sean Rhodes
2022-08-05 5:58 ` 回复: " gaoliming
2022-07-26 8:15 ` [PATCH 3/3] UefiPayloadPkg: Hook up FOLLOW_BGRT_SPEC macro Sean Rhodes
` (2 subsequent siblings)
3 siblings, 1 reply; 16+ messages in thread
From: Sean Rhodes @ 2022-07-26 8:15 UTC (permalink / raw)
To: devel; +Cc: Sean Rhodes, Zhichao Gao, Ray Ni, Jian J Wang, Liming Gao
When set to true, the Logo is positioned according to the BGRT
specification, 38.2% from the top of the screen. When set to false,
no behaviour is changed and the logo is positioned centrally.
Cc: Zhichao Gao <zhichao.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
---
MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf | 5 ++++-
MdeModulePkg/Logo/Logo.c | 5 +++++
MdeModulePkg/Logo/LogoDxe.inf | 4 ++++
MdeModulePkg/MdeModulePkg.dec | 6 ++++++
MdeModulePkg/MdeModulePkg.uni | 6 ++++++
5 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
index 7d50f2dfa3..14ba8a5906 100644
--- a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
+++ b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
@@ -48,5 +48,8 @@
gEfiUserManagerProtocolGuid ## CONSUMES
gEdkiiPlatformLogoProtocolGuid ## CONSUMES
+[Pcd]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFollowBGRTSpecification ## CONSUMES
+
[FeaturePcd]
- gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## CONSUMES
+ gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## CONSUMES
diff --git a/MdeModulePkg/Logo/Logo.c b/MdeModulePkg/Logo/Logo.c
index 8ab874d2da..73546b32f4 100644
--- a/MdeModulePkg/Logo/Logo.c
+++ b/MdeModulePkg/Logo/Logo.c
@@ -13,6 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include <Protocol/HiiPackageList.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/DebugLib.h>
+#include <Library/PcdLib.h>
typedef struct {
EFI_IMAGE_ID ImageId;
@@ -69,6 +70,10 @@ GetImage (
return EFI_NOT_FOUND;
}
+ if (FixedPcdGetBool (PcdFollowBGRTSpecification)) {
+ mLogos[Current].Attribute = EdkiiPlatformLogoDisplayAttributeBGRTSpecification;
+ }
+
(*Instance)++;
*Attribute = mLogos[Current].Attribute;
*OffsetX = mLogos[Current].OffsetX;
diff --git a/MdeModulePkg/Logo/LogoDxe.inf b/MdeModulePkg/Logo/LogoDxe.inf
index 41215d25d8..c5c8ad0bcf 100644
--- a/MdeModulePkg/Logo/LogoDxe.inf
+++ b/MdeModulePkg/Logo/LogoDxe.inf
@@ -41,6 +41,7 @@
UefiBootServicesTableLib
UefiDriverEntryPoint
DebugLib
+ PcdLib
[Protocols]
gEfiHiiDatabaseProtocolGuid ## CONSUMES
@@ -48,6 +49,9 @@
gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES
gEdkiiPlatformLogoProtocolGuid ## PRODUCES
+[Pcd]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFollowBGRTSpecification ## CONSUMES
+
[Depex]
gEfiHiiDatabaseProtocolGuid AND
gEfiHiiImageExProtocolGuid
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 2bcb9f9453..e09918387c 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -2095,6 +2095,12 @@
# @Prompt The shared bit mask when Intel Tdx is enabled.
gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x10000025
+ ## This PCD sets the position of the Boot Logo.
+ # TRUE - The Logo is positioned according to the BGRT specification.
+ # FALSE - The logo is positioned in the center of the screen.
+ # @ Prompt This position of the boot logo
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFollowBGRTSpecification|FALSE|BOOLEAN|0x10000026
+
[PcdsPatchableInModule]
## Specify memory size with page number for PEI code when
# Loading Module at Fixed Address feature is enabled.
diff --git a/MdeModulePkg/MdeModulePkg.uni b/MdeModulePkg/MdeModulePkg.uni
index b070f15ff2..c6ff7bc1bd 100644
--- a/MdeModulePkg/MdeModulePkg.uni
+++ b/MdeModulePkg/MdeModulePkg.uni
@@ -1334,3 +1334,9 @@
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPcieResizableBarSupport_HELP #language en-US "Indicates if the PCIe Resizable BAR Capability Supported.<BR><BR>\n"
"TRUE - PCIe Resizable BAR Capability is supported.<BR>\n"
"FALSE - PCIe Resizable BAR Capability is not supported.<BR>"
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowBGRTSpecification_PROMPT #language en-US "The position of the Boot Logo"
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowBGRTSpecification_HELP #language en-US "Sets the position of the Logo. When set to true, the Logo is positioned according to the"
+ " BGRT specification, 38.2% from the top of the screen."
+
--
2.34.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* 回复: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo
2022-07-26 8:15 ` [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo Sean Rhodes
@ 2022-08-05 5:58 ` gaoliming
0 siblings, 0 replies; 16+ messages in thread
From: gaoliming @ 2022-08-05 5:58 UTC (permalink / raw)
To: 'Sean Rhodes', devel
Cc: 'Zhichao Gao', 'Ray Ni', 'Jian J Wang'
Sean:
I add my comments below.
> -----邮件原件-----
> 发件人: Sean Rhodes <sean@starlabs.systems>
> 发送时间: 2022年7月26日 16:15
> 收件人: devel@edk2.groups.io
> 抄送: Sean Rhodes <sean@starlabs.systems>; Zhichao Gao
> <zhichao.gao@intel.com>; Ray Ni <ray.ni@intel.com>; Jian J Wang
> <jian.j.wang@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>
> 主题: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of
> the Logo
>
> When set to true, the Logo is positioned according to the BGRT
> specification, 38.2% from the top of the screen. When set to false,
> no behaviour is changed and the logo is positioned centrally.
>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Signed-off-by: Sean Rhodes <sean@starlabs.systems>
> ---
> MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf | 5 ++++-
> MdeModulePkg/Logo/Logo.c | 5 +++++
> MdeModulePkg/Logo/LogoDxe.inf | 4 ++++
> MdeModulePkg/MdeModulePkg.dec | 6 ++++++
> MdeModulePkg/MdeModulePkg.uni | 6 ++++++
> 5 files changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
> b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
> index 7d50f2dfa3..14ba8a5906 100644
> --- a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
> +++ b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
> @@ -48,5 +48,8 @@
> gEfiUserManagerProtocolGuid ## CONSUMES
>
> gEdkiiPlatformLogoProtocolGuid ## CONSUMES
>
>
>
> +[Pcd]
>
> + gEfiMdeModulePkgTokenSpaceGuid.PcdFollowBGRTSpecification ##
> CONSUMES
>
> +
>
> [FeaturePcd]
>
> - gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ## CONSUMES
>
> + gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport ##
> CONSUMES
>
The change in BootLogoLib is not required. Please check.
> diff --git a/MdeModulePkg/Logo/Logo.c b/MdeModulePkg/Logo/Logo.c
> index 8ab874d2da..73546b32f4 100644
> --- a/MdeModulePkg/Logo/Logo.c
> +++ b/MdeModulePkg/Logo/Logo.c
> @@ -13,6 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> #include <Protocol/HiiPackageList.h>
>
> #include <Library/UefiBootServicesTableLib.h>
>
> #include <Library/DebugLib.h>
>
> +#include <Library/PcdLib.h>
>
>
>
> typedef struct {
>
> EFI_IMAGE_ID ImageId;
>
> @@ -69,6 +70,10 @@ GetImage (
> return EFI_NOT_FOUND;
>
> }
>
>
>
> + if (FixedPcdGetBool (PcdFollowBGRTSpecification)) {
>
> + mLogos[Current].Attribute =
> EdkiiPlatformLogoDisplayAttributeBGRTSpecification;
>
> + }
>
> +
Here, please use PcdGetBool().
Thanks
Liming
>
> (*Instance)++;
>
> *Attribute = mLogos[Current].Attribute;
>
> *OffsetX = mLogos[Current].OffsetX;
>
> diff --git a/MdeModulePkg/Logo/LogoDxe.inf
> b/MdeModulePkg/Logo/LogoDxe.inf
> index 41215d25d8..c5c8ad0bcf 100644
> --- a/MdeModulePkg/Logo/LogoDxe.inf
> +++ b/MdeModulePkg/Logo/LogoDxe.inf
> @@ -41,6 +41,7 @@
> UefiBootServicesTableLib
>
> UefiDriverEntryPoint
>
> DebugLib
>
> + PcdLib
>
>
>
> [Protocols]
>
> gEfiHiiDatabaseProtocolGuid ## CONSUMES
>
> @@ -48,6 +49,9 @@
> gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES
>
> gEdkiiPlatformLogoProtocolGuid ## PRODUCES
>
>
>
> +[Pcd]
>
> + gEfiMdeModulePkgTokenSpaceGuid.PcdFollowBGRTSpecification ##
> CONSUMES
>
> +
>
> [Depex]
>
> gEfiHiiDatabaseProtocolGuid AND
>
> gEfiHiiImageExProtocolGuid
>
> diff --git a/MdeModulePkg/MdeModulePkg.dec
> b/MdeModulePkg/MdeModulePkg.dec
> index 2bcb9f9453..e09918387c 100644
> --- a/MdeModulePkg/MdeModulePkg.dec
> +++ b/MdeModulePkg/MdeModulePkg.dec
> @@ -2095,6 +2095,12 @@
> # @Prompt The shared bit mask when Intel Tdx is enabled.
>
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x10
> 000025
>
>
>
> + ## This PCD sets the position of the Boot Logo.
>
> + # TRUE - The Logo is positioned according to the BGRT specification.
>
> + # FALSE - The logo is positioned in the center of the screen.
>
> + # @ Prompt This position of the boot logo
>
> +
> gEfiMdeModulePkgTokenSpaceGuid.PcdFollowBGRTSpecification|FALSE|BOO
> LEAN|0x10000026
>
> +
>
> [PcdsPatchableInModule]
>
> ## Specify memory size with page number for PEI code when
>
> # Loading Module at Fixed Address feature is enabled.
>
> diff --git a/MdeModulePkg/MdeModulePkg.uni
> b/MdeModulePkg/MdeModulePkg.uni
> index b070f15ff2..c6ff7bc1bd 100644
> --- a/MdeModulePkg/MdeModulePkg.uni
> +++ b/MdeModulePkg/MdeModulePkg.uni
> @@ -1334,3 +1334,9 @@
> #string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPcieResizableBarSupport_HELP
> #language en-US "Indicates if the PCIe Resizable BAR Capability
> Supported.<BR><BR>\n"
>
>
> "TRUE - PCIe Resizable BAR Capability is supported.<BR>\n"
>
>
> "FALSE - PCIe Resizable BAR Capability is not supported.<BR>"
>
> +
>
> +#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowBGRTSpecification_PROM
> PT #language en-US "The position of the Boot Logo"
>
> +
>
> +#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowBGRTSpecification_HELP
> #language en-US "Sets the position of the Logo. When set to true, the Logo
is
> positioned according to the"
>
> +
> " BGRT specification, 38.2% from the top of the screen."
>
> +
>
> --
> 2.34.1
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 3/3] UefiPayloadPkg: Hook up FOLLOW_BGRT_SPEC macro
2022-07-26 8:15 [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification Sean Rhodes
2022-07-26 8:15 ` [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo Sean Rhodes
@ 2022-07-26 8:15 ` Sean Rhodes
2022-08-04 10:01 ` [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification Sean Rhodes
2022-08-05 5:59 ` 回复: " gaoliming
3 siblings, 0 replies; 16+ messages in thread
From: Sean Rhodes @ 2022-07-26 8:15 UTC (permalink / raw)
To: devel; +Cc: Sean Rhodes, Guo Dong, Ray Ni
Hook up FOLLOW_BGRT_SPEC macro to PcdFollowBGRTSpecification.
Cc: Guo Dong <guo.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
---
UefiPayloadPkg/UefiPayloadPkg.dsc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc
index 862d440b16..dbfa750c3b 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.dsc
+++ b/UefiPayloadPkg/UefiPayloadPkg.dsc
@@ -41,6 +41,7 @@
DEFINE PS2_MOUSE_ENABLE = TRUE
DEFINE CRYPTO_PROTOCOL_SUPPORT = FALSE
DEFINE SD_MMC_TIMEOUT = 1000000
+ DEFINE FOLLOW_BGRT_SPEC = FALSE
#
# NULL: NullMemoryTestDxe
@@ -425,6 +426,7 @@
gUefiPayloadPkgTokenSpaceGuid.PcdDispatchModuleAbove4GMemory|$(ABOVE_4G_MEMORY)
gUefiPayloadPkgTokenSpaceGuid.PcdBootManagerEscape|$(BOOT_MANAGER_ESCAPE)
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFollowBGRTSpecification|$(FOLLOW_BGRT_SPEC)
gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1800000
!if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
--
2.34.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification
2022-07-26 8:15 [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification Sean Rhodes
2022-07-26 8:15 ` [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo Sean Rhodes
2022-07-26 8:15 ` [PATCH 3/3] UefiPayloadPkg: Hook up FOLLOW_BGRT_SPEC macro Sean Rhodes
@ 2022-08-04 10:01 ` Sean Rhodes
2022-08-05 5:59 ` 回复: " gaoliming
3 siblings, 0 replies; 16+ messages in thread
From: Sean Rhodes @ 2022-08-04 10:01 UTC (permalink / raw)
To: Sean Rhodes, devel
[-- Attachment #1: Type: text/plain, Size: 95 bytes --]
Hi Ray/ Jian/ Liming
Would you be able to review this patch please?
Many thanks
Sean
[-- Attachment #2: Type: text/html, Size: 254 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* 回复: [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification
2022-07-26 8:15 [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification Sean Rhodes
` (2 preceding siblings ...)
2022-08-04 10:01 ` [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification Sean Rhodes
@ 2022-08-05 5:59 ` gaoliming
2022-08-05 6:55 ` Sean Rhodes
3 siblings, 1 reply; 16+ messages in thread
From: gaoliming @ 2022-08-05 5:59 UTC (permalink / raw)
To: devel, sean
Cc: 'Zhichao Gao', 'Ray Ni', 'Jian J Wang'
Sean:
Can you give BGRT spec link? I want to check the spec description.
Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Sean Rhodes
> 发送时间: 2022年7月26日 16:15
> 收件人: devel@edk2.groups.io
> 抄送: Sean Rhodes <sean@starlabs.systems>; Zhichao Gao
> <zhichao.gao@intel.com>; Ray Ni <ray.ni@intel.com>; Jian J Wang
> <jian.j.wang@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>
> 主题: [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to
> follow BGRT specification
>
> Add an option to position the logo 38.2% from the top of the screen,
> which follows the BGRT specification.
>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Signed-off-by: Sean Rhodes <sean@starlabs.systems>
> ---
> MdeModulePkg/Include/Protocol/PlatformLogo.h | 3 ++-
> MdeModulePkg/Library/BootLogoLib/BootLogoLib.c | 7 ++++---
> 2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/MdeModulePkg/Include/Protocol/PlatformLogo.h
> b/MdeModulePkg/Include/Protocol/PlatformLogo.h
> index 08e1dc35a4..7c9ef63c66 100644
> --- a/MdeModulePkg/Include/Protocol/PlatformLogo.h
> +++ b/MdeModulePkg/Include/Protocol/PlatformLogo.h
> @@ -29,7 +29,8 @@ typedef enum {
> EdkiiPlatformLogoDisplayAttributeCenterBottom,
>
> EdkiiPlatformLogoDisplayAttributeLeftBottom,
>
> EdkiiPlatformLogoDisplayAttributeCenterLeft,
>
> - EdkiiPlatformLogoDisplayAttributeCenter
>
> + EdkiiPlatformLogoDisplayAttributeCenter,
>
> + EdkiiPlatformLogoDisplayAttributeBGRTSpecification
>
> } EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;
>
>
>
> /**
>
> diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> index 478ec2d40e..ac086f9c79 100644
> --- a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> +++ b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> @@ -169,7 +169,6 @@ BootLogoEnableLogo (
> DestX = SizeOfX - Image.Width;
>
> DestY = 0;
>
> break;
>
> -
>
> case EdkiiPlatformLogoDisplayAttributeCenterLeft:
>
> DestX = 0;
>
> DestY = (SizeOfY - Image.Height) / 2;
>
> @@ -182,7 +181,6 @@ BootLogoEnableLogo (
> DestX = SizeOfX - Image.Width;
>
> DestY = (SizeOfY - Image.Height) / 2;
>
> break;
>
> -
>
> case EdkiiPlatformLogoDisplayAttributeLeftBottom:
>
> DestX = 0;
>
> DestY = SizeOfY - Image.Height;
>
> @@ -195,7 +193,10 @@ BootLogoEnableLogo (
> DestX = SizeOfX - Image.Width;
>
> DestY = SizeOfY - Image.Height;
>
> break;
>
> -
>
> + case EdkiiPlatformLogoDisplayAttributeBGRTSpecification:
>
> + DestX = (SizeOfX - Image.Width) / 2;
>
> + DestY = (SizeOfY * 382) / 1000 - Image.Height / 2;
>
> + break;
>
> default:
>
> ASSERT (FALSE);
>
> continue;
>
> --
> 2.34.1
>
>
>
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#91842): https://edk2.groups.io/g/devel/message/91842
> Mute This Topic: https://groups.io/mt/92623125/4905953
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub
> [gaoliming@byosoft.com.cn]
> -=-=-=-=-=-=
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification
2022-08-05 5:59 ` 回复: " gaoliming
@ 2022-08-05 6:55 ` Sean Rhodes
2022-08-05 7:04 ` Pedro Falcato
0 siblings, 1 reply; 16+ messages in thread
From: Sean Rhodes @ 2022-08-05 6:55 UTC (permalink / raw)
To: devel, gaoliming; +Cc: Zhichao Gao, Ray Ni, Jian J Wang
[-- Attachment #1: Type: text/plain, Size: 4035 bytes --]
Hi Liming
Microsoft details about positioning can be found here:
https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/boot-screen-components
Thanks
Sean
On Fri, 5 Aug 2022 at 07:00, gaoliming via groups.io <gaoliming=
byosoft.com.cn@groups.io> wrote:
> Sean:
> Can you give BGRT spec link? I want to check the spec description.
>
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Sean Rhodes
> > 发送时间: 2022年7月26日 16:15
> > 收件人: devel@edk2.groups.io
> > 抄送: Sean Rhodes <sean@starlabs.systems>; Zhichao Gao
> > <zhichao.gao@intel.com>; Ray Ni <ray.ni@intel.com>; Jian J Wang
> > <jian.j.wang@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>
> > 主题: [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to
> > follow BGRT specification
> >
> > Add an option to position the logo 38.2% from the top of the screen,
> > which follows the BGRT specification.
> >
> > Cc: Zhichao Gao <zhichao.gao@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Jian J Wang <jian.j.wang@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Signed-off-by: Sean Rhodes <sean@starlabs.systems>
> > ---
> > MdeModulePkg/Include/Protocol/PlatformLogo.h | 3 ++-
> > MdeModulePkg/Library/BootLogoLib/BootLogoLib.c | 7 ++++---
> > 2 files changed, 6 insertions(+), 4 deletions(-)
> >
> > diff --git a/MdeModulePkg/Include/Protocol/PlatformLogo.h
> > b/MdeModulePkg/Include/Protocol/PlatformLogo.h
> > index 08e1dc35a4..7c9ef63c66 100644
> > --- a/MdeModulePkg/Include/Protocol/PlatformLogo.h
> > +++ b/MdeModulePkg/Include/Protocol/PlatformLogo.h
> > @@ -29,7 +29,8 @@ typedef enum {
> > EdkiiPlatformLogoDisplayAttributeCenterBottom,
> >
> > EdkiiPlatformLogoDisplayAttributeLeftBottom,
> >
> > EdkiiPlatformLogoDisplayAttributeCenterLeft,
> >
> > - EdkiiPlatformLogoDisplayAttributeCenter
> >
> > + EdkiiPlatformLogoDisplayAttributeCenter,
> >
> > + EdkiiPlatformLogoDisplayAttributeBGRTSpecification
> >
> > } EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;
> >
> >
> >
> > /**
> >
> > diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> > b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> > index 478ec2d40e..ac086f9c79 100644
> > --- a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> > +++ b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> > @@ -169,7 +169,6 @@ BootLogoEnableLogo (
> > DestX = SizeOfX - Image.Width;
> >
> > DestY = 0;
> >
> > break;
> >
> > -
> >
> > case EdkiiPlatformLogoDisplayAttributeCenterLeft:
> >
> > DestX = 0;
> >
> > DestY = (SizeOfY - Image.Height) / 2;
> >
> > @@ -182,7 +181,6 @@ BootLogoEnableLogo (
> > DestX = SizeOfX - Image.Width;
> >
> > DestY = (SizeOfY - Image.Height) / 2;
> >
> > break;
> >
> > -
> >
> > case EdkiiPlatformLogoDisplayAttributeLeftBottom:
> >
> > DestX = 0;
> >
> > DestY = SizeOfY - Image.Height;
> >
> > @@ -195,7 +193,10 @@ BootLogoEnableLogo (
> > DestX = SizeOfX - Image.Width;
> >
> > DestY = SizeOfY - Image.Height;
> >
> > break;
> >
> > -
> >
> > + case EdkiiPlatformLogoDisplayAttributeBGRTSpecification:
> >
> > + DestX = (SizeOfX - Image.Width) / 2;
> >
> > + DestY = (SizeOfY * 382) / 1000 - Image.Height / 2;
> >
> > + break;
> >
> > default:
> >
> > ASSERT (FALSE);
> >
> > continue;
> >
> > --
> > 2.34.1
> >
> >
> >
> > -=-=-=-=-=-=
> > Groups.io Links: You receive all messages sent to this group.
> > View/Reply Online (#91842): https://edk2.groups.io/g/devel/message/91842
> > Mute This Topic: https://groups.io/mt/92623125/4905953
> > Group Owner: devel+owner@edk2.groups.io
> > Unsubscribe: https://edk2.groups.io/g/devel/unsub
> > [gaoliming@byosoft.com.cn]
> > -=-=-=-=-=-=
> >
>
>
>
>
>
>
>
>
>
[-- Attachment #2: Type: text/html, Size: 6871 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification
2022-08-05 6:55 ` Sean Rhodes
@ 2022-08-05 7:04 ` Pedro Falcato
2022-08-12 4:54 ` 回复: " gaoliming
0 siblings, 1 reply; 16+ messages in thread
From: Pedro Falcato @ 2022-08-05 7:04 UTC (permalink / raw)
To: edk2-devel-groups-io, sean; +Cc: Liming Gao, Zhichao Gao, Ray Ni, Jian J Wang
[-- Attachment #1: Type: text/plain, Size: 4538 bytes --]
Hi Sean,
I think it's clear from the wording that the 38.2% thing is a
recommendation and not mandatory. I was curious and checked out the ACPI
spec and they appear to not mention that at all. Maybe reword things to
"Microsoft recommendation"?
Thanks,
Pedro
On Fri, 5 Aug 2022, 07:55 Sean Rhodes, <sean@starlabs.systems> wrote:
> Hi Liming
>
> Microsoft details about positioning can be found here:
> https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/boot-screen-components
>
> Thanks
>
> Sean
>
> On Fri, 5 Aug 2022 at 07:00, gaoliming via groups.io <gaoliming=
> byosoft.com.cn@groups.io> wrote:
>
>> Sean:
>> Can you give BGRT spec link? I want to check the spec description.
>>
>> Thanks
>> Liming
>> > -----邮件原件-----
>> > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Sean Rhodes
>> > 发送时间: 2022年7月26日 16:15
>> > 收件人: devel@edk2.groups.io
>> > 抄送: Sean Rhodes <sean@starlabs.systems>; Zhichao Gao
>> > <zhichao.gao@intel.com>; Ray Ni <ray.ni@intel.com>; Jian J Wang
>> > <jian.j.wang@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>
>> > 主题: [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to
>> > follow BGRT specification
>> >
>> > Add an option to position the logo 38.2% from the top of the screen,
>> > which follows the BGRT specification.
>> >
>> > Cc: Zhichao Gao <zhichao.gao@intel.com>
>> > Cc: Ray Ni <ray.ni@intel.com>
>> > Cc: Jian J Wang <jian.j.wang@intel.com>
>> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
>> > Signed-off-by: Sean Rhodes <sean@starlabs.systems>
>> > ---
>> > MdeModulePkg/Include/Protocol/PlatformLogo.h | 3 ++-
>> > MdeModulePkg/Library/BootLogoLib/BootLogoLib.c | 7 ++++---
>> > 2 files changed, 6 insertions(+), 4 deletions(-)
>> >
>> > diff --git a/MdeModulePkg/Include/Protocol/PlatformLogo.h
>> > b/MdeModulePkg/Include/Protocol/PlatformLogo.h
>> > index 08e1dc35a4..7c9ef63c66 100644
>> > --- a/MdeModulePkg/Include/Protocol/PlatformLogo.h
>> > +++ b/MdeModulePkg/Include/Protocol/PlatformLogo.h
>> > @@ -29,7 +29,8 @@ typedef enum {
>> > EdkiiPlatformLogoDisplayAttributeCenterBottom,
>> >
>> > EdkiiPlatformLogoDisplayAttributeLeftBottom,
>> >
>> > EdkiiPlatformLogoDisplayAttributeCenterLeft,
>> >
>> > - EdkiiPlatformLogoDisplayAttributeCenter
>> >
>> > + EdkiiPlatformLogoDisplayAttributeCenter,
>> >
>> > + EdkiiPlatformLogoDisplayAttributeBGRTSpecification
>> >
>> > } EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;
>> >
>> >
>> >
>> > /**
>> >
>> > diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
>> > b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
>> > index 478ec2d40e..ac086f9c79 100644
>> > --- a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
>> > +++ b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
>> > @@ -169,7 +169,6 @@ BootLogoEnableLogo (
>> > DestX = SizeOfX - Image.Width;
>> >
>> > DestY = 0;
>> >
>> > break;
>> >
>> > -
>> >
>> > case EdkiiPlatformLogoDisplayAttributeCenterLeft:
>> >
>> > DestX = 0;
>> >
>> > DestY = (SizeOfY - Image.Height) / 2;
>> >
>> > @@ -182,7 +181,6 @@ BootLogoEnableLogo (
>> > DestX = SizeOfX - Image.Width;
>> >
>> > DestY = (SizeOfY - Image.Height) / 2;
>> >
>> > break;
>> >
>> > -
>> >
>> > case EdkiiPlatformLogoDisplayAttributeLeftBottom:
>> >
>> > DestX = 0;
>> >
>> > DestY = SizeOfY - Image.Height;
>> >
>> > @@ -195,7 +193,10 @@ BootLogoEnableLogo (
>> > DestX = SizeOfX - Image.Width;
>> >
>> > DestY = SizeOfY - Image.Height;
>> >
>> > break;
>> >
>> > -
>> >
>> > + case EdkiiPlatformLogoDisplayAttributeBGRTSpecification:
>> >
>> > + DestX = (SizeOfX - Image.Width) / 2;
>> >
>> > + DestY = (SizeOfY * 382) / 1000 - Image.Height / 2;
>> >
>> > + break;
>> >
>> > default:
>> >
>> > ASSERT (FALSE);
>> >
>> > continue;
>> >
>> > --
>> > 2.34.1
>> >
>> >
>> >
>> > -=-=-=-=-=-=
>> > Groups.io Links: You receive all messages sent to this group.
>> > View/Reply Online (#91842):
>> https://edk2.groups.io/g/devel/message/91842
>> > Mute This Topic: https://groups.io/mt/92623125/4905953
>> > Group Owner: devel+owner@edk2.groups.io
>> > Unsubscribe: https://edk2.groups.io/g/devel/unsub
>> > [gaoliming@byosoft.com.cn]
>> > -=-=-=-=-=-=
>> >
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
[-- Attachment #2: Type: text/html, Size: 7921 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* 回复: [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification
2022-08-05 7:04 ` Pedro Falcato
@ 2022-08-12 4:54 ` gaoliming
0 siblings, 0 replies; 16+ messages in thread
From: gaoliming @ 2022-08-12 4:54 UTC (permalink / raw)
To: devel, pedro.falcato, sean
Cc: 'Zhichao Gao', 'Ray Ni', 'Jian J Wang'
[-- Attachment #1: Type: text/plain, Size: 5375 bytes --]
Sean:
According to the description, I agree with Pedro that this is a recommendation and not mandatory. Do you think so?
Thanks
Liming
发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Pedro Falcato
发送时间: 2022年8月5日 15:04
收件人: edk2-devel-groups-io <devel@edk2.groups.io>; sean@starlabs.systems
抄送: Liming Gao <gaoliming@byosoft.com.cn>; Zhichao Gao <zhichao.gao@intel.com>; Ray Ni <ray.ni@intel.com>; Jian J Wang <jian.j.wang@intel.com>
主题: Re: [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification
Hi Sean,
I think it's clear from the wording that the 38.2% thing is a recommendation and not mandatory. I was curious and checked out the ACPI spec and they appear to not mention that at all. Maybe reword things to "Microsoft recommendation"?
Thanks,
Pedro
On Fri, 5 Aug 2022, 07:55 Sean Rhodes, <sean@starlabs.systems <mailto:sean@starlabs.systems> > wrote:
Hi Liming
Microsoft details about positioning can be found here: https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/boot-screen-components
Thanks
Sean
On Fri, 5 Aug 2022 at 07:00, gaoliming via groups.io <http://groups.io> <gaoliming=byosoft.com.cn@groups.io <mailto:byosoft.com.cn@groups.io> > wrote:
Sean:
Can you give BGRT spec link? I want to check the spec description.
Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <mailto:devel@edk2.groups.io> <devel@edk2.groups.io <mailto:devel@edk2.groups.io> > 代表 Sean Rhodes
> 发送时间: 2022年7月26日 16:15
> 收件人: devel@edk2.groups.io <mailto:devel@edk2.groups.io>
> 抄送: Sean Rhodes <sean@starlabs.systems <mailto:sean@starlabs.systems> >; Zhichao Gao
> <zhichao.gao@intel.com <mailto:zhichao.gao@intel.com> >; Ray Ni <ray.ni@intel.com <mailto:ray.ni@intel.com> >; Jian J Wang
> <jian.j.wang@intel.com <mailto:jian.j.wang@intel.com> >; Liming Gao <gaoliming@byosoft.com.cn <mailto:gaoliming@byosoft.com.cn> >
> 主题: [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to
> follow BGRT specification
>
> Add an option to position the logo 38.2% from the top of the screen,
> which follows the BGRT specification.
>
> Cc: Zhichao Gao <zhichao.gao@intel.com <mailto:zhichao.gao@intel.com> >
> Cc: Ray Ni <ray.ni@intel.com <mailto:ray.ni@intel.com> >
> Cc: Jian J Wang <jian.j.wang@intel.com <mailto:jian.j.wang@intel.com> >
> Cc: Liming Gao <gaoliming@byosoft.com.cn <mailto:gaoliming@byosoft.com.cn> >
> Signed-off-by: Sean Rhodes <sean@starlabs.systems <mailto:sean@starlabs.systems> >
> ---
> MdeModulePkg/Include/Protocol/PlatformLogo.h | 3 ++-
> MdeModulePkg/Library/BootLogoLib/BootLogoLib.c | 7 ++++---
> 2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/MdeModulePkg/Include/Protocol/PlatformLogo.h
> b/MdeModulePkg/Include/Protocol/PlatformLogo.h
> index 08e1dc35a4..7c9ef63c66 100644
> --- a/MdeModulePkg/Include/Protocol/PlatformLogo.h
> +++ b/MdeModulePkg/Include/Protocol/PlatformLogo.h
> @@ -29,7 +29,8 @@ typedef enum {
> EdkiiPlatformLogoDisplayAttributeCenterBottom,
>
> EdkiiPlatformLogoDisplayAttributeLeftBottom,
>
> EdkiiPlatformLogoDisplayAttributeCenterLeft,
>
> - EdkiiPlatformLogoDisplayAttributeCenter
>
> + EdkiiPlatformLogoDisplayAttributeCenter,
>
> + EdkiiPlatformLogoDisplayAttributeBGRTSpecification
>
> } EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;
>
>
>
> /**
>
> diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> index 478ec2d40e..ac086f9c79 100644
> --- a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> +++ b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
> @@ -169,7 +169,6 @@ BootLogoEnableLogo (
> DestX = SizeOfX - Image.Width;
>
> DestY = 0;
>
> break;
>
> -
>
> case EdkiiPlatformLogoDisplayAttributeCenterLeft:
>
> DestX = 0;
>
> DestY = (SizeOfY - Image.Height) / 2;
>
> @@ -182,7 +181,6 @@ BootLogoEnableLogo (
> DestX = SizeOfX - Image.Width;
>
> DestY = (SizeOfY - Image.Height) / 2;
>
> break;
>
> -
>
> case EdkiiPlatformLogoDisplayAttributeLeftBottom:
>
> DestX = 0;
>
> DestY = SizeOfY - Image.Height;
>
> @@ -195,7 +193,10 @@ BootLogoEnableLogo (
> DestX = SizeOfX - Image.Width;
>
> DestY = SizeOfY - Image.Height;
>
> break;
>
> -
>
> + case EdkiiPlatformLogoDisplayAttributeBGRTSpecification:
>
> + DestX = (SizeOfX - Image.Width) / 2;
>
> + DestY = (SizeOfY * 382) / 1000 - Image.Height / 2;
>
> + break;
>
> default:
>
> ASSERT (FALSE);
>
> continue;
>
> --
> 2.34.1
>
>
>
> -=-=-=-=-=-=
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#91842): https://edk2.groups.io/g/devel/message/91842
> Mute This Topic: https://groups.io/mt/92623125/4905953
> Group Owner: devel+owner@edk2.groups.io <mailto:devel%2Bowner@edk2.groups.io>
> Unsubscribe: https://edk2.groups.io/g/devel/unsub
> [gaoliming@byosoft.com.cn <mailto:gaoliming@byosoft.com.cn> ]
> -=-=-=-=-=-=
>
[-- Attachment #2: Type: text/html, Size: 13019 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow Microsoft Recommendations
@ 2022-08-05 7:52 Sean Rhodes
2022-08-05 7:52 ` [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo Sean Rhodes
0 siblings, 1 reply; 16+ messages in thread
From: Sean Rhodes @ 2022-08-05 7:52 UTC (permalink / raw)
To: devel; +Cc: Sean Rhodes, Zhichao Gao, Ray Ni, Jian J Wang, Liming Gao
Add an option to position the logo 38.2% from the top of the screen,
which follows the recommendations from Microsoft. These can be found
here:
https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/boot-screen-components
Cc: Zhichao Gao <zhichao.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
---
MdeModulePkg/Include/Protocol/PlatformLogo.h | 3 ++-
MdeModulePkg/Library/BootLogoLib/BootLogoLib.c | 7 ++++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/MdeModulePkg/Include/Protocol/PlatformLogo.h b/MdeModulePkg/Include/Protocol/PlatformLogo.h
index 08e1dc35a4..b24d7d5b79 100644
--- a/MdeModulePkg/Include/Protocol/PlatformLogo.h
+++ b/MdeModulePkg/Include/Protocol/PlatformLogo.h
@@ -29,7 +29,8 @@ typedef enum {
EdkiiPlatformLogoDisplayAttributeCenterBottom,
EdkiiPlatformLogoDisplayAttributeLeftBottom,
EdkiiPlatformLogoDisplayAttributeCenterLeft,
- EdkiiPlatformLogoDisplayAttributeCenter
+ EdkiiPlatformLogoDisplayAttributeCenter,
+ EdkiiPlatformLogoDisplayAttributeMicrosoftRecommended
} EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;
/**
diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
index 478ec2d40e..9065e5281b 100644
--- a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
+++ b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
@@ -169,7 +169,6 @@ BootLogoEnableLogo (
DestX = SizeOfX - Image.Width;
DestY = 0;
break;
-
case EdkiiPlatformLogoDisplayAttributeCenterLeft:
DestX = 0;
DestY = (SizeOfY - Image.Height) / 2;
@@ -182,7 +181,6 @@ BootLogoEnableLogo (
DestX = SizeOfX - Image.Width;
DestY = (SizeOfY - Image.Height) / 2;
break;
-
case EdkiiPlatformLogoDisplayAttributeLeftBottom:
DestX = 0;
DestY = SizeOfY - Image.Height;
@@ -195,7 +193,10 @@ BootLogoEnableLogo (
DestX = SizeOfX - Image.Width;
DestY = SizeOfY - Image.Height;
break;
-
+ case EdkiiPlatformLogoDisplayAttributeMicrosoftRecommended:
+ DestX = (SizeOfX - Image.Width) / 2;
+ DestY = (SizeOfY * 382) / 1000 - Image.Height / 2;
+ break;
default:
ASSERT (FALSE);
continue;
--
2.34.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo
2022-08-05 7:52 [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow Microsoft Recommendations Sean Rhodes
@ 2022-08-05 7:52 ` Sean Rhodes
0 siblings, 0 replies; 16+ messages in thread
From: Sean Rhodes @ 2022-08-05 7:52 UTC (permalink / raw)
To: devel; +Cc: Sean Rhodes, Zhichao Gao, Ray Ni, Jian J Wang, Liming Gao
When set to true, the Logo is positioned according to the BGRT
specification, 38.2% from the top of the screen. When set to false,
no behaviour is changed and the logo is positioned centrally.
Cc: Zhichao Gao <zhichao.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
---
MdeModulePkg/Logo/Logo.c | 5 +++++
MdeModulePkg/Logo/LogoDxe.inf | 4 ++++
MdeModulePkg/MdeModulePkg.dec | 6 ++++++
MdeModulePkg/MdeModulePkg.uni | 6 ++++++
4 files changed, 21 insertions(+)
diff --git a/MdeModulePkg/Logo/Logo.c b/MdeModulePkg/Logo/Logo.c
index 8ab874d2da..1638d0f984 100644
--- a/MdeModulePkg/Logo/Logo.c
+++ b/MdeModulePkg/Logo/Logo.c
@@ -13,6 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include <Protocol/HiiPackageList.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/DebugLib.h>
+#include <Library/PcdLib.h>
typedef struct {
EFI_IMAGE_ID ImageId;
@@ -69,6 +70,10 @@ GetImage (
return EFI_NOT_FOUND;
}
+ if (FixedPcdGetBool (PcdFollowMicrosoftRecommended)) {
+ mLogos[Current].Attribute = EdkiiPlatformLogoDisplayAttributeMicrosoftRecommended;
+ }
+
(*Instance)++;
*Attribute = mLogos[Current].Attribute;
*OffsetX = mLogos[Current].OffsetX;
diff --git a/MdeModulePkg/Logo/LogoDxe.inf b/MdeModulePkg/Logo/LogoDxe.inf
index 41215d25d8..ce29950089 100644
--- a/MdeModulePkg/Logo/LogoDxe.inf
+++ b/MdeModulePkg/Logo/LogoDxe.inf
@@ -41,6 +41,7 @@
UefiBootServicesTableLib
UefiDriverEntryPoint
DebugLib
+ PcdLib
[Protocols]
gEfiHiiDatabaseProtocolGuid ## CONSUMES
@@ -48,6 +49,9 @@
gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES
gEdkiiPlatformLogoProtocolGuid ## PRODUCES
+[Pcd]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended ## CONSUMES
+
[Depex]
gEfiHiiDatabaseProtocolGuid AND
gEfiHiiImageExProtocolGuid
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 7d98910832..a503aaf58d 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -2098,6 +2098,12 @@
# @Prompt The shared bit mask when Intel Tdx is enabled.
gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x10000025
+ ## This PCD sets the position of the Boot Logo.
+ # TRUE - The Logo is positioned following the recommendations from Microsoft.
+ # FALSE - The logo is positioned in the center of the screen.
+ # @ Prompt This position of the boot logo
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended|FALSE|BOOLEAN|0x10000026
+
[PcdsPatchableInModule]
## Specify memory size with page number for PEI code when
# Loading Module at Fixed Address feature is enabled.
diff --git a/MdeModulePkg/MdeModulePkg.uni b/MdeModulePkg/MdeModulePkg.uni
index b070f15ff2..e7050df7b7 100644
--- a/MdeModulePkg/MdeModulePkg.uni
+++ b/MdeModulePkg/MdeModulePkg.uni
@@ -1334,3 +1334,9 @@
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPcieResizableBarSupport_HELP #language en-US "Indicates if the PCIe Resizable BAR Capability Supported.<BR><BR>\n"
"TRUE - PCIe Resizable BAR Capability is supported.<BR>\n"
"FALSE - PCIe Resizable BAR Capability is not supported.<BR>"
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommended_PROMPT #language en-US "The position of the Boot Logo"
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommend_HELP #language en-US "Sets the position of the Logo. When set to true, the Logo is positioned following the recommendations"
+ " from Microsoft, 38.2% from the top of the screen."
+
--
2.34.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow Microsoft Recommendations
@ 2022-09-26 8:09 Sean Rhodes
2022-09-26 8:09 ` [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo Sean Rhodes
0 siblings, 1 reply; 16+ messages in thread
From: Sean Rhodes @ 2022-09-26 8:09 UTC (permalink / raw)
To: devel; +Cc: Sean Rhodes, Zhichao Gao, Ray Ni, Jian J Wang, Liming Gao
Add an option to position the logo 38.2% from the top of the screen,
which follows the recommendations from Microsoft. These can be found
here:
https://docs.microsoft.com/en-us/windows-hardware/drivers/bringup/boot-screen-components
Cc: Zhichao Gao <zhichao.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
---
MdeModulePkg/Include/Protocol/PlatformLogo.h | 3 ++-
MdeModulePkg/Library/BootLogoLib/BootLogoLib.c | 7 ++++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/MdeModulePkg/Include/Protocol/PlatformLogo.h b/MdeModulePkg/Include/Protocol/PlatformLogo.h
index 08e1dc35a4..b24d7d5b79 100644
--- a/MdeModulePkg/Include/Protocol/PlatformLogo.h
+++ b/MdeModulePkg/Include/Protocol/PlatformLogo.h
@@ -29,7 +29,8 @@ typedef enum {
EdkiiPlatformLogoDisplayAttributeCenterBottom,
EdkiiPlatformLogoDisplayAttributeLeftBottom,
EdkiiPlatformLogoDisplayAttributeCenterLeft,
- EdkiiPlatformLogoDisplayAttributeCenter
+ EdkiiPlatformLogoDisplayAttributeCenter,
+ EdkiiPlatformLogoDisplayAttributeMicrosoftRecommended
} EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;
/**
diff --git a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
index 478ec2d40e..9065e5281b 100644
--- a/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
+++ b/MdeModulePkg/Library/BootLogoLib/BootLogoLib.c
@@ -169,7 +169,6 @@ BootLogoEnableLogo (
DestX = SizeOfX - Image.Width;
DestY = 0;
break;
-
case EdkiiPlatformLogoDisplayAttributeCenterLeft:
DestX = 0;
DestY = (SizeOfY - Image.Height) / 2;
@@ -182,7 +181,6 @@ BootLogoEnableLogo (
DestX = SizeOfX - Image.Width;
DestY = (SizeOfY - Image.Height) / 2;
break;
-
case EdkiiPlatformLogoDisplayAttributeLeftBottom:
DestX = 0;
DestY = SizeOfY - Image.Height;
@@ -195,7 +193,10 @@ BootLogoEnableLogo (
DestX = SizeOfX - Image.Width;
DestY = SizeOfY - Image.Height;
break;
-
+ case EdkiiPlatformLogoDisplayAttributeMicrosoftRecommended:
+ DestX = (SizeOfX - Image.Width) / 2;
+ DestY = (SizeOfY * 382) / 1000 - Image.Height / 2;
+ break;
default:
ASSERT (FALSE);
continue;
--
2.34.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo
2022-09-26 8:09 [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow Microsoft Recommendations Sean Rhodes
@ 2022-09-26 8:09 ` Sean Rhodes
2022-10-08 2:02 ` Ni, Ray
0 siblings, 1 reply; 16+ messages in thread
From: Sean Rhodes @ 2022-09-26 8:09 UTC (permalink / raw)
To: devel; +Cc: Sean Rhodes, Zhichao Gao, Ray Ni, Jian J Wang, Liming Gao
When set to true, the Logo is positioned according to the BGRT
specification, 38.2% from the top of the screen. When set to false,
no behaviour is changed and the logo is positioned centrally.
Cc: Zhichao Gao <zhichao.gao@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
---
MdeModulePkg/Logo/Logo.c | 5 +++++
MdeModulePkg/Logo/LogoDxe.inf | 4 ++++
MdeModulePkg/MdeModulePkg.dec | 6 ++++++
MdeModulePkg/MdeModulePkg.uni | 6 ++++++
4 files changed, 21 insertions(+)
diff --git a/MdeModulePkg/Logo/Logo.c b/MdeModulePkg/Logo/Logo.c
index 8ab874d2da..1638d0f984 100644
--- a/MdeModulePkg/Logo/Logo.c
+++ b/MdeModulePkg/Logo/Logo.c
@@ -13,6 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
#include <Protocol/HiiPackageList.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/DebugLib.h>
+#include <Library/PcdLib.h>
typedef struct {
EFI_IMAGE_ID ImageId;
@@ -69,6 +70,10 @@ GetImage (
return EFI_NOT_FOUND;
}
+ if (FixedPcdGetBool (PcdFollowMicrosoftRecommended)) {
+ mLogos[Current].Attribute = EdkiiPlatformLogoDisplayAttributeMicrosoftRecommended;
+ }
+
(*Instance)++;
*Attribute = mLogos[Current].Attribute;
*OffsetX = mLogos[Current].OffsetX;
diff --git a/MdeModulePkg/Logo/LogoDxe.inf b/MdeModulePkg/Logo/LogoDxe.inf
index 41215d25d8..ce29950089 100644
--- a/MdeModulePkg/Logo/LogoDxe.inf
+++ b/MdeModulePkg/Logo/LogoDxe.inf
@@ -41,6 +41,7 @@
UefiBootServicesTableLib
UefiDriverEntryPoint
DebugLib
+ PcdLib
[Protocols]
gEfiHiiDatabaseProtocolGuid ## CONSUMES
@@ -48,6 +49,9 @@
gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES
gEdkiiPlatformLogoProtocolGuid ## PRODUCES
+[Pcd]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended ## CONSUMES
+
[Depex]
gEfiHiiDatabaseProtocolGuid AND
gEfiHiiImageExProtocolGuid
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 58e6ab0048..ac437990f1 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -2102,6 +2102,12 @@
# @Prompt The shared bit mask when Intel Tdx is enabled.
gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x10000025
+ ## This PCD sets the position of the Boot Logo.
+ # TRUE - The Logo is positioned following the recommendations from Microsoft.
+ # FALSE - The logo is positioned in the center of the screen.
+ # @ Prompt This position of the boot logo
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended|FALSE|BOOLEAN|0x10000026
+
[PcdsPatchableInModule]
## Specify memory size with page number for PEI code when
# Loading Module at Fixed Address feature is enabled.
diff --git a/MdeModulePkg/MdeModulePkg.uni b/MdeModulePkg/MdeModulePkg.uni
index 33ce9f6198..09c1ac1cc1 100644
--- a/MdeModulePkg/MdeModulePkg.uni
+++ b/MdeModulePkg/MdeModulePkg.uni
@@ -1338,3 +1338,9 @@
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPcieResizableBarSupport_HELP #language en-US "Indicates if the PCIe Resizable BAR Capability Supported.<BR><BR>\n"
"TRUE - PCIe Resizable BAR Capability is supported.<BR>\n"
"FALSE - PCIe Resizable BAR Capability is not supported.<BR>"
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommended_PROMPT #language en-US "The position of the Boot Logo"
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommend_HELP #language en-US "Sets the position of the Logo. When set to true, the Logo is positioned following the recommendations"
+ " from Microsoft, 38.2% from the top of the screen."
+
--
2.34.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo
2022-09-26 8:09 ` [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo Sean Rhodes
@ 2022-10-08 2:02 ` Ni, Ray
2022-10-10 8:51 ` Sean Rhodes
0 siblings, 1 reply; 16+ messages in thread
From: Ni, Ray @ 2022-10-08 2:02 UTC (permalink / raw)
To: Rhodes, Sean, devel@edk2.groups.io
Cc: Rhodes, Sean, Gao, Zhichao, Wang, Jian J, Gao, Liming
Sean,
I remember that I evaluated the BGRT requirement when designing the PlatformLogo protocol.
So, I went back to got the code I wrote long time ago as below.
I didn't try to understand them now. Does it make sense to you?
Status = gBS->HandleProtocol (gST->ConsoleOutHandle, &gEfiGraphicsOutputProtocolGuid, (VOID **) &GraphicsOutput);
if (!EFI_ERROR (Status)) {
//
// Center of LOGO is in the vertical position 38.2% when PcdBootLogoOnlyEnable is TRUE
// Y = (VerticalResolution - LogoHeight) / 2
// Y' = VerticalResolution * 0.382 - LogoHeight * 0.5
// OffsetY + Y = Y'
// OffsetY = Y' - Y = -0.118 * VerticalResolution
//
*Attribute = EdkiiPlatformLogoDisplayAttributeCenter;
*OffsetX = 0;
*OffsetY = -118 * (INTN) GraphicsOutput->Mode->Info->VerticalResolution / 1000;
}
Thanks,
Ray
> -----Original Message-----
> From: Sean Rhodes <sean@starlabs.systems>
> Sent: Monday, September 26, 2022 4:10 PM
> To: devel@edk2.groups.io
> Cc: Rhodes, Sean <sean@starlabs.systems>; Gao, Zhichao
> <zhichao.gao@intel.com>; Ni, Ray <ray.ni@intel.com>; Wang, Jian J
> <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> Subject: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the
> position of the Logo
>
> When set to true, the Logo is positioned according to the BGRT
> specification, 38.2% from the top of the screen. When set to false,
> no behaviour is changed and the logo is positioned centrally.
>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Signed-off-by: Sean Rhodes <sean@starlabs.systems>
> ---
> MdeModulePkg/Logo/Logo.c | 5 +++++
> MdeModulePkg/Logo/LogoDxe.inf | 4 ++++
> MdeModulePkg/MdeModulePkg.dec | 6 ++++++
> MdeModulePkg/MdeModulePkg.uni | 6 ++++++
> 4 files changed, 21 insertions(+)
>
> diff --git a/MdeModulePkg/Logo/Logo.c b/MdeModulePkg/Logo/Logo.c
> index 8ab874d2da..1638d0f984 100644
> --- a/MdeModulePkg/Logo/Logo.c
> +++ b/MdeModulePkg/Logo/Logo.c
> @@ -13,6 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> #include <Protocol/HiiPackageList.h>
>
> #include <Library/UefiBootServicesTableLib.h>
>
> #include <Library/DebugLib.h>
>
> +#include <Library/PcdLib.h>
>
>
>
> typedef struct {
>
> EFI_IMAGE_ID ImageId;
>
> @@ -69,6 +70,10 @@ GetImage (
> return EFI_NOT_FOUND;
>
> }
>
>
>
> + if (FixedPcdGetBool (PcdFollowMicrosoftRecommended)) {
>
> + mLogos[Current].Attribute =
> EdkiiPlatformLogoDisplayAttributeMicrosoftRecommended;
>
> + }
>
> +
>
> (*Instance)++;
>
> *Attribute = mLogos[Current].Attribute;
>
> *OffsetX = mLogos[Current].OffsetX;
>
> diff --git a/MdeModulePkg/Logo/LogoDxe.inf
> b/MdeModulePkg/Logo/LogoDxe.inf
> index 41215d25d8..ce29950089 100644
> --- a/MdeModulePkg/Logo/LogoDxe.inf
> +++ b/MdeModulePkg/Logo/LogoDxe.inf
> @@ -41,6 +41,7 @@
> UefiBootServicesTableLib
>
> UefiDriverEntryPoint
>
> DebugLib
>
> + PcdLib
>
>
>
> [Protocols]
>
> gEfiHiiDatabaseProtocolGuid ## CONSUMES
>
> @@ -48,6 +49,9 @@
> gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES
>
> gEdkiiPlatformLogoProtocolGuid ## PRODUCES
>
>
>
> +[Pcd]
>
> + gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended
> ## CONSUMES
>
> +
>
> [Depex]
>
> gEfiHiiDatabaseProtocolGuid AND
>
> gEfiHiiImageExProtocolGuid
>
> diff --git a/MdeModulePkg/MdeModulePkg.dec
> b/MdeModulePkg/MdeModulePkg.dec
> index 58e6ab0048..ac437990f1 100644
> --- a/MdeModulePkg/MdeModulePkg.dec
> +++ b/MdeModulePkg/MdeModulePkg.dec
> @@ -2102,6 +2102,12 @@
> # @Prompt The shared bit mask when Intel Tdx is enabled.
>
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x
> 10000025
>
>
>
> + ## This PCD sets the position of the Boot Logo.
>
> + # TRUE - The Logo is positioned following the recommendations from
> Microsoft.
>
> + # FALSE - The logo is positioned in the center of the screen.
>
> + # @ Prompt This position of the boot logo
>
> +
> gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended|FA
> LSE|BOOLEAN|0x10000026
>
> +
>
> [PcdsPatchableInModule]
>
> ## Specify memory size with page number for PEI code when
>
> # Loading Module at Fixed Address feature is enabled.
>
> diff --git a/MdeModulePkg/MdeModulePkg.uni
> b/MdeModulePkg/MdeModulePkg.uni
> index 33ce9f6198..09c1ac1cc1 100644
> --- a/MdeModulePkg/MdeModulePkg.uni
> +++ b/MdeModulePkg/MdeModulePkg.uni
> @@ -1338,3 +1338,9 @@
> #string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPcieResizableBarSupport_HEL
> P #language en-US "Indicates if the PCIe Resizable BAR Capability
> Supported.<BR><BR>\n"
>
> "TRUE - PCIe Resizable BAR
> Capability is supported.<BR>\n"
>
> "FALSE - PCIe Resizable BAR
> Capability is not supported.<BR>"
>
> +
>
> +#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommende
> d_PROMPT #language en-US "The position of the Boot Logo"
>
> +
>
> +#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommend_
> HELP #language en-US "Sets the position of the Logo. When set to true, the
> Logo is positioned following the recommendations"
>
> + " from Microsoft, 38.2% from
> the top of the screen."
>
> +
>
> --
> 2.34.1
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo
2022-10-08 2:02 ` Ni, Ray
@ 2022-10-10 8:51 ` Sean Rhodes
2022-10-10 9:25 ` Ni, Ray
0 siblings, 1 reply; 16+ messages in thread
From: Sean Rhodes @ 2022-10-10 8:51 UTC (permalink / raw)
To: Ni, Ray; +Cc: devel@edk2.groups.io, Gao, Zhichao, Wang, Jian J, Gao, Liming
[-- Attachment #1: Type: text/plain, Size: 6134 bytes --]
Hi Ray
Thank you, it does, and I think it will work for most splash images.
However, the way it's written in my patch accounts for the Image size. This
will handle splash images that are equal to, or larger than the resolution
of the display.
Thanks
Sean
On Sat, 8 Oct 2022 at 03:02, Ni, Ray <ray.ni@intel.com> wrote:
> Sean,
> I remember that I evaluated the BGRT requirement when designing the
> PlatformLogo protocol.
>
> So, I went back to got the code I wrote long time ago as below.
> I didn't try to understand them now. Does it make sense to you?
>
> Status = gBS->HandleProtocol (gST->ConsoleOutHandle,
> &gEfiGraphicsOutputProtocolGuid, (VOID **) &GraphicsOutput);
> if (!EFI_ERROR (Status)) {
> //
> // Center of LOGO is in the vertical position 38.2% when
> PcdBootLogoOnlyEnable is TRUE
> // Y = (VerticalResolution - LogoHeight) / 2
> // Y' = VerticalResolution * 0.382 - LogoHeight * 0.5
> // OffsetY + Y = Y'
> // OffsetY = Y' - Y = -0.118 * VerticalResolution
> //
> *Attribute = EdkiiPlatformLogoDisplayAttributeCenter;
> *OffsetX = 0;
> *OffsetY = -118 * (INTN)
> GraphicsOutput->Mode->Info->VerticalResolution / 1000;
> }
>
> Thanks,
> Ray
>
> > -----Original Message-----
> > From: Sean Rhodes <sean@starlabs.systems>
> > Sent: Monday, September 26, 2022 4:10 PM
> > To: devel@edk2.groups.io
> > Cc: Rhodes, Sean <sean@starlabs.systems>; Gao, Zhichao
> > <zhichao.gao@intel.com>; Ni, Ray <ray.ni@intel.com>; Wang, Jian J
> > <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> > Subject: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the
> > position of the Logo
> >
> > When set to true, the Logo is positioned according to the BGRT
> > specification, 38.2% from the top of the screen. When set to false,
> > no behaviour is changed and the logo is positioned centrally.
> >
> > Cc: Zhichao Gao <zhichao.gao@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Jian J Wang <jian.j.wang@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Signed-off-by: Sean Rhodes <sean@starlabs.systems>
> > ---
> > MdeModulePkg/Logo/Logo.c | 5 +++++
> > MdeModulePkg/Logo/LogoDxe.inf | 4 ++++
> > MdeModulePkg/MdeModulePkg.dec | 6 ++++++
> > MdeModulePkg/MdeModulePkg.uni | 6 ++++++
> > 4 files changed, 21 insertions(+)
> >
> > diff --git a/MdeModulePkg/Logo/Logo.c b/MdeModulePkg/Logo/Logo.c
> > index 8ab874d2da..1638d0f984 100644
> > --- a/MdeModulePkg/Logo/Logo.c
> > +++ b/MdeModulePkg/Logo/Logo.c
> > @@ -13,6 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> > #include <Protocol/HiiPackageList.h>
> >
> > #include <Library/UefiBootServicesTableLib.h>
> >
> > #include <Library/DebugLib.h>
> >
> > +#include <Library/PcdLib.h>
> >
> >
> >
> > typedef struct {
> >
> > EFI_IMAGE_ID ImageId;
> >
> > @@ -69,6 +70,10 @@ GetImage (
> > return EFI_NOT_FOUND;
> >
> > }
> >
> >
> >
> > + if (FixedPcdGetBool (PcdFollowMicrosoftRecommended)) {
> >
> > + mLogos[Current].Attribute =
> > EdkiiPlatformLogoDisplayAttributeMicrosoftRecommended;
> >
> > + }
> >
> > +
> >
> > (*Instance)++;
> >
> > *Attribute = mLogos[Current].Attribute;
> >
> > *OffsetX = mLogos[Current].OffsetX;
> >
> > diff --git a/MdeModulePkg/Logo/LogoDxe.inf
> > b/MdeModulePkg/Logo/LogoDxe.inf
> > index 41215d25d8..ce29950089 100644
> > --- a/MdeModulePkg/Logo/LogoDxe.inf
> > +++ b/MdeModulePkg/Logo/LogoDxe.inf
> > @@ -41,6 +41,7 @@
> > UefiBootServicesTableLib
> >
> > UefiDriverEntryPoint
> >
> > DebugLib
> >
> > + PcdLib
> >
> >
> >
> > [Protocols]
> >
> > gEfiHiiDatabaseProtocolGuid ## CONSUMES
> >
> > @@ -48,6 +49,9 @@
> > gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES
> >
> > gEdkiiPlatformLogoProtocolGuid ## PRODUCES
> >
> >
> >
> > +[Pcd]
> >
> > + gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended
> > ## CONSUMES
> >
> > +
> >
> > [Depex]
> >
> > gEfiHiiDatabaseProtocolGuid AND
> >
> > gEfiHiiImageExProtocolGuid
> >
> > diff --git a/MdeModulePkg/MdeModulePkg.dec
> > b/MdeModulePkg/MdeModulePkg.dec
> > index 58e6ab0048..ac437990f1 100644
> > --- a/MdeModulePkg/MdeModulePkg.dec
> > +++ b/MdeModulePkg/MdeModulePkg.dec
> > @@ -2102,6 +2102,12 @@
> > # @Prompt The shared bit mask when Intel Tdx is enabled.
> >
> >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x
> > 10000025
> >
> >
> >
> > + ## This PCD sets the position of the Boot Logo.
> >
> > + # TRUE - The Logo is positioned following the recommendations from
> > Microsoft.
> >
> > + # FALSE - The logo is positioned in the center of the screen.
> >
> > + # @ Prompt This position of the boot logo
> >
> > +
> > gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended|FA
> > LSE|BOOLEAN|0x10000026
> >
> > +
> >
> > [PcdsPatchableInModule]
> >
> > ## Specify memory size with page number for PEI code when
> >
> > # Loading Module at Fixed Address feature is enabled.
> >
> > diff --git a/MdeModulePkg/MdeModulePkg.uni
> > b/MdeModulePkg/MdeModulePkg.uni
> > index 33ce9f6198..09c1ac1cc1 100644
> > --- a/MdeModulePkg/MdeModulePkg.uni
> > +++ b/MdeModulePkg/MdeModulePkg.uni
> > @@ -1338,3 +1338,9 @@
> > #string
> > STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPcieResizableBarSupport_HEL
> > P #language en-US "Indicates if the PCIe Resizable BAR Capability
> > Supported.<BR><BR>\n"
> >
> >
> "TRUE - PCIe Resizable BAR
> > Capability is supported.<BR>\n"
> >
> >
> "FALSE - PCIe Resizable BAR
> > Capability is not supported.<BR>"
> >
> > +
> >
> > +#string
> > STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommende
> > d_PROMPT #language en-US "The position of the Boot Logo"
> >
> > +
> >
> > +#string
> > STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommend_
> > HELP #language en-US "Sets the position of the Logo. When set to true,
> the
> > Logo is positioned following the recommendations"
> >
> > +
> " from Microsoft, 38.2% from
> > the top of the screen."
> >
> > +
> >
> > --
> > 2.34.1
>
>
[-- Attachment #2: Type: text/html, Size: 9391 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo
2022-10-10 8:51 ` Sean Rhodes
@ 2022-10-10 9:25 ` Ni, Ray
2022-10-10 9:44 ` Sean Rhodes
2022-10-25 7:26 ` Sean Rhodes
0 siblings, 2 replies; 16+ messages in thread
From: Ni, Ray @ 2022-10-10 9:25 UTC (permalink / raw)
To: Rhodes, Sean
Cc: devel@edk2.groups.io, Gao, Zhichao, Wang, Jian J, Gao, Liming
[-- Attachment #1: Type: text/plain, Size: 7066 bytes --]
The logic I shared below is from the LogoDxe driver which produces EDKII_PLATFORM_LOGO_PROTOCOL.
This driver should know the image size and it can account for the image size.
Thanks,
Ray
From: Sean Rhodes <sean@starlabs.systems>
Sent: Monday, October 10, 2022 4:51 PM
To: Ni, Ray <ray.ni@intel.com>
Cc: devel@edk2.groups.io; Gao, Zhichao <zhichao.gao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: Re: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo
Hi Ray
Thank you, it does, and I think it will work for most splash images. However, the way it's written in my patch accounts for the Image size. This will handle splash images that are equal to, or larger than the resolution of the display.
Thanks
Sean
On Sat, 8 Oct 2022 at 03:02, Ni, Ray <ray.ni@intel.com<mailto:ray.ni@intel.com>> wrote:
Sean,
I remember that I evaluated the BGRT requirement when designing the PlatformLogo protocol.
So, I went back to got the code I wrote long time ago as below.
I didn't try to understand them now. Does it make sense to you?
Status = gBS->HandleProtocol (gST->ConsoleOutHandle, &gEfiGraphicsOutputProtocolGuid, (VOID **) &GraphicsOutput);
if (!EFI_ERROR (Status)) {
//
// Center of LOGO is in the vertical position 38.2% when PcdBootLogoOnlyEnable is TRUE
// Y = (VerticalResolution - LogoHeight) / 2
// Y' = VerticalResolution * 0.382 - LogoHeight * 0.5
// OffsetY + Y = Y'
// OffsetY = Y' - Y = -0.118 * VerticalResolution
//
*Attribute = EdkiiPlatformLogoDisplayAttributeCenter;
*OffsetX = 0;
*OffsetY = -118 * (INTN) GraphicsOutput->Mode->Info->VerticalResolution / 1000;
}
Thanks,
Ray
> -----Original Message-----
> From: Sean Rhodes <sean@starlabs.systems<mailto:sean@starlabs.systems>>
> Sent: Monday, September 26, 2022 4:10 PM
> To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
> Cc: Rhodes, Sean <sean@starlabs.systems<mailto:sean@starlabs.systems>>; Gao, Zhichao
> <zhichao.gao@intel.com<mailto:zhichao.gao@intel.com>>; Ni, Ray <ray.ni@intel.com<mailto:ray.ni@intel.com>>; Wang, Jian J
> <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>; Gao, Liming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>
> Subject: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the
> position of the Logo
>
> When set to true, the Logo is positioned according to the BGRT
> specification, 38.2% from the top of the screen. When set to false,
> no behaviour is changed and the logo is positioned centrally.
>
> Cc: Zhichao Gao <zhichao.gao@intel.com<mailto:zhichao.gao@intel.com>>
> Cc: Ray Ni <ray.ni@intel.com<mailto:ray.ni@intel.com>>
> Cc: Jian J Wang <jian.j.wang@intel.com<mailto:jian.j.wang@intel.com>>
> Cc: Liming Gao <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>
> Signed-off-by: Sean Rhodes <sean@starlabs.systems<mailto:sean@starlabs.systems>>
> ---
> MdeModulePkg/Logo/Logo.c | 5 +++++
> MdeModulePkg/Logo/LogoDxe.inf | 4 ++++
> MdeModulePkg/MdeModulePkg.dec | 6 ++++++
> MdeModulePkg/MdeModulePkg.uni | 6 ++++++
> 4 files changed, 21 insertions(+)
>
> diff --git a/MdeModulePkg/Logo/Logo.c b/MdeModulePkg/Logo/Logo.c
> index 8ab874d2da..1638d0f984 100644
> --- a/MdeModulePkg/Logo/Logo.c
> +++ b/MdeModulePkg/Logo/Logo.c
> @@ -13,6 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> #include <Protocol/HiiPackageList.h>
>
> #include <Library/UefiBootServicesTableLib.h>
>
> #include <Library/DebugLib.h>
>
> +#include <Library/PcdLib.h>
>
>
>
> typedef struct {
>
> EFI_IMAGE_ID ImageId;
>
> @@ -69,6 +70,10 @@ GetImage (
> return EFI_NOT_FOUND;
>
> }
>
>
>
> + if (FixedPcdGetBool (PcdFollowMicrosoftRecommended)) {
>
> + mLogos[Current].Attribute =
> EdkiiPlatformLogoDisplayAttributeMicrosoftRecommended;
>
> + }
>
> +
>
> (*Instance)++;
>
> *Attribute = mLogos[Current].Attribute;
>
> *OffsetX = mLogos[Current].OffsetX;
>
> diff --git a/MdeModulePkg/Logo/LogoDxe.inf
> b/MdeModulePkg/Logo/LogoDxe.inf
> index 41215d25d8..ce29950089 100644
> --- a/MdeModulePkg/Logo/LogoDxe.inf
> +++ b/MdeModulePkg/Logo/LogoDxe.inf
> @@ -41,6 +41,7 @@
> UefiBootServicesTableLib
>
> UefiDriverEntryPoint
>
> DebugLib
>
> + PcdLib
>
>
>
> [Protocols]
>
> gEfiHiiDatabaseProtocolGuid ## CONSUMES
>
> @@ -48,6 +49,9 @@
> gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES
>
> gEdkiiPlatformLogoProtocolGuid ## PRODUCES
>
>
>
> +[Pcd]
>
> + gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended
> ## CONSUMES
>
> +
>
> [Depex]
>
> gEfiHiiDatabaseProtocolGuid AND
>
> gEfiHiiImageExProtocolGuid
>
> diff --git a/MdeModulePkg/MdeModulePkg.dec
> b/MdeModulePkg/MdeModulePkg.dec
> index 58e6ab0048..ac437990f1 100644
> --- a/MdeModulePkg/MdeModulePkg.dec
> +++ b/MdeModulePkg/MdeModulePkg.dec
> @@ -2102,6 +2102,12 @@
> # @Prompt The shared bit mask when Intel Tdx is enabled.
>
>
> gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x
> 10000025
>
>
>
> + ## This PCD sets the position of the Boot Logo.
>
> + # TRUE - The Logo is positioned following the recommendations from
> Microsoft.
>
> + # FALSE - The logo is positioned in the center of the screen.
>
> + # @ Prompt This position of the boot logo
>
> +
> gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended|FA
> LSE|BOOLEAN|0x10000026
>
> +
>
> [PcdsPatchableInModule]
>
> ## Specify memory size with page number for PEI code when
>
> # Loading Module at Fixed Address feature is enabled.
>
> diff --git a/MdeModulePkg/MdeModulePkg.uni
> b/MdeModulePkg/MdeModulePkg.uni
> index 33ce9f6198..09c1ac1cc1 100644
> --- a/MdeModulePkg/MdeModulePkg.uni
> +++ b/MdeModulePkg/MdeModulePkg.uni
> @@ -1338,3 +1338,9 @@
> #string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPcieResizableBarSupport_HEL
> P #language en-US "Indicates if the PCIe Resizable BAR Capability
> Supported.<BR><BR>\n"
>
> "TRUE - PCIe Resizable BAR
> Capability is supported.<BR>\n"
>
> "FALSE - PCIe Resizable BAR
> Capability is not supported.<BR>"
>
> +
>
> +#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommende
> d_PROMPT #language en-US "The position of the Boot Logo"
>
> +
>
> +#string
> STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommend_
> HELP #language en-US "Sets the position of the Logo. When set to true, the
> Logo is positioned following the recommendations"
>
> + " from Microsoft, 38.2% from
> the top of the screen."
>
> +
>
> --
> 2.34.1
[-- Attachment #2: Type: text/html, Size: 13871 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo
2022-10-10 9:25 ` Ni, Ray
@ 2022-10-10 9:44 ` Sean Rhodes
2022-10-25 7:26 ` Sean Rhodes
1 sibling, 0 replies; 16+ messages in thread
From: Sean Rhodes @ 2022-10-10 9:44 UTC (permalink / raw)
To: Ni, Ray
Cc: devel@edk2.groups.io, Gao, Zhichao, Wang, Jian J, Gao, Liming,
Matt DeVillier
[-- Attachment #1: Type: text/plain, Size: 6907 bytes --]
+ Matt
@Matt DeVillier <matt.devillier@gmail.com> Does Ray's code work for you?
On Mon, 10 Oct 2022 at 10:25, Ni, Ray <ray.ni@intel.com> wrote:
> The logic I shared below is from the LogoDxe driver which produces
> EDKII_PLATFORM_LOGO_PROTOCOL.
>
> This driver should know the image size and it can account for the image
> size.
>
>
>
> Thanks,
>
> Ray
>
>
>
> *From:* Sean Rhodes <sean@starlabs.systems>
> *Sent:* Monday, October 10, 2022 4:51 PM
> *To:* Ni, Ray <ray.ni@intel.com>
> *Cc:* devel@edk2.groups.io; Gao, Zhichao <zhichao.gao@intel.com>; Wang,
> Jian J <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> *Subject:* Re: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the
> position of the Logo
>
>
>
> Hi Ray
>
>
>
> Thank you, it does, and I think it will work for most splash images.
> However, the way it's written in my patch accounts for the Image size. This
> will handle splash images that are equal to, or larger than the resolution
> of the display.
>
>
>
> Thanks
>
>
>
> Sean
>
>
>
> On Sat, 8 Oct 2022 at 03:02, Ni, Ray <ray.ni@intel.com> wrote:
>
> Sean,
> I remember that I evaluated the BGRT requirement when designing the
> PlatformLogo protocol.
>
> So, I went back to got the code I wrote long time ago as below.
> I didn't try to understand them now. Does it make sense to you?
>
> Status = gBS->HandleProtocol (gST->ConsoleOutHandle,
> &gEfiGraphicsOutputProtocolGuid, (VOID **) &GraphicsOutput);
> if (!EFI_ERROR (Status)) {
> //
> // Center of LOGO is in the vertical position 38.2% when
> PcdBootLogoOnlyEnable is TRUE
> // Y = (VerticalResolution - LogoHeight) / 2
> // Y' = VerticalResolution * 0.382 - LogoHeight * 0.5
> // OffsetY + Y = Y'
> // OffsetY = Y' - Y = -0.118 * VerticalResolution
> //
> *Attribute = EdkiiPlatformLogoDisplayAttributeCenter;
> *OffsetX = 0;
> *OffsetY = -118 * (INTN)
> GraphicsOutput->Mode->Info->VerticalResolution / 1000;
> }
>
> Thanks,
> Ray
>
> > -----Original Message-----
> > From: Sean Rhodes <sean@starlabs.systems>
> > Sent: Monday, September 26, 2022 4:10 PM
> > To: devel@edk2.groups.io
> > Cc: Rhodes, Sean <sean@starlabs.systems>; Gao, Zhichao
> > <zhichao.gao@intel.com>; Ni, Ray <ray.ni@intel.com>; Wang, Jian J
> > <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> > Subject: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the
> > position of the Logo
> >
> > When set to true, the Logo is positioned according to the BGRT
> > specification, 38.2% from the top of the screen. When set to false,
> > no behaviour is changed and the logo is positioned centrally.
> >
> > Cc: Zhichao Gao <zhichao.gao@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Jian J Wang <jian.j.wang@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Signed-off-by: Sean Rhodes <sean@starlabs.systems>
> > ---
> > MdeModulePkg/Logo/Logo.c | 5 +++++
> > MdeModulePkg/Logo/LogoDxe.inf | 4 ++++
> > MdeModulePkg/MdeModulePkg.dec | 6 ++++++
> > MdeModulePkg/MdeModulePkg.uni | 6 ++++++
> > 4 files changed, 21 insertions(+)
> >
> > diff --git a/MdeModulePkg/Logo/Logo.c b/MdeModulePkg/Logo/Logo.c
> > index 8ab874d2da..1638d0f984 100644
> > --- a/MdeModulePkg/Logo/Logo.c
> > +++ b/MdeModulePkg/Logo/Logo.c
> > @@ -13,6 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> > #include <Protocol/HiiPackageList.h>
> >
> > #include <Library/UefiBootServicesTableLib.h>
> >
> > #include <Library/DebugLib.h>
> >
> > +#include <Library/PcdLib.h>
> >
> >
> >
> > typedef struct {
> >
> > EFI_IMAGE_ID ImageId;
> >
> > @@ -69,6 +70,10 @@ GetImage (
> > return EFI_NOT_FOUND;
> >
> > }
> >
> >
> >
> > + if (FixedPcdGetBool (PcdFollowMicrosoftRecommended)) {
> >
> > + mLogos[Current].Attribute =
> > EdkiiPlatformLogoDisplayAttributeMicrosoftRecommended;
> >
> > + }
> >
> > +
> >
> > (*Instance)++;
> >
> > *Attribute = mLogos[Current].Attribute;
> >
> > *OffsetX = mLogos[Current].OffsetX;
> >
> > diff --git a/MdeModulePkg/Logo/LogoDxe.inf
> > b/MdeModulePkg/Logo/LogoDxe.inf
> > index 41215d25d8..ce29950089 100644
> > --- a/MdeModulePkg/Logo/LogoDxe.inf
> > +++ b/MdeModulePkg/Logo/LogoDxe.inf
> > @@ -41,6 +41,7 @@
> > UefiBootServicesTableLib
> >
> > UefiDriverEntryPoint
> >
> > DebugLib
> >
> > + PcdLib
> >
> >
> >
> > [Protocols]
> >
> > gEfiHiiDatabaseProtocolGuid ## CONSUMES
> >
> > @@ -48,6 +49,9 @@
> > gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES
> >
> > gEdkiiPlatformLogoProtocolGuid ## PRODUCES
> >
> >
> >
> > +[Pcd]
> >
> > + gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended
> > ## CONSUMES
> >
> > +
> >
> > [Depex]
> >
> > gEfiHiiDatabaseProtocolGuid AND
> >
> > gEfiHiiImageExProtocolGuid
> >
> > diff --git a/MdeModulePkg/MdeModulePkg.dec
> > b/MdeModulePkg/MdeModulePkg.dec
> > index 58e6ab0048..ac437990f1 100644
> > --- a/MdeModulePkg/MdeModulePkg.dec
> > +++ b/MdeModulePkg/MdeModulePkg.dec
> > @@ -2102,6 +2102,12 @@
> > # @Prompt The shared bit mask when Intel Tdx is enabled.
> >
> >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x
> > 10000025
> >
> >
> >
> > + ## This PCD sets the position of the Boot Logo.
> >
> > + # TRUE - The Logo is positioned following the recommendations from
> > Microsoft.
> >
> > + # FALSE - The logo is positioned in the center of the screen.
> >
> > + # @ Prompt This position of the boot logo
> >
> > +
> > gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended|FA
> > LSE|BOOLEAN|0x10000026
> >
> > +
> >
> > [PcdsPatchableInModule]
> >
> > ## Specify memory size with page number for PEI code when
> >
> > # Loading Module at Fixed Address feature is enabled.
> >
> > diff --git a/MdeModulePkg/MdeModulePkg.uni
> > b/MdeModulePkg/MdeModulePkg.uni
> > index 33ce9f6198..09c1ac1cc1 100644
> > --- a/MdeModulePkg/MdeModulePkg.uni
> > +++ b/MdeModulePkg/MdeModulePkg.uni
> > @@ -1338,3 +1338,9 @@
> > #string
> > STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPcieResizableBarSupport_HEL
> > P #language en-US "Indicates if the PCIe Resizable BAR Capability
> > Supported.<BR><BR>\n"
> >
> >
> "TRUE - PCIe Resizable BAR
> > Capability is supported.<BR>\n"
> >
> >
> "FALSE - PCIe Resizable BAR
> > Capability is not supported.<BR>"
> >
> > +
> >
> > +#string
> > STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommende
> > d_PROMPT #language en-US "The position of the Boot Logo"
> >
> > +
> >
> > +#string
> > STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommend_
> > HELP #language en-US "Sets the position of the Logo. When set to true,
> the
> > Logo is positioned following the recommendations"
> >
> > +
> " from Microsoft, 38.2% from
> > the top of the screen."
> >
> > +
> >
> > --
> > 2.34.1
>
>
[-- Attachment #2: Type: text/html, Size: 12571 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo
2022-10-10 9:25 ` Ni, Ray
2022-10-10 9:44 ` Sean Rhodes
@ 2022-10-25 7:26 ` Sean Rhodes
1 sibling, 0 replies; 16+ messages in thread
From: Sean Rhodes @ 2022-10-25 7:26 UTC (permalink / raw)
To: Ni, Ray; +Cc: devel@edk2.groups.io, Gao, Zhichao, Wang, Jian J, Gao, Liming
[-- Attachment #1: Type: text/plain, Size: 6986 bytes --]
Hi Ray
Where would you suggest this code goes? edk2 should support both Microsoft
recommended and "normal". The original patch handled this well.
Thanks
Sean
On Mon, 10 Oct 2022 at 10:25, Ni, Ray <ray.ni@intel.com> wrote:
> The logic I shared below is from the LogoDxe driver which produces
> EDKII_PLATFORM_LOGO_PROTOCOL.
>
> This driver should know the image size and it can account for the image
> size.
>
>
>
> Thanks,
>
> Ray
>
>
>
> *From:* Sean Rhodes <sean@starlabs.systems>
> *Sent:* Monday, October 10, 2022 4:51 PM
> *To:* Ni, Ray <ray.ni@intel.com>
> *Cc:* devel@edk2.groups.io; Gao, Zhichao <zhichao.gao@intel.com>; Wang,
> Jian J <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> *Subject:* Re: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the
> position of the Logo
>
>
>
> Hi Ray
>
>
>
> Thank you, it does, and I think it will work for most splash images.
> However, the way it's written in my patch accounts for the Image size. This
> will handle splash images that are equal to, or larger than the resolution
> of the display.
>
>
>
> Thanks
>
>
>
> Sean
>
>
>
> On Sat, 8 Oct 2022 at 03:02, Ni, Ray <ray.ni@intel.com> wrote:
>
> Sean,
> I remember that I evaluated the BGRT requirement when designing the
> PlatformLogo protocol.
>
> So, I went back to got the code I wrote long time ago as below.
> I didn't try to understand them now. Does it make sense to you?
>
> Status = gBS->HandleProtocol (gST->ConsoleOutHandle,
> &gEfiGraphicsOutputProtocolGuid, (VOID **) &GraphicsOutput);
> if (!EFI_ERROR (Status)) {
> //
> // Center of LOGO is in the vertical position 38.2% when
> PcdBootLogoOnlyEnable is TRUE
> // Y = (VerticalResolution - LogoHeight) / 2
> // Y' = VerticalResolution * 0.382 - LogoHeight * 0.5
> // OffsetY + Y = Y'
> // OffsetY = Y' - Y = -0.118 * VerticalResolution
> //
> *Attribute = EdkiiPlatformLogoDisplayAttributeCenter;
> *OffsetX = 0;
> *OffsetY = -118 * (INTN)
> GraphicsOutput->Mode->Info->VerticalResolution / 1000;
> }
>
> Thanks,
> Ray
>
> > -----Original Message-----
> > From: Sean Rhodes <sean@starlabs.systems>
> > Sent: Monday, September 26, 2022 4:10 PM
> > To: devel@edk2.groups.io
> > Cc: Rhodes, Sean <sean@starlabs.systems>; Gao, Zhichao
> > <zhichao.gao@intel.com>; Ni, Ray <ray.ni@intel.com>; Wang, Jian J
> > <jian.j.wang@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
> > Subject: [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the
> > position of the Logo
> >
> > When set to true, the Logo is positioned according to the BGRT
> > specification, 38.2% from the top of the screen. When set to false,
> > no behaviour is changed and the logo is positioned centrally.
> >
> > Cc: Zhichao Gao <zhichao.gao@intel.com>
> > Cc: Ray Ni <ray.ni@intel.com>
> > Cc: Jian J Wang <jian.j.wang@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Signed-off-by: Sean Rhodes <sean@starlabs.systems>
> > ---
> > MdeModulePkg/Logo/Logo.c | 5 +++++
> > MdeModulePkg/Logo/LogoDxe.inf | 4 ++++
> > MdeModulePkg/MdeModulePkg.dec | 6 ++++++
> > MdeModulePkg/MdeModulePkg.uni | 6 ++++++
> > 4 files changed, 21 insertions(+)
> >
> > diff --git a/MdeModulePkg/Logo/Logo.c b/MdeModulePkg/Logo/Logo.c
> > index 8ab874d2da..1638d0f984 100644
> > --- a/MdeModulePkg/Logo/Logo.c
> > +++ b/MdeModulePkg/Logo/Logo.c
> > @@ -13,6 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> > #include <Protocol/HiiPackageList.h>
> >
> > #include <Library/UefiBootServicesTableLib.h>
> >
> > #include <Library/DebugLib.h>
> >
> > +#include <Library/PcdLib.h>
> >
> >
> >
> > typedef struct {
> >
> > EFI_IMAGE_ID ImageId;
> >
> > @@ -69,6 +70,10 @@ GetImage (
> > return EFI_NOT_FOUND;
> >
> > }
> >
> >
> >
> > + if (FixedPcdGetBool (PcdFollowMicrosoftRecommended)) {
> >
> > + mLogos[Current].Attribute =
> > EdkiiPlatformLogoDisplayAttributeMicrosoftRecommended;
> >
> > + }
> >
> > +
> >
> > (*Instance)++;
> >
> > *Attribute = mLogos[Current].Attribute;
> >
> > *OffsetX = mLogos[Current].OffsetX;
> >
> > diff --git a/MdeModulePkg/Logo/LogoDxe.inf
> > b/MdeModulePkg/Logo/LogoDxe.inf
> > index 41215d25d8..ce29950089 100644
> > --- a/MdeModulePkg/Logo/LogoDxe.inf
> > +++ b/MdeModulePkg/Logo/LogoDxe.inf
> > @@ -41,6 +41,7 @@
> > UefiBootServicesTableLib
> >
> > UefiDriverEntryPoint
> >
> > DebugLib
> >
> > + PcdLib
> >
> >
> >
> > [Protocols]
> >
> > gEfiHiiDatabaseProtocolGuid ## CONSUMES
> >
> > @@ -48,6 +49,9 @@
> > gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES
> >
> > gEdkiiPlatformLogoProtocolGuid ## PRODUCES
> >
> >
> >
> > +[Pcd]
> >
> > + gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended
> > ## CONSUMES
> >
> > +
> >
> > [Depex]
> >
> > gEfiHiiDatabaseProtocolGuid AND
> >
> > gEfiHiiImageExProtocolGuid
> >
> > diff --git a/MdeModulePkg/MdeModulePkg.dec
> > b/MdeModulePkg/MdeModulePkg.dec
> > index 58e6ab0048..ac437990f1 100644
> > --- a/MdeModulePkg/MdeModulePkg.dec
> > +++ b/MdeModulePkg/MdeModulePkg.dec
> > @@ -2102,6 +2102,12 @@
> > # @Prompt The shared bit mask when Intel Tdx is enabled.
> >
> >
> > gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x
> > 10000025
> >
> >
> >
> > + ## This PCD sets the position of the Boot Logo.
> >
> > + # TRUE - The Logo is positioned following the recommendations from
> > Microsoft.
> >
> > + # FALSE - The logo is positioned in the center of the screen.
> >
> > + # @ Prompt This position of the boot logo
> >
> > +
> > gEfiMdeModulePkgTokenSpaceGuid.PcdFollowMicrosoftRecommended|FA
> > LSE|BOOLEAN|0x10000026
> >
> > +
> >
> > [PcdsPatchableInModule]
> >
> > ## Specify memory size with page number for PEI code when
> >
> > # Loading Module at Fixed Address feature is enabled.
> >
> > diff --git a/MdeModulePkg/MdeModulePkg.uni
> > b/MdeModulePkg/MdeModulePkg.uni
> > index 33ce9f6198..09c1ac1cc1 100644
> > --- a/MdeModulePkg/MdeModulePkg.uni
> > +++ b/MdeModulePkg/MdeModulePkg.uni
> > @@ -1338,3 +1338,9 @@
> > #string
> > STR_gEfiMdeModulePkgTokenSpaceGuid_PcdPcieResizableBarSupport_HEL
> > P #language en-US "Indicates if the PCIe Resizable BAR Capability
> > Supported.<BR><BR>\n"
> >
> >
> "TRUE - PCIe Resizable BAR
> > Capability is supported.<BR>\n"
> >
> >
> "FALSE - PCIe Resizable BAR
> > Capability is not supported.<BR>"
> >
> > +
> >
> > +#string
> > STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommende
> > d_PROMPT #language en-US "The position of the Boot Logo"
> >
> > +
> >
> > +#string
> > STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFollowMicrosoftRecommend_
> > HELP #language en-US "Sets the position of the Logo. When set to true,
> the
> > Logo is positioned following the recommendations"
> >
> > +
> " from Microsoft, 38.2% from
> > the top of the screen."
> >
> > +
> >
> > --
> > 2.34.1
>
>
[-- Attachment #2: Type: text/html, Size: 12805 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2022-10-25 7:26 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-26 8:15 [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification Sean Rhodes
2022-07-26 8:15 ` [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo Sean Rhodes
2022-08-05 5:58 ` 回复: " gaoliming
2022-07-26 8:15 ` [PATCH 3/3] UefiPayloadPkg: Hook up FOLLOW_BGRT_SPEC macro Sean Rhodes
2022-08-04 10:01 ` [edk2-devel] [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow BGRT specification Sean Rhodes
2022-08-05 5:59 ` 回复: " gaoliming
2022-08-05 6:55 ` Sean Rhodes
2022-08-05 7:04 ` Pedro Falcato
2022-08-12 4:54 ` 回复: " gaoliming
-- strict thread matches above, loose matches on Subject: below --
2022-08-05 7:52 [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow Microsoft Recommendations Sean Rhodes
2022-08-05 7:52 ` [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo Sean Rhodes
2022-09-26 8:09 [PATCH 1/3] MdeModulePkg/BootLogoLib: Add option to follow Microsoft Recommendations Sean Rhodes
2022-09-26 8:09 ` [PATCH 2/3] MdeModulePkg/Logo: Add a PCD to control the position of the Logo Sean Rhodes
2022-10-08 2:02 ` Ni, Ray
2022-10-10 8:51 ` Sean Rhodes
2022-10-10 9:25 ` Ni, Ray
2022-10-10 9:44 ` Sean Rhodes
2022-10-25 7:26 ` Sean Rhodes
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox