chaac
ad2a06edba
2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
...
* include/grub/bitmap.h: New file.
* include/grub/i386/pc/vbeutil.h: Likewise.
* video/bitmap.c: Likewise.
* video/readers/tga.c: Likewise.
* video/i386/pc/vbeutil.c: Likewise.
* commands/videotest.c: Code cleanup and updated to reflect to new
video API.
* term/gfxterm.c: Likewise.
* video/video.c: Likewise.
* conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
(vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
(bitmap_mod_SOURCES): New entry.
(bitmap_mod_CFLAGS): Likewise.
(bitmap_mod_LDFLAGS): Likewise.
(tga_mod_SOURCES): Likewise.
(tga_mod_CFLAGS): Likewise.
(tga_mod_LDFLAGS): Likewise.
* include/grub/video.h (grub_video_blit_operators): New enum type.
(grub_video_render_target): Changed as forward declaration and moved
actual definition to be video driver specific.
(grub_video_adapter.blit_bitmap): Added blitting operator.
(grub_video_adapter.blit_render_target): Likewise.
(grub_video_blit_bitmap): Likewise.
(grub_video_blit_render_target): Likewise.
* include/grub/i386/pc/vbe.h (grub_video_render_target): Added
driver specific render target definition.
(grub_video_vbe_map_rgba): Added driver internal helper.
(grub_video_vbe_unmap_color): Updated to use
grub_video_i386_vbeblit_info.
(grub_video_vbe_get_video_ptr): Likewise.
* include/grub/i386/pc/vbeblit.h
(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
grub_video_i386_vbeblit_info.
(grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
(grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
(grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
(grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
(grub_video_i386_vbeblit_index_R8G8B8): Likewise.
(grub_video_i386_vbeblit_index_index): Likewise.
(grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
(grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
(grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
(grub_video_i386_vbeblit_blend): Added generic blitter for blend
operator.
(grub_video_i386_vbeblit_replace): Added generic blitter for replace
operator.
* video/i386/pc/vbeblit.c: Updated to reflect changes on
include/grub/i386/pc/vbeblit.h.
* include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
Updated to use grub_video_i386_vbeblit_info.
(grub_video_i386_vbefill_R8G8B8): Likewise.
(grub_video_i386_vbefill_index): Likewise.
(grub_video_i386_vbefill): Added generic filler.
* video/i386/pc/vbefill.c: Updated to reflect changes on
include/grub/i386/pc/vbefill.h.
* video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
grub_video_i386_vbeblit_info.
(grub_video_vbe_unmap_color): Likewise.
(grub_video_vbe_blit_glyph): Likewise.
(grub_video_vbe_scroll): Likewise.
(grub_video_vbe_draw_pixel): Removed function.
(grub_video_vbe_get_pixel): Likewise.
(grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
updated code to use it.
(common_blitter): Added common blitter for render target and bitmap.
(grub_video_vbe_blit_bitmap): Updated to use common_blitter.
(grub_video_vbe_blit_render_target): Likewise.
2006-07-31 14:21:36 +00:00
chaac
684a8eff89
2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
...
* include/grub/video.h: Code cleanup.
* include/grub/i386/pc/vbe.h: Likewise.
* video/i386/pc/vbe.c: Likewise.
* video/i386/pc/vbeblit.c: Likewise.
* video/i386/pc/vbefill.c: Likewise.
* video/video.c: Likewise. Also added more comments.
2006-07-29 11:22:52 +00:00
chaac
31b86e9f3b
2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
...
* video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
checking.
(grub_video_vbe_blit_glyph): Likewise.
(grub_video_vbe_blit_bitmap): Likewise.
(grub_video_vbe_blit_render_target): Likewise.
2006-05-09 20:11:11 +00:00
chaac
b4b9367408
2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
...
* DISTLIST: Added include/grub/i386/pc/vbeblit.h,
include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
video/i386/pc/vbefill.c.
* conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
video/i386/pc/vbefill.c.
* include/grub/video.h (grub_video_blit_format): New enum.
(grub_video_mode_info): Added new member blit_format.
(grub_video_get_blit_format): New function prototype.
* include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
function prototype.
(grub_video_vbe_map_rgb): Likewise.
(grub_video_vbe_unmap_color): Likewise.
* include/grub/i386/pc/vbeblit.h: New file.
* include/grub/i386/pc/vbefill.h: New file.
* video/video.c (grub_video_get_blit_format): New function.
(grub_video_vbe_get_video_ptr): Re-declared as non-static.
(grub_video_vbe_map_rgb): Likewise.
(grub_video_vbe_unmap_color): Likewise.
* video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
optimized fills.
(grub_video_vbe_blit_render_target): Changed to use more optimized
blits.
(grub_video_vbe_setup): Added detection for optimized settings.
(grub_video_vbe_create_render_target): Likewise.
* video/i386/pc/vbeblit.c: New file.
* video/i386/pc/vbefill.c: New file.
2006-03-31 14:26:34 +00:00
chaac
bd0d7896cf
2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
...
* DISTLIST: Added include/grub/video.h, term/gfxterm.c,
video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
* conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
(video_mod_SOURCES): Added.
(video_mod_CFLAGS): Likewise.
(video_mod_LDFLAGS): Likewise.
(gfxterm_mod_SOURCES): Likewise.
(gfxterm_mod_CFLAGS): Likewise.
(gfxterm_mod_LDFLAGS): Likewise.
(videotest_mod_SOURCES): Likewise.
(videotest_mod_CFLAGS): Likewise.
(videotest_mod_LDFLAGS): Likewise.
(vesafb_mod_SOURCES): Removed.
(vesafb_mod_CFLAGS): Likewise.
(vesafb_mod_LDFLAGS): Likewise.
(vga_mod_SOURCES): Likewise.
(vga_mod_CFLAGS): Likewise.
(vga_mod_LDFLAGS): Likewise.
* commands/videotest.c: New file.
* font/manager.c (fill_with_default_glyph): Modified to use
grub_font_glyph.
(grub_font_get_glyph): Likewise.
(fontmanager): Renamed from this...
(font_manager): ... to this.
* include/grub/font.h (grub_font_glyph): Added new structure.
(grub_font_get_glyph): Modified to use grub_font_glyph.
* include/grub/misc.h (grub_abs): Added as inline function.
* include/grub/video.h: New file.
* include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
(GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
(GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
(grub_vbe_get_controller_info): Renamed from this...
(grub_vbe_bios_get_controller_info): ... to this.
(grub_vbe_get_mode_info): Renamed from this...
(grub_vbe_bios_get_mode_info): ... to this.
(grub_vbe_set_mode): Renamed from this...
(grub_vbe_bios_set_mode): ... to this.
(grub_vbe_get_mode): Renamed from this...
(grub_vbe_bios_get_mode): ... to this.
(grub_vbe_set_memory_window): Renamed from this...
(grub_vbe_bios_set_memory_window): ... to this.
(grub_vbe_get_memory_window): Renamed from this...
(grub_vbe_bios_get_memory_window): ... to this.
(grub_vbe_set_scanline_length): Renamed from this...
(grub_vbe_set_scanline_length): ... to this.
(grub_vbe_get_scanline_length): Renamed from this...
(grub_vbe_bios_get_scanline_length): ... to this.
(grub_vbe_set_display_start): Renamed from this...
(grub_vbe_bios_set_display_start): ... to this.
(grub_vbe_get_display_start): Renamed from this...
(grub_vbe_bios_get_display_start): ... to this.
(grub_vbe_set_palette_data): Renamed from this...
(grub_vbe_bios_set_palette_data): ... to this.
(grub_vbe_set_pixel_rgb): Removed.
(grub_vbe_set_pixel_index): Likewise.
* kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
from this...
(grub_vbe_bios_get_controller_info): ... to this.
(grub_vbe_get_mode_info): Renamed from this...
(grub_vbe_bios_get_mode_info): ... to this.
(grub_vbe_set_mode): Renamed from this...
(grub_vbe_bios_set_mode): ... to this.
(grub_vbe_get_mode): Renamed from this...
(grub_vbe_bios_get_mode): ... to this.
(grub_vbe_set_memory_window): Renamed from this...
(grub_vbe_bios_set_memory_window): ... to this.
(grub_vbe_get_memory_window): Renamed from this...
(grub_vbe_bios_get_memory_window): ... to this.
(grub_vbe_set_scanline_length): Renamed from this...
(grub_vbe_set_scanline_length): ... to this.
(grub_vbe_get_scanline_length): Renamed from this...
(grub_vbe_bios_get_scanline_length): ... to this.
(grub_vbe_set_display_start): Renamed from this...
(grub_vbe_bios_set_display_start): ... to this.
(grub_vbe_get_display_start): Renamed from this...
(grub_vbe_bios_get_display_start): ... to this.
(grub_vbe_set_palette_data): Renamed from this...
(grub_vbe_bios_set_palette_data): ... to this.
(grub_vbe_bios_get_controller_info): Fixed problem with registers
getting corrupted after calling it. Added more pushes and pops.
(grub_vbe_bios_set_mode): Likewise.
(grub_vbe_bios_get_mode): Likewise.
(grub_vbe_bios_get_memory_window): Likewise.
(grub_vbe_bios_set_scanline_length): Likewise.
(grub_vbe_bios_get_scanline_length): Likewise.
(grub_vbe_bios_get_display_start): Likewise.
(grub_vbe_bios_set_palette_data): Likewise.
* normal/cmdline.c (cl_set_pos): Refresh the screen.
(cl_insert): Likewise.
(cl_delete): Likewise.
* term/gfxterm.c: New file.
* term/i386/pc/vesafb.c: Removed file.
* video/video.c: New file.
* video/i386/pc/vbe.c (real2pm): Added new function.
(grub_video_vbe_draw_pixel): Likewise.
(grub_video_vbe_get_video_ptr): Likewise.
(grub_video_vbe_get_pixel): Likewise
(grub_video_vbe_init): Likewise.
(grub_video_vbe_fini): Likewise.
(grub_video_vbe_setup): Likewise.
(grub_video_vbe_get_info): Likewise.
(grub_video_vbe_set_palette): Likewise.
(grub_video_vbe_get_palette): Likewise.
(grub_video_vbe_set_viewport): Likewise.
(grub_video_vbe_get_viewport): Likewise.
(grub_video_vbe_map_color): Likewise.
(grub_video_vbe_map_rgb): Likewise.
(grub_video_vbe_map_rgba): Likewise.
(grub_video_vbe_unmap_color): Likewise.
(grub_video_vbe_fill_rect): Likewise.
(grub_video_vbe_blit_glyph): Likewise.
(grub_video_vbe_blit_bitmap): Likewise.
(grub_video_vbe_blit_render_target): Likewise.
(grub_video_vbe_scroll): Likewise.
(grub_video_vbe_swap_buffers): Likewise.
(grub_video_vbe_create_render_target): Likewise.
(grub_video_vbe_delete_render_target): Likewise.
(grub_video_vbe_set_active_render_target): Likewise.
(grub_vbe_set_pixel_rgb): Remove function.
(grub_vbe_set_pixel_index): Likewise.
(index_color_mode): Remove static variable.
(active_mode): Likewise.
(framebuffer): Likewise.
(bytes_per_scan_line): Likewise.
(grub_video_vbe_adapter): Added new static variable.
(framebuffer): Likewise.
(render_target): Likewise.
(initial_mode): Likewise.
(mode_in_use): Likewise.
(mode_list): Likewise.
2006-03-14 19:08:34 +00:00
chaac
83d37a627e
2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
...
* video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
color modes, allow greater than 16 colors to be configured as
a default palette.
2005-09-18 21:04:41 +00:00
okuji
1f0a95e481
2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
...
* DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
commands/i386/pc/vbetest.c.
* video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
call grub_vbe_get_controller_info again, because the returned
information is volatile.
(grub_vbe_set_video_mode): Mostly rewritten.
(grub_vbe_get_video_mode): Use grub_vbe_probe and use
grub_vbe_status_t correctly.
(grub_vbe_get_video_mode_info): Likewise.
(grub_vbe_set_pixel_rgb): Use a switch statement rather than
several if statements.
* commands/i386/pc/vbe_list_modes.c: Renamed to ...
* commands/i386/pc/vbeinfo.c: ... this.
* commands/i386/pc/vbe_test.c: Renamed to ...
* commands/i386/pc/vbetest.c: ... this.
* commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
...
(grub_cmd_vbeinfo): ... this. Save video modes before
iterating. Skip a video mode, if it is not available, not enough
information is given or it is monochrome. Show the memory
model. Leave the interpretation of MODEVAR to grub_strtoul
completely.
(GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
(GRUB_MOD_FINI): Likewise.
* commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
(grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
duplicated grub_env_get. Leave the interpretation of MODEVAR to
grub_strtoul completely.
(real2pm): Removed.
(GRUB_MOD_INIT): Rename vbe_test to vbetest.
(GRUB_MOD_FINI): Likewise.
* normal/misc.c: Include grub/mm.h.
* conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
vbe_list_modes with vbetest.mod and vbeinfo.mod.
(vbe_list_modes_mod_SOURCES): Removed.
(vbe_list_modes_mod_CFLAGS): Likewise.
(vbe_test_mod_SOURCES): Likewise.
(vbe_test_mod_CFLAGS): Likewise.
(vbeinfo_mod_SOURCES): New variable.
(vbeinfo_mod_CFLAGS): Likewise.
(vbetest_mod_SOURCES): Likewise.
(vbetest_mod_CFLAGS): Likewise.
2005-08-19 00:32:01 +00:00
chaac
0bd41162dd
Update source to follow GCS more precisely.
2005-08-16 18:34:17 +00:00
chaac
6323696adf
Added first version of the VBE terminal code.
2005-08-15 21:25:41 +00:00