diff options
author | Hans-Juergen Mauser <hjmauser@gmx.net> | 2012-05-07 01:18:36 +0200 |
---|---|---|
committer | Tormod Volden <debian.tormod@gmail.com> | 2012-05-20 21:49:34 +0200 |
commit | 0dec2a2c3d8bba0cdfd20d87baaa3e9482d85da0 (patch) | |
tree | 6bf5266f1e6dc3e79314117e90e82411fca8774f /src/savage_driver.h | |
parent | de22eab9a21df80fe965dc37d21ba3ac2b9f5fd0 (diff) |
Improve output and TV format handling and make it compatible to s3switch
This patch contains several modifications to the handling of the list of
output devices and the control flags for the TV output format, which are
detailed in the following sections.
- new flags are defined to make reading and setting devices easier,
avoiding masking too much or too little
- at the moment of switching between text mode and graphics mode, the
output device settings are saved and updated accordingly which, for
example, means that a display corrupted in graphics mode can be restored
by switching back to text mode as we can assume that boot-up in text
mode works correctly.
- BUGFIX: previously a variable was counted up endlessly by one at each
mode switch. A boolean makes life easier and is what we want here by the
necessary logic.
- BUGFIX: previously the BIOS (hardware) settings for the TV output mode
were not recognised or used correctly which meant by setting "TvOn" you
had automatically set NTSC by force. To avoid this and allow the BIOS
setting to take effect, the configuration option "PAL" is ignored as it
even was not documented properly. Maybe this also reduces the need for
s3switch in many cases as most laptops allow the format to be set up in
the BIOS configuration correctly, but the savage driver not only
ignored, but overrode it and even fought against s3switch here.
If we need to override the TV format from the config, we would have to
define a new flag like "TvFormatOverride" or whatever you like.
- in general a more intelligent handling of VGA register writes related
to the output device set - these were quite unconditional before.
- the output device configuration is read in before video rendering is
started to allow applying the correct image scaling for the selected
device and resolution - previously there could be wrong assumptions
depending on the previous sequence of device settings before starting
the video rendering.
Signed-off-by: Hans-Juergen Mauser <hjmauser@gmx.net>
Diffstat (limited to 'src/savage_driver.h')
-rw-r--r-- | src/savage_driver.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/savage_driver.h b/src/savage_driver.h index 338cfac..f64d606 100644 --- a/src/savage_driver.h +++ b/src/savage_driver.h @@ -619,6 +619,9 @@ void SavageSetTextMode( SavagePtr psav ); void SavageSetVESAMode( SavagePtr psav, int n, int Refresh ); void SavageSetPanelEnabled( SavagePtr psav, Bool active ); void SavageFreeBIOSModeTable( SavagePtr psav, SavageModeTablePtr* ppTable ); +int SavageGetDevice( SavagePtr psav ); +int SavageGetTV( SavagePtr psav ); +int SavageCorrectDuoViewFlag(int iDevInfo, Bool bEnableActivate, Bool bEnableDeactivate); SavageModeTablePtr SavageGetBIOSModeTable( SavagePtr psav, int iDepth ); ModeStatus SavageMatchBiosMode(ScrnInfoPtr pScrn,int width,int height,int refresh, unsigned int *vesaMode,unsigned int *newRefresh); |