xserver: Branch 'master' - 2 commits

Adam Jackson ajax at kemper.freedesktop.org
Mon Aug 25 07:45:05 PDT 2008


 hw/xfree86/ddc/ddcProperty.c |   11 ++++++++---
 hw/xfree86/modes/xf86Crtc.c  |    6 ++++--
 2 files changed, 12 insertions(+), 5 deletions(-)

New commits:
commit 76ed409acd772f2c041239345c6dc64cbef0e5b2
Author: Adam Jackson <ajax at redhat.com>
Date:   Mon Aug 25 10:44:45 2008 -0400

    EDID: Publish the whole block on the root window if we've got it.

diff --git a/hw/xfree86/ddc/ddcProperty.c b/hw/xfree86/ddc/ddcProperty.c
index 02125df..a4384f1 100644
--- a/hw/xfree86/ddc/ddcProperty.c
+++ b/hw/xfree86/ddc/ddcProperty.c
@@ -83,13 +83,18 @@ addRootWindowProperties(ScrnInfoPtr pScrn, xf86MonPtr DDC)
     }
 
     if (makeEDID1prop) {
-	if ((EDID1rawdata = xalloc(128*sizeof(CARD8)))==NULL)
+	int size = 128;
+
+	if (DDC->flags & EDID_COMPLETE_RAWDATA)
+	    size += DDC->no_sections * 128;
+
+	if ((EDID1rawdata = xalloc(size*sizeof(CARD8)))==NULL)
 	    return;
 
 	EDID1Atom = MakeAtom(EDID1_ATOM_NAME, sizeof(EDID1_ATOM_NAME) - 1, TRUE);
-	memcpy(EDID1rawdata, DDC->rawData, 128);
+	memcpy(EDID1rawdata, DDC->rawData, size);
 	xf86RegisterRootWindowProperty(scrnIndex, EDID1Atom, XA_INTEGER, 8,
-		128, (unsigned char *)EDID1rawdata);
+		size, (unsigned char *)EDID1rawdata);
     } 
 
     if (makeEDID2prop) {
commit 5724f7fb5bea6fa1a354c64c0972c53d70e2f27b
Author: Adam Jackson <ajax at redhat.com>
Date:   Mon Aug 25 10:39:36 2008 -0400

    EDID: Publish the whole block in the RANDR property if we've got it.

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index a5a0a63..6ceb426 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -2631,9 +2631,11 @@ xf86OutputSetEDID (xf86OutputPtr output, xf86MonPtr edid_mon)
     size = 0;
     if (edid_mon)
     {
-	if (edid_mon->ver.version == 1)
+	if (edid_mon->ver.version == 1) {
 	    size = 128;
-	else if (edid_mon->ver.version == 2)
+	    if (edid->flags & EDID_COMPLETE_RAWDATA)
+		size += edid->no_sections * 128;
+	} else if (edid_mon->ver.version == 2)
 	    size = 256;
     }
     xf86OutputSetEDIDProperty (output, edid_mon ? edid_mon->rawData : NULL, size);


More information about the xorg-commit mailing list