96b00a50f1
struct fraction is slooooooooooow. This patch adds a simple 64-bit (32-bits integral, 32-bits fractional) fixed-point math API that is *much* faster (observed roughly 5x speed-up) when doing intensive graphics operations. It is optimized for speed over accuracy so some operations may lose a bit more precision than expected, but overall it's still plenty of bits for most use cases. Also includes support for basic trigonometric functions with a small lookup table. Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: Id0f9c23980e36ce0ac0b7c5cd0bc66153bca1fd0 Reviewed-on: https://review.coreboot.org/c/coreboot/+/42993 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com> Reviewed-by: Hung-Te Lin <hungte@chromium.org> |
||
---|---|---|
.. | ||
arm/arch | ||
arm64/arch | ||
arpa | ||
pci | ||
storage | ||
sys | ||
udc | ||
usb | ||
x86/arch | ||
archive.h | ||
assert.h | ||
cbfs.h | ||
cbfs_core.h | ||
cbfs_ram.h | ||
cbgfx.h | ||
compiler.h | ||
coreboot_tables.h | ||
ctype.h | ||
die.h | ||
endian.h | ||
errno.h | ||
exception.h | ||
fmap_serialized.h | ||
fpmath.h | ||
gdb.h | ||
getopt.h | ||
inttypes.h | ||
ipchksum.h | ||
kconfig.h | ||
keycodes.h | ||
libpayload.h | ||
limits.h | ||
lz4.h | ||
lzma.h | ||
malloc.h | ||
multiboot_tables.h | ||
panel.h | ||
pci.h | ||
queue.h | ||
stdarg.h | ||
stddef.h | ||
stdint.h | ||
stdio.h | ||
stdlib.h | ||
string.h | ||
strings.h | ||
sysinfo.h | ||
term.h | ||
time.h | ||
unistd.h | ||
video_console.h |