From: "Gao, Zhichao" <zhichao.gao@intel.com>
To: "Ni, Ray" <ray.ni@intel.com>
Cc: Gris87 <Gris87@yandex.ru>, "devel@edk2.groups.io" <devel@edk2.groups.io>
Subject: Re: [PATCH] MdeModulePkg: Add missing sourceX for Blt
Date: Tue, 17 Sep 2019 06:59:58 +0000 [thread overview]
Message-ID: <3CE959C139B4C44DBEA1810E3AA6F9000B83AE7E@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C2E1CC7@SHSMSX104.ccr.corp.intel.com>
It is a bug in the blt interface. I have tested it with OvmfPkgX64.
Here is the simple test step:
1. Change BootLogoLib.c line 213:
Status = GraphicsOutput->Blt (
GraphicsOutput,
Blt,
EfiBltBufferToVideo,
0,
0,
(UINTN) DestX,
(UINTN) DestY,
Image.Width,
Image.Height,
Image.Width * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL)
);
==>
Status = GraphicsOutput->Blt (
GraphicsOutput,
Blt,
EfiBltBufferToVideo,
20,
20,
(UINTN) DestX,
(UINTN) DestY,
Image.Width - 20,
Image.Height - 20,
Image.Width * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL)
);
2. build OvmfpkgX64 image and boot thru Qemu.
3. view the logo.
The logo shows incorrect. It should show at the (20, 20), but the result is (0, 20).
Apply this patch, then the result is expected, i.e. it showed at (20, 20) of the logo.bmp.
Tested-by: Zhichao Gao <zhichao.gao@intel.com>
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
> -----Original Message-----
> From: Ni, Ray
> Sent: Tuesday, September 17, 2019 4:57 AM
> To: Gao, Zhichao <zhichao.gao@intel.com>
> Cc: Gris87 <Gris87@yandex.ru>; devel@edk2.groups.io
> Subject: RE: [PATCH] MdeModulePkg: Add missing sourceX for Blt
>
> + Zhichao for review.
>
> > -----Original Message-----
> > From: Gris87 <Gris87@yandex.ru>
> > Sent: Monday, September 16, 2019 7:22 AM
> > To: devel@edk2.groups.io
> > Cc: Gris87 <Gris87@yandex.ru>; Ni, Ray <ray.ni@intel.com>
> > Subject: [PATCH] MdeModulePkg: Add missing sourceX for Blt
> >
> > There is no sourceX offset in case when
> > Configure->PixelFormat == PixelBlueGreenRedReserved8BitPerColor.
> > We are copying most left pixels instead of copying required rectangle.
> >
> > Signed-off-by: Gris87 <Gris87@yandex.ru>
> > Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> > ---
> > MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c
> > b/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c
> > index 47c5326e99..ff7979c962 100644
> > --- a/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c
> > +++ b/MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.c
> > @@ -504,7 +504,7 @@ FrameBufferBltLibBufferToVideo (
> > Destination = Configure->FrameBuffer + Offset;
> >
> > if (Configure->PixelFormat == PixelBlueGreenRedReserved8BitPerColor)
> {
> > - Source = (UINT8 *) BltBuffer + (SrcY * Delta);
> > + Source = (UINT8 *) BltBuffer + (SrcY * Delta) + SourceX * sizeof
> (EFI_GRAPHICS_OUTPUT_BLT_PIXEL);
> > } else {
> > for (IndexX = 0; IndexX < Width; IndexX++) {
> > Blt =
> > --
> > 2.19.1
next prev parent reply other threads:[~2019-09-17 7:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-16 14:21 [PATCH] MdeModulePkg: Add missing sourceX for Blt Gris87
2019-09-16 20:57 ` Ni, Ray
2019-09-17 6:59 ` Gao, Zhichao [this message]
2019-09-25 4:44 ` [edk2-devel] " Wu, Hao A
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3CE959C139B4C44DBEA1810E3AA6F9000B83AE7E@SHSMSX101.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox