From a626297096b250e1563d854ed0242866f1288656 Mon Sep 17 00:00:00 2001 From: Rudolf Cornelissen Date: Sat, 8 May 2004 14:09:30 +0000 Subject: [PATCH] added blocking of non-supported modes on panels git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7459 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../accelerants/nvidia/ProposeDisplayMode.c | 20 +++++++++++++++++++ .../accelerants/nvidia/engine/nv_general.c | 2 +- .../drivers/graphics/nvidia/UPDATE.html | 5 +++-- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/add-ons/accelerants/nvidia/ProposeDisplayMode.c b/src/add-ons/accelerants/nvidia/ProposeDisplayMode.c index 8abf63ecb5..daa8903d41 100644 --- a/src/add-ons/accelerants/nvidia/ProposeDisplayMode.c +++ b/src/add-ons/accelerants/nvidia/ProposeDisplayMode.c @@ -171,6 +171,26 @@ status_t PROPOSE_DISPLAY_MODE(display_mode *target, const display_mode *low, con return result; } + /* check if panel(s) can display the requested mode (if connected) */ + if (si->ps.tmds1_active) + { + if ((target->timing.h_display > si->ps.p1_timing.h_display) || + (target->timing.v_display > si->ps.p1_timing.v_display)) + { + LOG(4, ("PROPOSEMODE: panel1 can't display requested mode, aborted.\n")); + return B_ERROR; + } + } + if (si->ps.tmds2_active) + { + if ((target->timing.h_display > si->ps.p2_timing.h_display) || + (target->timing.v_display > si->ps.p2_timing.v_display)) + { + LOG(4, ("PROPOSEMODE: panel2 can't display requested mode, aborted.\n")); + return B_ERROR; + } + } + /* validate display vs. virtual */ if ((target->timing.h_display > target->virtual_width) || want_same_width) target->virtual_width = target->timing.h_display; diff --git a/src/add-ons/accelerants/nvidia/engine/nv_general.c b/src/add-ons/accelerants/nvidia/engine/nv_general.c index 0666cce9af..1727eb5f3c 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.10-22 running.\n")); + LOG(1,("POWERUP: nVidia (open)BeOS Accelerant 0.10-23 running.\n")); /* preset no laptop */ si->ps.laptop = false; diff --git a/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html b/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html index e55bfae9de..3c82f855cc 100644 --- a/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html +++ b/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html @@ -4,7 +4,7 @@

Changes done for each driverversion:

-

head (0.10-22), (Rudolf)

+

head (0.10-23), (Rudolf)

The 'features' listed below are temporarily(?) shutdown. If your panel does not work with driver 0.10-17, PLEASE SEND FEEDBACK! Send me a logfile with full logging enabled as well. Feedback without accompaning logfiles are of very little use!