summaryrefslogtreecommitdiff
path: root/src/ativalid.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ativalid.c')
-rw-r--r--src/ativalid.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/ativalid.c b/src/ativalid.c
index 122f594..612bfe5 100644
--- a/src/ativalid.c
+++ b/src/ativalid.c
@@ -53,6 +53,23 @@ ATIValidMode
return MODE_OK;
}
+ {
+ int maxHValue, maxVValue;
+
+ maxHValue = (MaxBits(CRTC_H_TOTAL) + 1) << 3;
+ if (pATI->Chip < ATI_CHIP_264VT)
+ {
+ /* CRTC_H_TOTAL is one bit narrower */
+ maxHValue >>= 1;
+ }
+ if (pMode->HDisplay > maxHValue)
+ return MODE_BAD_HVALUE;
+
+ maxVValue = MaxBits(CRTC_V_TOTAL) + 1;
+ if (pMode->VDisplay > maxVValue)
+ return MODE_BAD_VVALUE;
+ }
+
/*
* The following is done for every mode in the monitor section that
* survives the common layer's basic checks.