[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
    * 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

Attachment: signed-rect.patch
Description: Text Data

Attachment: fbtran.patch
Description: Text Data

reply via email to

[Prev in Thread] Current Thread [Next in Thread]