[PATCH xf86-video-s3virge] Add check for max[HV]Value to ValidMode hook
Stefan Dirsch
sndirsch at suse.de
Tue Jun 26 18:55:20 UTC 2018
xorg-server 1.20 removed this check, so implement this in the driver
itself.
Signed-off-by: Stefan Dirsch <sndirsch at suse.de>
---
src/s3v_driver.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/src/s3v_driver.c b/src/s3v_driver.c
index e5dd2e4..b546c4f 100644
--- a/src/s3v_driver.c
+++ b/src/s3v_driver.c
@@ -1203,17 +1203,6 @@ S3VPreInit(ScrnInfoPtr pScrn, int flags)
vga256InfoRec.directMode = XF86DGADirectPresent;
#endif
- /*
- * xf86ValidateModes will check that the mode HTotal and VTotal values
- * don't exceed the chipset's limit if pScrn->maxHValue and
- * pScrn->maxVValue are set.
- */
-
- /* todo - The virge limit is 2048 vertical & horizontal */
- /* pixels, not clock register settings. */
- /* true for all ViRGE? */
- pScrn->maxHValue = 2048;
- pScrn->maxVValue = 2048;
/* Lower depths default to config file */
pScrn->virtualX = pScrn->display->virtualX;
@@ -2566,6 +2555,16 @@ S3VValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags)
if ((pScrn->bitsPerPixel + 7)/8 * mode->HDisplay > 4095)
return MODE_VIRTUAL_X;
+ /* todo - The virge limit is 2048 vertical & horizontal */
+ /* pixels, not clock register settings. */
+ /* true for all ViRGE? */
+
+ if (mode->HTotal > 2048)
+ return MODE_BAD_HVALUE;
+
+ if (mode->VTotal > 2048)
+ return MODE_BAD_VVALUE;
+
return MODE_OK;
}
--
2.16.3
More information about the xorg-devel
mailing list