|
|
f96e0b |
From c76c33ca623202ad8473fd590e934db4bfa38256 Mon Sep 17 00:00:00 2001
|
|
|
f96e0b |
From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
|
|
|
f96e0b |
Date: Fri, 3 May 2013 14:07:30 +0200
|
|
|
f96e0b |
Subject: [PATCH 409/482] * grub-core/video/fb/fbblit.c
|
|
|
f96e0b |
(grub_video_fbblit_blend_BGR888_RGBA8888): Fix order bug.
|
|
|
f96e0b |
(grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
|
|
|
f96e0b |
|
|
|
f96e0b |
---
|
|
|
f96e0b |
ChangeLog | 6 ++++++
|
|
|
f96e0b |
grub-core/video/fb/fbblit.c | 19 +++++++++++++------
|
|
|
f96e0b |
2 files changed, 19 insertions(+), 6 deletions(-)
|
|
|
f96e0b |
|
|
|
f96e0b |
diff --git a/ChangeLog b/ChangeLog
|
|
|
f96e0b |
index 9e8884a..c26b110 100644
|
|
|
f96e0b |
--- a/ChangeLog
|
|
|
f96e0b |
+++ b/ChangeLog
|
|
|
f96e0b |
@@ -1,5 +1,11 @@
|
|
|
f96e0b |
2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
|
|
|
f96e0b |
|
|
|
f96e0b |
+ * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
|
|
|
f96e0b |
+ Fix order bug.
|
|
|
f96e0b |
+ (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
|
|
|
f96e0b |
+
|
|
|
f96e0b |
+2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
|
|
|
f96e0b |
+
|
|
|
f96e0b |
* include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
|
|
|
f96e0b |
descriptor.
|
|
|
f96e0b |
|
|
|
f96e0b |
diff --git a/grub-core/video/fb/fbblit.c b/grub-core/video/fb/fbblit.c
|
|
|
f96e0b |
index 13e2926..541a0ce 100644
|
|
|
f96e0b |
--- a/grub-core/video/fb/fbblit.c
|
|
|
f96e0b |
+++ b/grub-core/video/fb/fbblit.c
|
|
|
f96e0b |
@@ -986,11 +986,18 @@ grub_video_fbblit_blend_BGR888_RGBA8888 (struct grub_video_fbblit_info *dst,
|
|
|
f96e0b |
/* General pixel color blending. */
|
|
|
f96e0b |
color = *dstptr;
|
|
|
f96e0b |
|
|
|
f96e0b |
+#ifndef GRUB_CPU_WORDS_BIGENDIAN
|
|
|
f96e0b |
db = dstptr[0];
|
|
|
f96e0b |
- db = (db * (255 - a) + sb * a) / 255;
|
|
|
f96e0b |
dg = dstptr[1];
|
|
|
f96e0b |
- dg = (dg * (255 - a) + sg * a) / 255;
|
|
|
f96e0b |
dr = dstptr[2];
|
|
|
f96e0b |
+#else
|
|
|
f96e0b |
+ dr = dstptr[0];
|
|
|
f96e0b |
+ dg = dstptr[1];
|
|
|
f96e0b |
+ db = dstptr[2];
|
|
|
f96e0b |
+#endif
|
|
|
f96e0b |
+
|
|
|
f96e0b |
+ db = (db * (255 - a) + sb * a) / 255;
|
|
|
f96e0b |
+ dg = (dg * (255 - a) + sg * a) / 255;
|
|
|
f96e0b |
dr = (dr * (255 - a) + sr * a) / 255;
|
|
|
f96e0b |
}
|
|
|
f96e0b |
|
|
|
f96e0b |
@@ -1145,13 +1152,13 @@ grub_video_fbblit_blend_RGB888_RGBA8888 (struct grub_video_fbblit_info *dst,
|
|
|
f96e0b |
}
|
|
|
f96e0b |
|
|
|
f96e0b |
#ifndef GRUB_CPU_WORDS_BIGENDIAN
|
|
|
f96e0b |
- db = dstptr[0];
|
|
|
f96e0b |
- dg = dstptr[1];
|
|
|
f96e0b |
- dr = dstptr[2];
|
|
|
f96e0b |
-#else
|
|
|
f96e0b |
dr = dstptr[0];
|
|
|
f96e0b |
dg = dstptr[1];
|
|
|
f96e0b |
db = dstptr[2];
|
|
|
f96e0b |
+#else
|
|
|
f96e0b |
+ db = dstptr[0];
|
|
|
f96e0b |
+ dg = dstptr[1];
|
|
|
f96e0b |
+ dr = dstptr[2];
|
|
|
f96e0b |
#endif
|
|
|
f96e0b |
|
|
|
f96e0b |
dr = (dr * (255 - a) + sr * a) / 255;
|
|
|
f96e0b |
--
|
|
|
f96e0b |
1.8.2.1
|
|
|
f96e0b |
|