Re: bug and fix

Search this archive.

From: Matan Ziv-Av (matan@svgalib.org)
Date: Wed 15 Aug 2001 - 22:54:30 IDT


On Wed, 15 Aug 2001, Mihai Cartoaje wrote:

> This is a bug with 1.9.10. I haven't tried 1.9.11. The flipping
> doesn't work with the rage driver. Take a look at the following
> function:
> 
> static void __svgalib_flipback(void)
> {
>   /* Entering console. */
>   /* Hmmm... and how about unlocking anything someone else locked?
> */
> #ifndef SVGA_AOUT
>   __joystick_flip_vc(1);
> #endif
>   chipset_unlock();
>   if (flip_mode != TEXT) {
>  /* Restore graphics mode and state. */
>       if(!__svgalib_secondary){
>    flip = 1;
>  vga_setmode(flip_mode);
>  flip = 0;
> //        chipset_setregs(graph_regs,flip_mode);
>         __svgalib_setregs(graph_regs);
>  restorestate();
>       }
>   }
> }
> 
> well, it works with vga_setmode chipset_setregs, and with
> vga_setmode alone. With only chipset_setregs, the video memory is
> corrupted.
> 
> I recommend changing it to vga_setmode alone.

This makes sense, but setmode + restorestate do not restore complete
state. One problem is with vga tweaked modes (xmame). Others are with
linear memory access and with modeline changing (svidtune).
This means that the real fix needs to be in restorestate/savestate.





-- 
Matan Ziv-Av.                         matan@svgalib.org



------------------------------------------------------------------
Unsubscribe:  To:   listbot@svgalib.org
              Body: unsubscribe linux-svgalib


This archive was generated by hypermail 2.1.4 : Wed 21 Jan 2004 - 22:10:24 IST