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