Merge from trunk
This commit is contained in:
commit
d94000ed13
210 changed files with 4949 additions and 2557 deletions
|
@ -58,12 +58,12 @@ grub_video_bitmap_create (struct grub_video_bitmap **bitmap,
|
|||
unsigned int size;
|
||||
|
||||
if (!bitmap)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Invalid argument.");
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "invalid argument");
|
||||
|
||||
*bitmap = 0;
|
||||
|
||||
if (width == 0 || height == 0)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Invalid argument.");
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "invalid argument");
|
||||
|
||||
*bitmap = (struct grub_video_bitmap *)grub_malloc (sizeof (struct grub_video_bitmap));
|
||||
if (! *bitmap)
|
||||
|
@ -129,7 +129,7 @@ grub_video_bitmap_create (struct grub_video_bitmap **bitmap,
|
|||
*bitmap = 0;
|
||||
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
"Unsupported bitmap format");
|
||||
"unsupported bitmap format");
|
||||
}
|
||||
|
||||
mode_info->pitch = width * mode_info->bytes_per_pixel;
|
||||
|
@ -188,7 +188,7 @@ grub_video_bitmap_load (struct grub_video_bitmap **bitmap,
|
|||
grub_video_bitmap_reader_t reader = bitmap_readers_list;
|
||||
|
||||
if (!bitmap)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Invalid argument.");
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "invalid argument");
|
||||
|
||||
*bitmap = 0;
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ grub_video_gop_get_bpp (struct grub_efi_gop_mode_info *in)
|
|||
|
||||
total_mask = in->pixel_bitmask.r | in->pixel_bitmask.g
|
||||
| in->pixel_bitmask.b | in->pixel_bitmask.a;
|
||||
|
||||
|
||||
for (i = 31; i >= 0; i--)
|
||||
if (total_mask & (1 << i))
|
||||
return i + 1;
|
||||
|
@ -123,7 +123,7 @@ grub_video_gop_get_bitmask (grub_uint32_t mask, unsigned int *mask_size,
|
|||
if (!(mask & (1 << i)))
|
||||
break;
|
||||
*field_pos = i + 1;
|
||||
*mask_size = last_p - *field_pos;
|
||||
*mask_size = last_p - *field_pos + 1;
|
||||
}
|
||||
|
||||
static grub_err_t
|
||||
|
@ -137,7 +137,7 @@ grub_video_gop_fill_mode_info (struct grub_efi_gop_mode_info *in,
|
|||
out->bpp = grub_video_gop_get_bpp (in);
|
||||
out->bytes_per_pixel = out->bpp >> 3;
|
||||
if (!out->bpp)
|
||||
return grub_error (GRUB_ERR_IO, "Unsupported video mode");
|
||||
return grub_error (GRUB_ERR_IO, "unsupported video mode");
|
||||
out->pitch = in->pixels_per_scanline * out->bytes_per_pixel;
|
||||
|
||||
switch (in->pixel_format)
|
||||
|
@ -176,7 +176,7 @@ grub_video_gop_fill_mode_info (struct grub_efi_gop_mode_info *in,
|
|||
break;
|
||||
|
||||
default:
|
||||
return grub_error (GRUB_ERR_IO, "Unsupported video mode");
|
||||
return grub_error (GRUB_ERR_IO, "unsupported video mode");
|
||||
}
|
||||
|
||||
out->blit_format = grub_video_get_blit_format (out);
|
||||
|
@ -212,7 +212,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
|||
found = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!found)
|
||||
{
|
||||
unsigned mode;
|
||||
|
@ -221,7 +221,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
|||
{
|
||||
grub_efi_uintn_t size;
|
||||
grub_efi_status_t status;
|
||||
|
||||
|
||||
status = efi_call_4 (gop->query_mode, gop, mode, &size, &info);
|
||||
if (status)
|
||||
{
|
||||
|
@ -255,7 +255,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
|||
* ((unsigned long long) bpp))
|
||||
{
|
||||
best_volume = ((unsigned long long) info->width)
|
||||
* ((unsigned long long) info->height)
|
||||
* ((unsigned long long) info->height)
|
||||
* ((unsigned long long) bpp);
|
||||
best_mode = mode;
|
||||
}
|
||||
|
@ -266,7 +266,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
|||
if (!found)
|
||||
{
|
||||
grub_dprintf ("video", "GOP: no mode found\n");
|
||||
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no matching mode found.");
|
||||
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no matching mode found");
|
||||
}
|
||||
|
||||
if (best_mode != gop->mode->mode)
|
||||
|
@ -293,8 +293,8 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
|||
grub_dprintf ("video", "GOP: initialising FB @ %p %dx%dx%d\n",
|
||||
framebuffer.ptr, framebuffer.mode_info.width,
|
||||
framebuffer.mode_info.height, framebuffer.mode_info.bpp);
|
||||
|
||||
err = grub_video_fb_create_render_target_from_pointer
|
||||
|
||||
err = grub_video_fb_create_render_target_from_pointer
|
||||
(&framebuffer.render_target, &framebuffer.mode_info, framebuffer.ptr);
|
||||
|
||||
if (err)
|
||||
|
@ -302,15 +302,15 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
|||
grub_dprintf ("video", "GOP: Couldn't create FB target\n");
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
err = grub_video_fb_set_active_render_target (framebuffer.render_target);
|
||||
|
||||
|
||||
if (err)
|
||||
{
|
||||
grub_dprintf ("video", "GOP: Couldn't set FB target\n");
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
err = grub_video_fb_set_palette (0, GRUB_VIDEO_FBSTD_NUMCOLORS,
|
||||
grub_video_fbstd_colors);
|
||||
|
||||
|
@ -318,7 +318,7 @@ grub_video_gop_setup (unsigned int width, unsigned int height,
|
|||
grub_dprintf ("video", "GOP: Couldn't set palette\n");
|
||||
else
|
||||
grub_dprintf ("video", "GOP: Success\n");
|
||||
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -266,7 +266,7 @@ grub_video_uga_setup (unsigned int width, unsigned int height,
|
|||
return err;
|
||||
}
|
||||
|
||||
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no matching mode found.");
|
||||
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no matching mode found");
|
||||
}
|
||||
|
||||
static grub_err_t
|
||||
|
|
|
@ -1048,7 +1048,7 @@ grub_video_fb_create_render_target (struct grub_video_fbrender_target **result,
|
|||
|| (width == 0)
|
||||
|| (height == 0))
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
"invalid argument given.");
|
||||
"invalid argument given");
|
||||
|
||||
/* Allocate memory for render target. */
|
||||
target = grub_malloc (sizeof (struct grub_video_fbrender_target));
|
||||
|
@ -1168,7 +1168,7 @@ grub_video_fb_set_active_render_target (struct grub_video_fbrender_target *targe
|
|||
{
|
||||
if (! target->data)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
"invalid render target given.");
|
||||
"invalid render target given");
|
||||
|
||||
render_target = target;
|
||||
|
||||
|
|
|
@ -33,6 +33,9 @@ static int vbe_detected = -1;
|
|||
static struct grub_vbe_info_block controller_info;
|
||||
static struct grub_vbe_mode_info_block active_vbe_mode_info;
|
||||
|
||||
/* Track last mode to support cards which fail on get_mode. */
|
||||
static grub_uint32_t last_set_mode = 3;
|
||||
|
||||
static struct
|
||||
{
|
||||
struct grub_video_mode_info mode_info;
|
||||
|
@ -160,6 +163,7 @@ grub_vbe_set_video_mode (grub_uint32_t vbe_mode,
|
|||
status = grub_vbe_bios_set_mode (vbe_mode, 0);
|
||||
if (status != GRUB_VBE_STATUS_OK)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "cannot set VBE mode %x", vbe_mode);
|
||||
last_set_mode = vbe_mode;
|
||||
|
||||
/* Save information for later usage. */
|
||||
framebuffer.active_vbe_mode = vbe_mode;
|
||||
|
@ -203,6 +207,7 @@ grub_vbe_set_video_mode (grub_uint32_t vbe_mode,
|
|||
case 8: framebuffer.bytes_per_pixel = 1; break;
|
||||
default:
|
||||
grub_vbe_bios_set_mode (old_vbe_mode, 0);
|
||||
last_set_mode = old_vbe_mode;
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE,
|
||||
"cannot set VBE mode %x",
|
||||
vbe_mode);
|
||||
|
@ -256,8 +261,9 @@ grub_vbe_get_video_mode (grub_uint32_t *mode)
|
|||
|
||||
/* Try to query current mode from VESA BIOS. */
|
||||
status = grub_vbe_bios_get_mode (mode);
|
||||
/* XXX: ATI cards don't support get_mode. */
|
||||
if (status != GRUB_VBE_STATUS_OK)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "cannot get current VBE mode");
|
||||
*mode = last_set_mode;
|
||||
|
||||
return GRUB_ERR_NONE;
|
||||
}
|
||||
|
@ -350,6 +356,7 @@ grub_video_vbe_fini (void)
|
|||
if (status != GRUB_VBE_STATUS_OK)
|
||||
/* TODO: Decide, is this something we want to do. */
|
||||
return grub_errno;
|
||||
last_set_mode = initial_vbe_mode;
|
||||
|
||||
/* TODO: Free any resources allocated by driver. */
|
||||
grub_free (vbe_mode_list);
|
||||
|
@ -391,10 +398,6 @@ grub_video_vbe_setup (unsigned int width, unsigned int height,
|
|||
/* If not available, skip it. */
|
||||
continue;
|
||||
|
||||
if ((vbe_mode_info.mode_attributes & 0x002) == 0)
|
||||
/* Not enough information. */
|
||||
continue;
|
||||
|
||||
if ((vbe_mode_info.mode_attributes & 0x008) == 0)
|
||||
/* Monochrome is unusable. */
|
||||
continue;
|
||||
|
@ -497,7 +500,7 @@ grub_video_vbe_setup (unsigned int width, unsigned int height,
|
|||
}
|
||||
|
||||
/* Couldn't found matching mode. */
|
||||
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no matching mode found.");
|
||||
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "no matching mode found");
|
||||
}
|
||||
|
||||
static grub_err_t
|
||||
|
|
|
@ -370,7 +370,7 @@ grub_video_reader_tga (struct grub_video_bitmap **bitmap,
|
|||
default:
|
||||
grub_file_close (file);
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
"Unsupported bitmap format (unknown encoding).");
|
||||
"unsupported bitmap format (unknown encoding)");
|
||||
}
|
||||
|
||||
/* Check that bitmap depth is supported. */
|
||||
|
@ -387,7 +387,7 @@ grub_video_reader_tga (struct grub_video_bitmap **bitmap,
|
|||
default:
|
||||
grub_file_close (file);
|
||||
return grub_error (GRUB_ERR_BAD_FILE_TYPE,
|
||||
"Unsupported bitmap format (bpp=%d).",
|
||||
"unsupported bitmap format (bpp=%d)",
|
||||
header.image_bpp);
|
||||
}
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ grub_err_t
|
|||
grub_video_get_info (struct grub_video_mode_info *mode_info)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
/* If mode_info is NULL just report that video adapter is active. */
|
||||
if (! mode_info)
|
||||
|
@ -101,7 +101,7 @@ grub_video_get_info_and_fini (struct grub_video_mode_info *mode_info,
|
|||
grub_err_t err;
|
||||
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
err = grub_video_adapter_active->get_info_and_fini (mode_info, framebuffer);
|
||||
if (err)
|
||||
|
@ -209,7 +209,7 @@ grub_video_set_palette (unsigned int start, unsigned int count,
|
|||
struct grub_video_palette_data *palette_data)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->set_palette (start, count, palette_data);
|
||||
}
|
||||
|
@ -220,7 +220,7 @@ grub_video_get_palette (unsigned int start, unsigned int count,
|
|||
struct grub_video_palette_data *palette_data)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->get_palette (start, count, palette_data);
|
||||
}
|
||||
|
@ -231,7 +231,7 @@ grub_video_set_viewport (unsigned int x, unsigned int y,
|
|||
unsigned int width, unsigned int height)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->set_viewport (x, y, width, height);
|
||||
}
|
||||
|
@ -242,7 +242,7 @@ grub_video_get_viewport (unsigned int *x, unsigned int *y,
|
|||
unsigned int *width, unsigned int *height)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->get_viewport (x, y, width, height);
|
||||
}
|
||||
|
@ -285,7 +285,7 @@ grub_video_unmap_color (grub_video_color_t color, grub_uint8_t *red,
|
|||
grub_uint8_t *alpha)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->unmap_color (color,
|
||||
red,
|
||||
|
@ -300,7 +300,7 @@ grub_video_fill_rect (grub_video_color_t color, int x, int y,
|
|||
unsigned int width, unsigned int height)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->fill_rect (color, x, y, width, height);
|
||||
}
|
||||
|
@ -313,7 +313,7 @@ grub_video_blit_bitmap (struct grub_video_bitmap *bitmap,
|
|||
unsigned int width, unsigned int height)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->blit_bitmap (bitmap, oper, x, y,
|
||||
offset_x, offset_y,
|
||||
|
@ -328,7 +328,7 @@ grub_video_blit_render_target (struct grub_video_render_target *target,
|
|||
unsigned int width, unsigned int height)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->blit_render_target (target, oper, x, y,
|
||||
offset_x, offset_y,
|
||||
|
@ -340,7 +340,7 @@ grub_err_t
|
|||
grub_video_scroll (grub_video_color_t color, int dx, int dy)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->scroll (color, dx, dy);
|
||||
}
|
||||
|
@ -350,7 +350,7 @@ grub_err_t
|
|||
grub_video_swap_buffers (void)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->swap_buffers ();
|
||||
}
|
||||
|
@ -362,7 +362,7 @@ grub_video_create_render_target (struct grub_video_render_target **result,
|
|||
unsigned int mode_type)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->create_render_target (result,
|
||||
width, height,
|
||||
|
@ -374,7 +374,7 @@ grub_err_t
|
|||
grub_video_delete_render_target (struct grub_video_render_target *target)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->delete_render_target (target);
|
||||
}
|
||||
|
@ -384,7 +384,7 @@ grub_err_t
|
|||
grub_video_set_active_render_target (struct grub_video_render_target *target)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->set_active_render_target (target);
|
||||
}
|
||||
|
@ -394,7 +394,7 @@ grub_err_t
|
|||
grub_video_get_active_render_target (struct grub_video_render_target **target)
|
||||
{
|
||||
if (! grub_video_adapter_active)
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "No video mode activated");
|
||||
return grub_error (GRUB_ERR_BAD_DEVICE, "no video mode activated");
|
||||
|
||||
return grub_video_adapter_active->get_active_render_target (target);
|
||||
}
|
||||
|
@ -460,7 +460,7 @@ grub_video_set_mode (const char *modestring,
|
|||
grub_free (modevar);
|
||||
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
"No suitable mode found.");
|
||||
"no suitable mode found");
|
||||
}
|
||||
|
||||
/* Skip separator. */
|
||||
|
@ -545,7 +545,7 @@ grub_video_set_mode (const char *modestring,
|
|||
|
||||
/* First setup error message. */
|
||||
rc = grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
"Invalid mode: %s\n",
|
||||
"invalid mode: %s",
|
||||
current_mode);
|
||||
|
||||
/* Free memory before returning. */
|
||||
|
@ -564,7 +564,7 @@ grub_video_set_mode (const char *modestring,
|
|||
|
||||
/* First setup error message. */
|
||||
rc = grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
"Invalid mode: %s\n",
|
||||
"invalid mode: %s",
|
||||
current_mode);
|
||||
|
||||
/* Free memory before returning. */
|
||||
|
@ -585,7 +585,7 @@ grub_video_set_mode (const char *modestring,
|
|||
|
||||
/* First setup error message. */
|
||||
rc = grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
"Invalid mode: %s\n",
|
||||
"invalid mode: %s",
|
||||
current_mode);
|
||||
|
||||
/* Free memory before returning. */
|
||||
|
@ -607,7 +607,7 @@ grub_video_set_mode (const char *modestring,
|
|||
|
||||
/* First setup error message. */
|
||||
rc = grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
"Invalid mode: %s\n",
|
||||
"invalid mode: %s",
|
||||
current_mode);
|
||||
|
||||
/* Free memory before returning. */
|
||||
|
@ -625,7 +625,7 @@ grub_video_set_mode (const char *modestring,
|
|||
|
||||
/* First setup error message. */
|
||||
rc = grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
"Invalid mode: %s\n",
|
||||
"invalid mode: %s",
|
||||
current_mode);
|
||||
|
||||
/* Free memory before returning. */
|
||||
|
@ -709,7 +709,7 @@ grub_video_set_mode (const char *modestring,
|
|||
grub_free (modevar);
|
||||
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||
"No suitable mode found.");
|
||||
"no suitable mode found");
|
||||
}
|
||||
|
||||
/* Initialize Video API module. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue