[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] Framebuffer rotation patch
From: |
Michal Suchanek |
Subject: |
Re: [RFC] Framebuffer rotation patch |
Date: |
Sat, 29 Aug 2009 12:24:22 +0200 |
Sending an updated patch.
fbtran should be applied after signed-rect:
Use signed rectangles in video
* include/grub/video_fb.h (grub_fb_norm_rect): new inline
* include/grub/video_fb.h: make viewport, fill and blit function
prototypes use signed rectangles
* include/grub/video.h: ditto
* include/grub/fbfill (grub_video_fbrender_target): make viewport signed
* video/fb/video_fb.c: update viewport, fill and blit functions to use
signed rectangles and grub_fb_norm_rect, update casts
* video/video.c: update viewport, fill and blit functions to
signed rectangles
* commands/videotest.c (grub_cmd_videotest): make locals signed
Add simple fb coordinate transform support
* include/grub/fbtran.h: new file
* include/grub/fbtran.h: (fb_tran_swap_tran,
fb_tran_append, fb_tran_invert, fb_tran_diff, fb_tran_rect,
fb_tran_rect_back, fb_tran_rect_intern, fb_tran_point,
fb_tran_point_back, fb_tran_point_intern, fb_tran_dim,
fb_tran_dim_backi, fb_tran_blit): new inlines
* include/grub/util/misc.h (swap_int, swap_unsigned, grub_min): new inlines
* include/grub/video.h (struct grub_video_mode_info): add transform
* include/grub/video.h (grub_video_adapter.setup): add transform
* include/grub/fbblit.h (grub_video_fbblit_blend,
grub_video_fbblit_replace): add transform
* video/fb/fbblit.c (grub_video_fbblit_blend,
grub_video_fbblit_replace): add transform support
* video/fb/video_fb.c (grub_video_fb_create_render_target): copy
transform from the active target
* video/fb/video_fb.c: add coordinate transforms from user coordinates
* video/fb/video_fb.c (common_blitter): use only generic blitter when
transform is required
* video/i386/pc/vbe.c (grub_video_vbe_setup): add transform argument,
copy it to mode_info
* video/video.c (grub_video_set_mode): parse transform from the mode
string
* video/bitmap.c (grub_video_bitmap_create): set transform to 0 in
created bitmaps
* font/font.c (grub_font_draw_glyph): set transform to 0 in created bitmaps
* term/gfxterm.c (view_width, view_height): new local variables
* term/gfxterm.c: save viewport size in view_width, view_height
- use view_width, view_height insterd of mode_info
* commands/videotest.c: add transform tests
* commands/videotest.c: leaf_data, leaves: new local variables
* commands/videotest.c: init_leaves, draw_leaves: new functions
2009/8/28 Michal Suchanek <address@hidden>:
> Hello
>
> Sending a preliminary framebuffer rotation patch.
>
> You can use videotest to see 4 tiles rotated from the same bitmap data.
>
> Known issues:
>
> - no "accelerated" blitters for rotated modes, at least the 1bit blitter
> should work
However, I did not see any difference between the specialized 1bit
blitter and generic blitter on qemu.
>
> To be done
>
> - make up some naming scheme and rename functions and macros accordingly
> - make up some acceptable way to specify framebnuffer rotation in the
> environment like gfxmode
>
> Thanks
>
> Michal
>
signed-rect.patch
Description: Text Data
fbtran.patch
Description: Text Data