coreboot/payloads/libpayload/drivers
Julius Werner 9e8d262eb5 UPSTREAM: cbgfx: Use memset() for faster screen clearing if possible
cbgfx currently makes a separate function call (recomputing some values)
for every single pixel it draws. While we mostly don't care that much
about display speed, this can become an issue if you're trying to paint
the whole screen white on a lowly-clocked Cortex-A53. As a simple
solution for these extreme cases, we can build a fast path into
clear_screen() that just memset()s the whole framebuffer if the color
and pixel format allow it.

BUG=chrome-os-partner:54416
TEST=Screen drawing speed on Kevin visibly improves (from 2.5s to 3ms).

BUG=None
BRANCH=None
TEST=None

Change-Id: I22f032afbb86b96fa5a0cbbdce8526a905c67b58
Original-Signed-off-by: Julius Werner <jwerner@chromium.org>
Original-Reviewed-on: https://review.coreboot.org/15524
Original-Tested-by: build bot (Jenkins)
Original-Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/358591
Reviewed-by: Martin Roth <martinroth@chromium.org>
2016-07-07 01:09:21 -07:00
..
serial libpayload: ipq40xx: Introduce timer and uart driver 2016-05-09 08:53:24 +02:00
storage libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
timer libpayload: Replace majority of timer drivers with a generic one 2016-05-27 18:08:49 -07:00
udc libpayload: udc/dwc2: Ignore setup packet in check for queue empty 2015-11-13 00:53:02 +01:00
usb libpayload: usb: xhci: Support rockchip xHCI controller 2016-06-01 20:37:01 -07:00
video UPSTREAM: cbgfx: Use memset() for faster screen clearing if possible 2016-07-07 01:09:21 -07:00
cbmem_console.c libpayload: console: Allow output drivers to print whole strings at once 2014-12-22 21:44:37 +01:00
hid.c Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
keyboard.c libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
Makefile.inc libpayload: Replace majority of timer drivers with a generic one 2016-05-27 18:08:49 -07:00
nvram.c libpayload: Make Kconfig bools use IS_ENABLED() 2015-06-30 18:55:15 +02:00
options.c libpayload/options: Fix out of array read. 2014-01-19 11:51:23 +01:00
pci.c Remove empty lines at end of file 2015-06-08 00:55:07 +02:00
speaker.c Fix libpayload speaker driver 2011-10-27 10:49:41 +02:00