diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2015-08-06 10:54:36 +0200 |
---|---|---|
committer | Lucas Stach <l.stach@pengutronix.de> | 2015-08-06 10:55:28 +0200 |
commit | 59029b838dd672ee7f32aa5a83459af7a3c8fc88 (patch) | |
tree | 9e23b34f8219d92b78b2fe0719da80e85aad76f6 | |
parent | e85953f1e06f10ab0e7507df58a9f52679ea8812 (diff) | |
download | kmsfbwrap-59029b838dd672ee7f32aa5a83459af7a3c8fc88.tar.gz kmsfbwrap-59029b838dd672ee7f32aa5a83459af7a3c8fc88.tar.xz |
Add support for ARGB4444 framebuffer format
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
-rw-r--r-- | src/bgi.c | 10 | ||||
-rw-r--r-- | src/kmsfb-manage.c | 4 |
2 files changed, 14 insertions, 0 deletions
@@ -467,6 +467,16 @@ int bgi_init(struct kms_fb *fb) fb->fb_var.blue.offset = 0; fb->fb_var.blue.length = 5; break; + case DRM_FORMAT_ARGB4444: + fb->fb_var.transp.offset = 12; + fb->fb_var.transp.length = 4; + fb->fb_var.red.offset = 8; + fb->fb_var.red.length = 4; + fb->fb_var.green.offset = 4; + fb->fb_var.green.length = 4; + fb->fb_var.blue.offset = 0; + fb->fb_var.blue.length = 4; + break; case DRM_FORMAT_RGB888: case DRM_FORMAT_RGB888_A8: fb->fb_var.transp.offset = 0; diff --git a/src/kmsfb-manage.c b/src/kmsfb-manage.c index a443a2d..9d28e52 100644 --- a/src/kmsfb-manage.c +++ b/src/kmsfb-manage.c @@ -187,6 +187,8 @@ static int kms_data_val_set(struct kms_data *kd, const char *key, const char *va kd->format = DRM_FORMAT_RGB888_A8; else if (!strcasecmp(value, "bgr888_a8")) kd->format = DRM_FORMAT_BGR888_A8; + else if (!strcasecmp(value, "argb4444")) + kd->format = DRM_FORMAT_ARGB4444; else if (!strcasecmp(value, "rgb565")) kd->format = DRM_FORMAT_RGB565; else if (!strcasecmp(value, "bgr565")) @@ -941,6 +943,7 @@ static int create_drm_fbs(struct kms_fb *kms_fb) pitches[1] = (kms_fb->pitch + 3) / 4; offsets[1] = kms_fb->pitch * kms_fb->yres; break; + case DRM_FORMAT_ARGB4444: case DRM_FORMAT_ARGB1555: case DRM_FORMAT_RGB565: case DRM_FORMAT_BGR565: @@ -1320,6 +1323,7 @@ static int fb_create(struct drm_resource *res, int fd, const char *cmd) case DRM_FORMAT_ARGB1555: case DRM_FORMAT_BGR565_A8: case DRM_FORMAT_RGB565_A8: + case DRM_FORMAT_ARGB4444: kd.bpp = 16; break; case DRM_FORMAT_RGB888: |