
On 03/16/2018 11:55 AM, Heinrich Schuchardt wrote:
On 03/15/2018 03:02 PM, Alexander Graf wrote:
The GOP path was optimized, but still not as fast as it should be. Let's push it even further by trimming the hot path into simple 32bit load/store operations for buf->vid 32bpp operations.
Signed-off-by: Alexander Graf agraf@suse.de
<snip />
The following problem is not introduced by your patch series so it should not stop you from merging the patches:
For EFI_BLT_VIDEO_TO_VIDEO the spec does not define how to copy overlapping rectangles. The iteration direction makes a big difference here.
I think we should do overlapping copies always in a way that keeps the contents of the source rectangle. Currently we corrupt it when
sy == dy && sx < dx < sx + width || sy < dy < dy + height.
For dy > sy we should iterate bottom to top. For dx > sy && dy == sy we should iterate right to left.
Best regards
Heinrich
EDK has said logic in CorebootPayloadPkg/FbGop/FbGop.c.
Regards
Heinrich