xf86-video-intel: tools/virtual.c

Chris Wilson ickle at kemper.freedesktop.org
Tue Nov 26 01:44:12 PST 2013


 tools/virtual.c |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

New commits:
commit 36ac68bedd3b30d7bdf0f40b438b45a7c4dec9e5
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Nov 26 09:41:42 2013 +0000

    intel-virtual-output: Clone remote EDID for virtual outputs
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=72020
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/tools/virtual.c b/tools/virtual.c
index f3259fd..3ee9cd0 100644
--- a/tools/virtual.c
+++ b/tools/virtual.c
@@ -417,6 +417,23 @@ static XRRModeInfo *lookup_mode(XRRScreenResources *res, int id)
 	return NULL;
 }
 
+static void clone_update_edid(struct clone *clone)
+{
+	unsigned long nitems, after;
+	unsigned char *data;
+	int format;
+	Atom type;
+
+	if (XRRGetOutputProperty(clone->dst.dpy, clone->dst.rr_output,
+				 XInternAtom(clone->dst.dpy, "EDID", False),
+				 0, 100, False, False, AnyPropertyType,
+				 &type, &format, &nitems, &after, &data) == Success) {
+		XRRChangeOutputProperty(clone->src.dpy, clone->src.rr_output,
+					XInternAtom(clone->src.dpy, "EDID", False),
+					type, format, PropModeReplace, data, nitems);
+	}
+}
+
 static int clone_update_modes__randr(struct clone *clone)
 {
 	XRRScreenResources *from_res = NULL, *to_res = NULL;
@@ -534,6 +551,7 @@ static int clone_update_modes__randr(struct clone *clone)
 
 		XRRAddOutputMode(clone->src.dpy, clone->src.rr_output, id);
 	}
+	clone_update_edid(clone);
 	XUngrabServer(clone->src.dpy);
 done:
 	ret = 0;


More information about the xorg-commit mailing list