From 7ae8e6dcc6864a6ad250a41fc31cb30edb6381af Mon Sep 17 00:00:00 2001 From: Rudolf Cornelissen Date: Sat, 26 Jun 2004 11:18:10 +0000 Subject: [PATCH] panel update for 'right-shifted' picture on some cards git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8175 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/accelerants/nvidia/engine/nv_agp.c | 6 +++++- src/add-ons/accelerants/nvidia/engine/nv_crtc.c | 9 +++++++-- src/add-ons/accelerants/nvidia/engine/nv_crtc2.c | 9 +++++++-- src/add-ons/accelerants/nvidia/engine/nv_general.c | 2 +- 4 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/add-ons/accelerants/nvidia/engine/nv_agp.c b/src/add-ons/accelerants/nvidia/engine/nv_agp.c index cca10e8f4b..19c141c8d1 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_agp.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_agp.c @@ -275,6 +275,10 @@ static void nv_agp_list_caps(agp_info ai) } if (ai.config.agp_cmd & AGP_FW) LOG(4,("AGP: fastwrite transfers are enabled\n")); if (ai.config.agp_cmd & AGP_SBA) LOG(4,("AGP: sideband adressing is enabled\n")); - LOG(4,("AGP: max. AGP queued request depth is set to %d.\n", + LOG(4,("AGP: max. AGP queued request depth is set to %d\n", (((ai.config.agp_cmd & AGP_RQ) >> AGP_RQ_shift) + 1))); + if (ai.config.agp_cmd & AGP_enable) + LOG(4,("AGP: this AGP interface is currently enabled.\n")); + else + LOG(4,("AGP: this AGP interface is currently disabled.\n")); } diff --git a/src/add-ons/accelerants/nvidia/engine/nv_crtc.c b/src/add-ons/accelerants/nvidia/engine/nv_crtc.c index 193fc13f8d..0e08943d45 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_crtc.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_crtc.c @@ -130,9 +130,14 @@ status_t nv_crtc_set_timing(display_mode target) (((uint16)((si->ps.p1_timing.h_total / ((float)si->ps.p1_timing.h_display)) * target.timing.h_display)) & 0xfff8) - 8; + //fixme: can be removed if community confirms no problems with modified setup! + //(confirmed this 'problem' on NV34 and NV11 now.) /* NV11 timing has tighter constraints than later cards */ - if ((si->ps.card_type == NV11) && - (target.timing.h_display == si->ps.p1_timing.h_display)) +// if ((si->ps.card_type == NV11) && +// (target.timing.h_display == si->ps.p1_timing.h_display)) + + /* in native mode the CRTC needs some extra time to keep synced correctly */ + if (target.timing.h_display == si->ps.p1_timing.h_display) { target.timing.h_total -= 56; } diff --git a/src/add-ons/accelerants/nvidia/engine/nv_crtc2.c b/src/add-ons/accelerants/nvidia/engine/nv_crtc2.c index ec7099d75a..b310396b43 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_crtc2.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_crtc2.c @@ -116,9 +116,14 @@ status_t nv_crtc2_set_timing(display_mode target) (((uint16)((si->ps.p2_timing.h_total / ((float)si->ps.p2_timing.h_display)) * target.timing.h_display)) & 0xfff8) - 8; + //fixme: can be removed if community confirms no problems with modified setup! + //(confirmed this 'problem' on NV34 and NV11 now.) /* NV11 timing has tighter constraints than later cards */ - if ((si->ps.card_type == NV11) && - (target.timing.h_display == si->ps.p2_timing.h_display)) +// if ((si->ps.card_type == NV11) && +// (target.timing.h_display == si->ps.p2_timing.h_display)) + + /* in native mode the CRTC needs some extra time to keep synced correctly */ + if (target.timing.h_display == si->ps.p2_timing.h_display) { target.timing.h_total -= 56; } diff --git a/src/add-ons/accelerants/nvidia/engine/nv_general.c b/src/add-ons/accelerants/nvidia/engine/nv_general.c index e0aba96ce4..310718b898 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_general.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_general.c @@ -80,7 +80,7 @@ status_t nv_general_powerup() { status_t status; - LOG(1,("POWERUP: nVidia (open)BeOS Accelerant 0.14 running.\n")); + LOG(1,("POWERUP: nVidia (open)BeOS Accelerant 0.15 running.\n")); /* preset no laptop */ si->ps.laptop = false;