rpms/xorg-x11-drv-intel/F-11 intel-2.7.0-lvds-default-modes.patch, NONE, 1.1 xorg-x11-drv-intel.spec, 1.13, 1.14

Adam Jackson ajax at fedoraproject.org
Tue Apr 21 17:35:11 UTC 2009


Author: ajax

Update of /cvs/pkgs/rpms/xorg-x11-drv-intel/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14309

Modified Files:
	xorg-x11-drv-intel.spec 
Added Files:
	intel-2.7.0-lvds-default-modes.patch 
Log Message:
add a work-in-progress but don't enable it yet


intel-2.7.0-lvds-default-modes.patch:

--- NEW FILE intel-2.7.0-lvds-default-modes.patch ---
diff -up xf86-video-intel-2.7.0/src/drmmode_display.c.jx xf86-video-intel-2.7.0/src/drmmode_display.c
--- xf86-video-intel-2.7.0/src/drmmode_display.c.jx	2009-04-21 12:57:05.000000000 -0400
+++ xf86-video-intel-2.7.0/src/drmmode_display.c	2009-04-21 12:59:35.000000000 -0400
@@ -525,6 +525,41 @@ drmmode_output_get_modes(xf86OutputPtr o
 		Modes = xf86ModesAdd(Modes, Mode);
 
 	}
+
+	/*
+	 * LVDS can scale.  If there's no EDID, or if it claims not to be
+	 * continuous-freq, then add the default modes so we get 800x600
+	 * and friends.
+	 */
+	if (strstr(output->name, "LVDS")) {
+		xf86MonPtr mon = output->MonInfo;
+		if (!mon || !GTF_SUPPORTED(mon->features.msc)) {
+			DisplayModePtr m, i;
+			int max_x = 0, max_y = 0;
+			float max_vrefresh = 0.0;
+
+			for (m = Modes; m; m = m->next) {
+				max_x = max(max_x, m->HDisplay);
+				max_y = max(max_y, m->VDisplay);
+				max_vrefresh = max(max_vrefresh,
+						   xf86ModeVRefresh(m));
+			}
+
+			max_vrefresh *= (1 + SYNC_TOLERANCE);
+
+			m = xf86GetDefaultModes(FALSE, FALSE);
+
+			xf86ValidateModesSize(output->scrn, m, max_x, max_y, 0);
+			for (i = m; i; i = i->next)
+				if (xf86ModeVRefresh(i) > max_vrefresh)
+					i->status = MODE_VSYNC;
+
+			xf86PruneInvalidModes(output->scrn, &m, FALSE);
+
+			Modes = xf86ModesAdd(Modes, m);
+		}
+	}
+
 	return Modes;
 }
 


Index: xorg-x11-drv-intel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-intel/F-11/xorg-x11-drv-intel.spec,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- xorg-x11-drv-intel.spec	17 Apr 2009 17:52:07 -0000	1.13
+++ xorg-x11-drv-intel.spec	21 Apr 2009 17:34:40 -0000	1.14
@@ -24,6 +24,7 @@
 
 # needs to be upstreamed
 Patch20: intel-2.6.99.902-kms-get-crtc.patch
+Patch21: intel-2.7.0-lvds-default-modes.patch
 
 ExclusiveArch: %{ix86} x86_64 ia64
 
@@ -61,6 +62,10 @@
 %patch2 -p1 -b .copy-fb
 %patch10 -p1 -b .kms-props
 %patch20 -p1 -b .get-crtc
+# notyet.  we don't handle switching in and out of tiled front buffer
+# correctly yet, so let's not have peopel stumble into it more than
+# they have to.
+#patch21 -p1 -b .jx
 
 %build
 




More information about the fedora-extras-commits mailing list