summaryrefslogtreecommitdiff
path: root/src/savage_driver.h
diff options
context:
space:
mode:
authorHans-Juergen Mauser <hjmauser@gmx.net>2012-05-07 01:18:36 +0200
committerTormod Volden <debian.tormod@gmail.com>2012-05-20 21:49:34 +0200
commit0dec2a2c3d8bba0cdfd20d87baaa3e9482d85da0 (patch)
tree6bf5266f1e6dc3e79314117e90e82411fca8774f /src/savage_driver.h
parentde22eab9a21df80fe965dc37d21ba3ac2b9f5fd0 (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.h3
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);