From b5addd82d7715545cf354af234ece4666aa91301 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Mon, 19 Oct 2009 09:06:10 +0000 Subject: [PATCH] axeld: Restore ignoring the BIOS provided width and height in case the timings suggest a bigger dimension. Also re-add the corresponding comment. Should fix #4810 and might affect #4807 as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33652 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/accelerants/intel_extreme/mode.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/add-ons/accelerants/intel_extreme/mode.cpp b/src/add-ons/accelerants/intel_extreme/mode.cpp index 170e640d01..71c82a1717 100644 --- a/src/add-ons/accelerants/intel_extreme/mode.cpp +++ b/src/add-ons/accelerants/intel_extreme/mode.cpp @@ -435,6 +435,14 @@ retrieve_current_mode(display_mode& mode, uint32 pllRegister) mode.virtual_width = (value >> 16) + 1; mode.virtual_height = (value & 0xffff) + 1; + // using virtual size based on image size is the 'proper' way to do it, + // however the bios appears to be suggesting scaling or somesuch, so ignore + // the proper virtual dimension for now if they'd suggest a smaller size. + if (mode.virtual_width < mode.timing.h_display) + mode.virtual_width = mode.timing.h_display; + if (mode.virtual_height < mode.timing.v_display) + mode.virtual_height = mode.timing.v_display; + value = read32(controlRegister); switch (value & DISPLAY_CONTROL_COLOR_MASK) { case DISPLAY_CONTROL_RGB32: