--- xserver-xorg-video-savage-2.2.1/src/savage_driver.c 2008-05-21 22:03:25.000000000 +0200 +++ xserver-xorg-video-savage-2.2.1.new/src/savage_driver.c 2008-12-30 01:37:03.000000000 +0100 @@ -49,6 +49,8 @@ #define DPMS_SERVER #include +#include + #include "xf86xv.h" #include "savage_driver.h" @@ -80,6 +82,7 @@ static Bool SavagePciProbe(DriverPtr drv static Bool SavageProbe(DriverPtr drv, int flags); static int LookupChipID(PciChipsets* pset, int ChipID); #endif +static void SavagePreInitCrtcConfig(ScrnInfoPtr pScrn); static Bool SavagePreInit(ScrnInfoPtr pScrn, int flags); static Bool SavageEnterVT(int scrnIndex, int flags); @@ -1247,6 +1250,22 @@ static void SavageGetPanelInfo(ScrnInfoP } } +static Bool savage_xf86crtc_resize (ScrnInfoPtr scrn, int width, int height) +{ + scrn->virtualX = width; + scrn->virtualY = height; + return TRUE; +} + +static const xf86CrtcConfigFuncsRec savage_xf86crtc_config_funcs = { + savage_xf86crtc_resize +}; + +static void SavagePreInitCrtcConfig(ScrnInfoPtr pScrn) +{ + /* Allocate xf86CrtcConfig */ + xf86CrtcConfigInit (pScrn, &savage_xf86crtc_config_funcs); +} static Bool SavagePreInit(ScrnInfoPtr pScrn, int flags) { @@ -3640,6 +3659,8 @@ static Bool SavageScreenInit(int scrnInd if (xf86DPMSInit(pScreen, SavageDPMS, 0) == FALSE) xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "DPMS initialization failed\n"); + SavagePreInitCrtcConfig(pScrn); + #ifdef XF86DRI if (psav->directRenderingEnabled) { /* complete the DRI setup.*/