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.
This commit is contained in:
parent
c2379b9c31
commit
b4b9367408
12 changed files with 845 additions and 21 deletions
|
@ -2108,9 +2108,10 @@ multiboot_mod_CFLAGS = $(COMMON_CFLAGS)
|
|||
multiboot_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For vbe.mod.
|
||||
vbe_mod_SOURCES = video/i386/pc/vbe.c
|
||||
CLEANFILES += vbe.mod mod-vbe.o mod-vbe.c pre-vbe.o vbe_mod-video_i386_pc_vbe.o def-vbe.lst und-vbe.lst
|
||||
MOSTLYCLEANFILES += vbe_mod-video_i386_pc_vbe.d
|
||||
vbe_mod_SOURCES = video/i386/pc/vbe.c video/i386/pc/vbeblit.c \
|
||||
video/i386/pc/vbefill.c
|
||||
CLEANFILES += vbe.mod mod-vbe.o mod-vbe.c pre-vbe.o vbe_mod-video_i386_pc_vbe.o vbe_mod-video_i386_pc_vbeblit.o vbe_mod-video_i386_pc_vbefill.o def-vbe.lst und-vbe.lst
|
||||
MOSTLYCLEANFILES += vbe_mod-video_i386_pc_vbe.d vbe_mod-video_i386_pc_vbeblit.d vbe_mod-video_i386_pc_vbefill.d
|
||||
DEFSYMFILES += def-vbe.lst
|
||||
UNDSYMFILES += und-vbe.lst
|
||||
|
||||
|
@ -2119,7 +2120,7 @@ vbe.mod: pre-vbe.o mod-vbe.o
|
|||
$(LD) $(vbe_mod_LDFLAGS) $(LDFLAGS) -r -d -o $@ $^
|
||||
$(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@
|
||||
|
||||
pre-vbe.o: vbe_mod-video_i386_pc_vbe.o
|
||||
pre-vbe.o: vbe_mod-video_i386_pc_vbe.o vbe_mod-video_i386_pc_vbeblit.o vbe_mod-video_i386_pc_vbefill.o
|
||||
-rm -f $@
|
||||
$(LD) $(vbe_mod_LDFLAGS) -r -d -o $@ $^
|
||||
|
||||
|
@ -2155,6 +2156,44 @@ fs-vbe_mod-video_i386_pc_vbe.lst: video/i386/pc/vbe.c genfslist.sh
|
|||
set -e; $(CC) -Ivideo/i386/pc -I$(srcdir)/video/i386/pc $(CPPFLAGS) $(CFLAGS) $(vbe_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh vbe > $@ || (rm -f $@; exit 1)
|
||||
|
||||
|
||||
vbe_mod-video_i386_pc_vbeblit.o: video/i386/pc/vbeblit.c
|
||||
$(CC) -Ivideo/i386/pc -I$(srcdir)/video/i386/pc $(CPPFLAGS) $(CFLAGS) $(vbe_mod_CFLAGS) -c -o $@ $<
|
||||
|
||||
vbe_mod-video_i386_pc_vbeblit.d: video/i386/pc/vbeblit.c
|
||||
set -e; $(CC) -Ivideo/i386/pc -I$(srcdir)/video/i386/pc $(CPPFLAGS) $(CFLAGS) $(vbe_mod_CFLAGS) -M $< | sed 's,vbeblit\.o[ :]*,vbe_mod-video_i386_pc_vbeblit.o $@ : ,g' > $@; [ -s $@ ] || rm -f $@
|
||||
|
||||
-include vbe_mod-video_i386_pc_vbeblit.d
|
||||
|
||||
CLEANFILES += cmd-vbe_mod-video_i386_pc_vbeblit.lst fs-vbe_mod-video_i386_pc_vbeblit.lst
|
||||
COMMANDFILES += cmd-vbe_mod-video_i386_pc_vbeblit.lst
|
||||
FSFILES += fs-vbe_mod-video_i386_pc_vbeblit.lst
|
||||
|
||||
cmd-vbe_mod-video_i386_pc_vbeblit.lst: video/i386/pc/vbeblit.c gencmdlist.sh
|
||||
set -e; $(CC) -Ivideo/i386/pc -I$(srcdir)/video/i386/pc $(CPPFLAGS) $(CFLAGS) $(vbe_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh vbe > $@ || (rm -f $@; exit 1)
|
||||
|
||||
fs-vbe_mod-video_i386_pc_vbeblit.lst: video/i386/pc/vbeblit.c genfslist.sh
|
||||
set -e; $(CC) -Ivideo/i386/pc -I$(srcdir)/video/i386/pc $(CPPFLAGS) $(CFLAGS) $(vbe_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh vbe > $@ || (rm -f $@; exit 1)
|
||||
|
||||
|
||||
vbe_mod-video_i386_pc_vbefill.o: video/i386/pc/vbefill.c
|
||||
$(CC) -Ivideo/i386/pc -I$(srcdir)/video/i386/pc $(CPPFLAGS) $(CFLAGS) $(vbe_mod_CFLAGS) -c -o $@ $<
|
||||
|
||||
vbe_mod-video_i386_pc_vbefill.d: video/i386/pc/vbefill.c
|
||||
set -e; $(CC) -Ivideo/i386/pc -I$(srcdir)/video/i386/pc $(CPPFLAGS) $(CFLAGS) $(vbe_mod_CFLAGS) -M $< | sed 's,vbefill\.o[ :]*,vbe_mod-video_i386_pc_vbefill.o $@ : ,g' > $@; [ -s $@ ] || rm -f $@
|
||||
|
||||
-include vbe_mod-video_i386_pc_vbefill.d
|
||||
|
||||
CLEANFILES += cmd-vbe_mod-video_i386_pc_vbefill.lst fs-vbe_mod-video_i386_pc_vbefill.lst
|
||||
COMMANDFILES += cmd-vbe_mod-video_i386_pc_vbefill.lst
|
||||
FSFILES += fs-vbe_mod-video_i386_pc_vbefill.lst
|
||||
|
||||
cmd-vbe_mod-video_i386_pc_vbefill.lst: video/i386/pc/vbefill.c gencmdlist.sh
|
||||
set -e; $(CC) -Ivideo/i386/pc -I$(srcdir)/video/i386/pc $(CPPFLAGS) $(CFLAGS) $(vbe_mod_CFLAGS) -E $< | sh $(srcdir)/gencmdlist.sh vbe > $@ || (rm -f $@; exit 1)
|
||||
|
||||
fs-vbe_mod-video_i386_pc_vbefill.lst: video/i386/pc/vbefill.c genfslist.sh
|
||||
set -e; $(CC) -Ivideo/i386/pc -I$(srcdir)/video/i386/pc $(CPPFLAGS) $(CFLAGS) $(vbe_mod_CFLAGS) -E $< | sh $(srcdir)/genfslist.sh vbe > $@ || (rm -f $@; exit 1)
|
||||
|
||||
|
||||
vbe_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
vbe_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
|
|
|
@ -174,7 +174,8 @@ multiboot_mod_CFLAGS = $(COMMON_CFLAGS)
|
|||
multiboot_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
# For vbe.mod.
|
||||
vbe_mod_SOURCES = video/i386/pc/vbe.c
|
||||
vbe_mod_SOURCES = video/i386/pc/vbe.c video/i386/pc/vbeblit.c \
|
||||
video/i386/pc/vbefill.c
|
||||
vbe_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||
vbe_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue