diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2015-09-24 12:42:17 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-10-27 15:22:10 +0100 |
commit | bed16d9706a72921435ad6df7171daf3f008337c (patch) | |
tree | 7db7da2f4ca9c46b9e1e3ea5aeb78294450810e4 /payloads/libpayload/drivers | |
parent | fed269b1c44eb93c355fd0d6cb5ce619cd97d068 (diff) | |
download | coreboot-bed16d9706a72921435ad6df7171daf3f008337c.tar.xz |
cbgfx: add load_bitmap
This change adds load_bitmap API, which loads a bitmap file from cbfs
and returns a pointer to the image data.
BUG=none
BRANCH=tot
TEST=Tested on Samus
Change-Id: I7d7874f6f68c414dc877a012ad96c393e42dc35e
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Original-Commit-Id: 9d33e713a0cf6bd1365418dad989e47e86db01e4
Original-Change-Id: Idbf9682c2fa9df3f0bd296ca47edd02cd09cfd01
Original-Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/302194
Original-Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: http://review.coreboot.org/11925
Tested-by: build bot (Jenkins)
Diffstat (limited to 'payloads/libpayload/drivers')
-rw-r--r-- | payloads/libpayload/drivers/video/graphics.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/payloads/libpayload/drivers/video/graphics.c b/payloads/libpayload/drivers/video/graphics.c index d4d08f8fc8..c26147333f 100644 --- a/payloads/libpayload/drivers/video/graphics.c +++ b/payloads/libpayload/drivers/video/graphics.c @@ -5,6 +5,7 @@ */ #include <libpayload.h> +#include <cbfs.h> #include <sysinfo.h> #include "bitmap.h" @@ -145,6 +146,20 @@ static int cbgfx_init(void) return 0; } +void *load_bitmap(const char *name, size_t *size) +{ + static struct cbfs_media media; + static int cbfs_media_initialized = 0; + if (!cbfs_media_initialized) { + if (init_default_cbfs_media(&media)) { + printf("Failed to initialize default media\n"); + return NULL; + } + } + cbfs_media_initialized = 1; + return cbfs_get_file_content(&media, name, CBFS_TYPE_RAW, size); +} + int draw_box(const struct rect *box, const struct rgb_color *rgb) { struct vector top_left; |