* 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

@ -32,6 +32,24 @@ typedef enum
}
grub_efi_gop_pixel_format_t;
typedef enum
{
GRUB_EFI_BLT_VIDEO_FILL,
GRUB_EFI_BLT_VIDEO_TO_BLT_BUFFER,
GRUB_EFI_BLT_BUFFER_TO_VIDEO,
GRUB_EFI_BLT_VIDEO_TO_VIDEO,
GRUB_EFI_BLT_OPERATION_MAX
}
grub_efi_gop_blt_operation_t;
struct grub_efi_gop_blt_pixel
{
grub_uint8_t blue;
grub_uint8_t green;
grub_uint8_t red;
grub_uint8_t reserved;
};
struct grub_efi_gop_pixel_bitmask
{
grub_uint32_t r;