2009/8/10 Vladimir 'phcoder' Serbinenko <phco...@gmail.com>:
>> I would like a video_fb function like
>> grub_video_fb_create_render_target_from_buffer(void * buffer, int
>> allocated, const grub_video_mode_info_t * mode_info)
> Well this is pretty much what we do directly. New fields can be added
> to fbrender_target with no problem. (btw currently driver manages only
> screen render target and completely delegates other functions to
> video_fb)
>> I am sure that for doing transparent rotation in video_fb
>> encapsulation is good. I can do without it or patch it in with the
>> rotation if I get it into working state.
> Actually it's enough to follow simple rules like
> blitting target on target isn't rotated but coordinates are adjusted

Why would it not be rotated?

Depending on the direction of the two targets a transformation may apply.

> blitting non-target on target is rotated.

If non-target does not support rotation then there is no other
possibility, obviously.

> This way video adapter doesn't have to know about nature of blitting 
> operations.
> Anyway you need  to adjust width and height returned by mode_info.
> A function video_fb_transform_coordinates can do this. This way

Yes, it can. However, driver unaware of rotation won't use it which is
why I want it to be internal to video_fb at least for drivers that do
not implement any operations themselves.

> framebuffer can apply any transformation, not just rotation w/o driver
> to know.

Obviously, the video_fb can do anything (within reason - it needs to
follow the current interface) behind the driver's back as long as
there is working encapsulation in place.

Thanks

Michal


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to