* grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.

(grub_efi_console_fini): Likewise.
	* grub-core/video/efi_gop.c (framebuffer): New field offscreen.
	(grub_video_gop_fill_mode_info): Rename to ...
	(grub_video_gop_fill_real_mode_info): ... this.
	(grub_video_gop_fill_mode_info): New function.
	(grub_video_gop_setup): Setup double framebuffer.
	(grub_video_gop_get_info_and_fini): Use original framebuffer.
	Free offscreen.
	(grub_video_gop_swap_buffers): Copy framebuffer.
	(grub_video_gop_fini): Free offscreen buffer.
	* include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
	New enum.
	(grub_efi_gop_blt_pixel): New struct.
This commit is contained in:
Matthew Garrett 2012-05-26 13:33:34 +02:00 committed by Vladimir 'phcoder' Serbinenko
parent 683031bac4
commit 4ce776d23e
4 changed files with 109 additions and 6 deletions

View file

@ -234,6 +234,7 @@ grub_console_setcursor (struct grub_term_output *term __attribute__ ((unused)),
static grub_err_t
grub_efi_console_init (struct grub_term_output *term)
{
grub_efi_set_text_mode (1);
grub_console_setcursor (term, 1);
return 0;
}
@ -242,6 +243,7 @@ static grub_err_t
grub_efi_console_fini (struct grub_term_output *term)
{
grub_console_setcursor (term, 0);
grub_efi_set_text_mode (0);
return 0;
}