From 7909881256f8dbda93a19c11f80e7beb6f164ae4 Mon Sep 17 00:00:00 2001 From: Rudolf Cornelissen Date: Thu, 3 Feb 2005 16:19:44 +0000 Subject: [PATCH] fixed a truncate error with casting between floats and ints: this makes the centering calculation for WS panels work more precise, removing some 'noise' pixels on the right side of the screen when displaying non native aspect modes. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11235 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/accelerants/nvidia/engine/nv_crtc.c | 2 +- src/add-ons/accelerants/nvidia/engine/nv_crtc2.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/add-ons/accelerants/nvidia/engine/nv_crtc.c b/src/add-ons/accelerants/nvidia/engine/nv_crtc.c index 2f3a517f76..36db20cf21 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_crtc.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_crtc.c @@ -399,7 +399,7 @@ status_t nv_crtc_set_timing(display_mode target) DACW(FP_DEBUG1, (((iscale_x >> 1) & 0x00000fff) | (1 << 12))); /* center/cut-off left and right side of screen */ diff = ((si->ps.p1_timing.h_display - - (target.timing.h_display * ((1 << 12) / ((float)iscale_x)))) + ((target.timing.h_display * (1 << 12)) / iscale_x)) / 2); DACW(FP_HVALID_S, diff); DACW(FP_HVALID_E, ((si->ps.p1_timing.h_display - diff) - 1)); diff --git a/src/add-ons/accelerants/nvidia/engine/nv_crtc2.c b/src/add-ons/accelerants/nvidia/engine/nv_crtc2.c index efaf2ce2b2..cfba57faca 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_crtc2.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_crtc2.c @@ -382,7 +382,7 @@ status_t nv_crtc2_set_timing(display_mode target) DAC2W(FP_DEBUG1, (((iscale_x >> 1) & 0x00000fff) | (1 << 12))); /* center/cut-off left and right side of screen */ diff = ((si->ps.p2_timing.h_display - - (target.timing.h_display * ((1 << 12) / ((float)iscale_x)))) + ((target.timing.h_display * (1 << 12)) / iscale_x)) / 2); DAC2W(FP_HVALID_S, diff); DAC2W(FP_HVALID_E, ((si->ps.p2_timing.h_display - diff) - 1));