diff options
Diffstat (limited to 'gnu/packages/patches/xf86-video-savage-xorg-compat.patch')
-rw-r--r-- | gnu/packages/patches/xf86-video-savage-xorg-compat.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gnu/packages/patches/xf86-video-savage-xorg-compat.patch b/gnu/packages/patches/xf86-video-savage-xorg-compat.patch new file mode 100644 index 0000000000..9524032676 --- /dev/null +++ b/gnu/packages/patches/xf86-video-savage-xorg-compat.patch @@ -0,0 +1,33 @@ +Fix build against xorg-server >= 1.20. + +Patch taken from upstream: +https://cgit.freedesktop.org/xorg/driver/xf86-video-savage/commit/?id=0ece556daa8a88771b669d8104396abd9166d2d0 + +diff --git a/src/savage_driver.c b/src/savage_driver.c +index 58a294d..3cda923 100644 +--- a/src/savage_driver.c ++++ b/src/savage_driver.c +@@ -2034,8 +2034,6 @@ static Bool SavagePreInit(ScrnInfoPtr pScrn, int flags) + xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Detected current MCLK value of %1.3f MHz\n", + mclk / 1000.0); + +- pScrn->maxHValue = 2048 << 3; /* 11 bits of h_total 8-pixel units */ +- pScrn->maxVValue = 2048; /* 11 bits of v_total */ + pScrn->virtualX = pScrn->display->virtualX; + pScrn->virtualY = pScrn->display->virtualY; + +@@ -3637,6 +3635,14 @@ static ModeStatus SavageValidMode(SCRN_ARG_TYPE arg, DisplayModePtr pMode, + (pMode->VDisplay > psav->PanelY))) + return MODE_PANEL; + ++ /* 11 bits of h_total 8-pixel units */ ++ if (pMode->HTotal > (2048 << 3)) ++ return MODE_BAD_HVALUE; ++ ++ /* 11 bits of v_total */ ++ if (pMode->VTotal > 2048) ++ return MODE_BAD_VVALUE; ++ + if (psav->UseBIOS) { + refresh = SavageGetRefresh(pMode); + return (SavageMatchBiosMode(pScrn,pMode->HDisplay, |