grub/ChangeLog.video
2009-11-14 17:00:39 +01:00

31 lines
1.5 KiB
Text

2009-08-24 Colin D Bennett <colin@gibibit.com>
2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Double buffering support.
* commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
* include/grub/video.h: Update comment.
* include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
New type.
(grub_video_fb_doublebuf_blit_init): New prototype.
* term/gfxterm.c (scroll_up): Support double buffering.
(grub_gfxterm_refresh): Likewise.
* video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
(grub_video_fb_doublebuf_blit_init): Likewise.
* video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
'front_target', 'back_target', 'offscreen_buffer', 'page_size',
'displayed_page', 'render_page' and 'update_screen'.
(grub_video_vbe_fini): Free offscreen buffer.
(doublebuf_pageflipping_commit): New function.
(doublebuf_pageflipping_update_screen): Likewise.
(doublebuf_pageflipping_init): Likewise.
(double_buffering_init): Likewise.
(grub_video_vbe_setup): Enable doublebuffering.
(grub_video_vbe_swap_buffers): Implement.
(grub_video_vbe_set_active_render_target): Handle double buffering.
(grub_video_vbe_get_active_render_target): Likewise.
(grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
(grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
(grub_video_vbe_enable_double_buffering): Likewise.
(grub_video_vbe_swap_buffers): Use update_screen.
(grub_video_set_mode): Use double buffering.