|
From: Petr V. <VAN...@vc...> - 2002-07-22 20:46:41
|
On 22 Jul 02 at 22:40, Sven wrote:
>
> What would solve my problem in the easiest way would be to have some
> framebuffer restore hook or something in the fbdev driver, which would get called
> in take_over_screen or something such, after the screen has been resized ?
Just put it into vc_screenbuf after register_framebuffer() returns, and
force redraw...
> Or Maybe simply tell vc_resize that we use a special way of reading the framebuffer.
>
> Or i should implement the trick you use for setting the card in
> graphic mode later on in the setvar stuff ?
If you'll override save_screen, and you'll put set_origin() into visual_init,
I believe that it will work:
(1) in take_over_console, copy data to screenbuf using your own save_screen.
(2) now vc_resize (with prior set_origin) will copy data from old screenbuf
to reallocated screenbuf (instead of from videoram to reallocated
screenbuf).
(3) and update_screen() will just paint data which are already on screen
if resolution changed. If resolutions matched, it will put data on the
screen.
Petr
|