summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2007-04-25 09:52:22 +1000
committerDave Airlie <airlied@linux.ie>2007-04-25 09:52:22 +1000
commita3ee42207aab77d93655a82fdcb32be38268b85f (patch)
tree4c6fae707d6d422470fee3fab8110ec0f6a842ea
parent3828237200fc16d4d32664fb8358950c213d4897 (diff)
radeon: another attempt at fixing the mergedfb refresh rate
This attempts to keep it inside the 32-bit limit when multiplying things out later in the randr tree. Let me know if I screwed this up..
-rw-r--r--src/radeon_mergedfb.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/radeon_mergedfb.c b/src/radeon_mergedfb.c
index fa143cb2..abbc1606 100644
--- a/src/radeon_mergedfb.c
+++ b/src/radeon_mergedfb.c
@@ -215,8 +215,13 @@ RADEONCopyModeNLink(ScrnInfoPtr pScrn, DisplayModePtr dest,
* extension to allow selecting among a number of modes whose merged result
* looks identical but consists of different modes for CRT1 and CRT2
*/
- mode->VRefresh = (float)((i->Clock * 1000.0 / i->HTotal / i->VTotal) * 100 +
- (j->Clock * 1000.0 / j->HTotal / j->VTotal));
+ {
+ float ref1, ref2;
+ ref1 = ((float)i->Clock * 100.0 / i->HTotal / i->VTotal) * 50.0;
+ ref2 = ((float)j->Clock * 100.0 / j->HTotal / j->VTotal) / 2.0;
+
+ mode->VRefresh = (float) ref1 + ref2;
+ }
mode->Clock = (int)(mode->VRefresh * 0.001 * mode->HTotal * mode->VTotal);