coreboot/payloads
Yu-Ping Wu e5824ff2a9 libpayload: cbgfx: Clear screen by memcpy
Instead of setting each pixel in the framebuffer, use memcpy() to clear
screen faster. As this method should be fast enough, remove the fast
path using memset().

The speed of clear_screen() on brya (x_resolution = 1920,
bytes_per_line = 7680):

- Using memset(): 15ms
- Setting each pixel: 25ms
- Using memcpy(): 14ms

Also remove set_pixel_raw() since it's now used in only one place.

BUG=none
TEST=emerge-brya libpayload
TEST=Saw developer screen on brya
BRANCH=none

Change-Id: I5f08fb50faab48d3db6b61ae022af3226914f72b
Signed-off-by: Yu-Ping Wu <yupingso@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/58128
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
2021-10-07 14:11:56 +00:00
..
coreinfo util/kconfig: Uprev to Linux 5.13's kconfig 2021-07-13 20:28:14 +00:00
external payloads/external/tianocore: Add build argument for 4G Decode 2021-09-08 07:19:10 +00:00
libpayload libpayload: cbgfx: Clear screen by memcpy 2021-10-07 14:11:56 +00:00
linuxcheck treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
nvramcui nvramcui: Use libpayload's new Makefile.payload 2021-02-07 16:23:33 +00:00
Kconfig option: Turn CMOS option backend into choice 2021-05-28 11:37:16 +00:00
Makefile.inc payloads: Force sub-make runs for in-tree payloads 2021-02-07 16:31:56 +00:00