Vladimir 'phcoder' Serbinenko
12e9d4d152
Fix video on platforms where unaligned access is forbidden.
Make several optimisations while on it.
* grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
(grub_video_fbblit_replace_32bit_1bit): Likewise.
(grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
Disable.
(grub_video_fbblit_replace_16bit_1bit):
Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
(grub_video_fbblit_replace_8bit_1bit): Likewise.
(grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
(grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
(grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
(grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
(grub_video_fbblit_replace_BGR888_RGB888): Likewise.
(grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
(grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
(grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
(grub_video_fbblit_replace_index_RGBX8888): Likewise.
(grub_video_fbblit_replace_index_RGB888): Likewise.
(grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
(grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
(grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
(grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
(grub_video_fbblit_blend_index_RGBA8888): Likewise.
(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
(grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
Disable.
(grub_video_fbblit_blend_XXX565_1bit):
Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
* grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
* grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
void *.
* grub-core/video/fb/video_fb.c (common_blitter)
[!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
(grub_video_fb_create_render_target_from_pointer)
[!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
* include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
* include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
definition.
* include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
2011-12-13 20:07:33 +01:00
..
2011-06-27 08:54:55 +02:00
2010-04-29 13:26:38 +02:00
2010-09-04 17:10:10 +02:00
2010-08-29 23:21:21 +02:00
2011-11-12 21:12:52 +01:00
2011-12-13 15:04:07 +01:00
2010-01-10 13:34:48 +01:00
2011-11-30 16:20:13 +01:00
2009-12-11 22:14:09 +01:00
2009-10-09 18:23:48 +00:00
2009-06-10 21:04:23 +00:00
2010-04-10 19:59:22 +02:00
2010-01-18 17:40:23 +01:00
2010-01-18 17:40:23 +01:00
2009-10-10 20:59:18 +02:00
2011-05-18 09:56:33 +02:00
2009-09-02 02:52:10 +02:00
2010-09-04 17:10:10 +02:00
2010-04-11 22:44:31 +02:00
2011-11-10 08:07:51 +01:00
2010-01-18 17:40:23 +01:00
2010-01-19 14:29:02 +01:00
2010-01-18 17:40:23 +01:00
2010-05-31 13:58:18 +02:00
2009-05-02 23:19:20 +00:00
2011-10-19 16:53:18 +02:00
2011-10-21 00:16:59 +02:00
2009-05-16 12:46:24 +00:00
2007-12-30 08:52:06 +00:00
2010-01-03 22:05:07 +00:00
2011-12-13 20:07:33 +01:00
2010-05-08 01:06:22 +02:00
2010-01-13 14:12:24 +01:00