From c2bfd43c55daa9a0bdeeb2e3f86878ecb14fdc94 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 14 Mar 2014 09:17:36 +0000 Subject: [PATCH] intel-virtual-output: Include extra debug information for modesets Signed-off-by: Chris Wilson --- tools/virtual.c | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/tools/virtual.c b/tools/virtual.c index 1783c66..a547a82 100644 --- a/tools/virtual.c +++ b/tools/virtual.c @@ -67,8 +67,10 @@ #if 0 #define DBG(x) printf x +#define EXTRA_DBG 1 #else #define DBG(x) +#define EXTRA_DBG 0 #endif #define FORCE_FULL_REDRAW 0 @@ -1254,9 +1256,45 @@ err: ret = XRRSetPanning(dst->dpy, res, rr_crtc, memset(&panning, 0, sizeof(panning))); DBG(("%s-%s: XRRSetPanning %s\n", DisplayString(dst->dpy), dst->name, ret ? "failed" : "success")); + (void)ret; + + if (EXTRA_DBG) { + XRRCrtcInfo *c; + XRRPanningInfo *p; + + c = XRRGetCrtcInfo(dst->dpy, res, rr_crtc); + if (c) { + DBG(("%s-%s: x=%d, y=%d, rotation=%d, mode=%ld\n", + DisplayString(dpy), dst->name, + c->x, c->y, c->rotation, c->mode)); + XRRFreeCrtcInfo(c); + } + + p = XRRGetPanning(dst->dpy, res, rr_crtc); + if (p) { + xp->left = rep.left; + xp->top = rep.top; + xp->width = rep.width; + xp->height = rep.height; + xp->track_left = rep.track_left; + xp->track_top = rep.track_top; + xp->track_width = rep.track_width; + xp->track_height = rep.track_height; + xp->border_left = rep.border_left; + xp->border_top = rep.border_top; + xp->border_right = rep.border_right; + xp->border_bottom = rep.border_bottom; + + DBG(("%s-%s: panning (%d, %d)x(%d, %d), tracking (%d, %d)x(%d, %d), border (%d, %d)x(%d, %d)\n", + DisplayString(dst->dpy), dst->name, + p->left, p->top, p->width, p->height, + p->track_left, p->track_top, p->track_width, p->track_height, + p->border_left, p->border_top, p->border_width, p->border_height)); + XRRFreePanning(p); + } + } dst->rr_crtc = rr_crtc; - (void)ret; } free_res: XRRFreeScreenResources(res); -- 1.9.0