[PATCH] xfree86: Infer VirtualSize from Driver modes

Chris Wilson chris at chris-wilson.co.uk
Mon Sep 23 07:29:24 PDT 2013


The VirtualSize inferrence was originally conceived in

commit 81ef1b6d6063c20db4963abf7b7848e235aa4ebb
Author: Adam Jackson <ajax at benzedrine.nwnk.net>
Date:   Thu Sep 14 19:18:58 2006 -0400

    Mark EDID modes as driver modes.  Infer virtual size from driver modes.

and made sure to prefer the modes reported by the driver.

This regressed in

commit 7bb653bedceb6180a0361ead1c612839e776ce98
Author: Olivier Fourdan <ofourdan at redhat.com>
Date:   Mon Oct 18 15:59:35 2010 -0400

    modes: improve aspect ratio match for classic drivers

which switched the VirtualSize inferrence to select the largest
builtin mode. This has the side-effect of causing X to reject all valid
driver modes larger than the builtins.

Reported-by: Felix Miata <mrmazda at earthlink.net>
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Adam Jackson <ajax at redhat.com>
Cc: Olivier Fourdan <ofourdan at redhat.com>
---
 hw/xfree86/common/xf86Mode.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/xfree86/common/xf86Mode.c b/hw/xfree86/common/xf86Mode.c
index 706ab64..2a11590 100644
--- a/hw/xfree86/common/xf86Mode.c
+++ b/hw/xfree86/common/xf86Mode.c
@@ -1869,10 +1869,10 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes,
         }
         if (vx < virtX || vy < virtY) {
             const int types[] = {
-                M_T_BUILTIN | M_T_PREFERRED,
-                M_T_BUILTIN,
                 M_T_DRIVER | M_T_PREFERRED,
                 M_T_DRIVER,
+                M_T_BUILTIN | M_T_PREFERRED,
+                M_T_BUILTIN,
                 0
             };
             const int ntypes = sizeof(types) / sizeof(int);
-- 
1.8.4.rc3



More information about the xorg-devel mailing list