diff options
author | Keith Packard <keithp@keithp.com> | 2010-12-03 13:00:46 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2010-12-06 20:08:48 -0800 |
commit | 82612045e11f2b882ae132e184a9629f43f1c424 (patch) | |
tree | db71c14343191f4dbd6c5916a3b40f5974a4327c /randr/rrscreen.c | |
parent | 86c489c319c705f710bee3897fe27600ce15008e (diff) |
randr: Add per-crtc pixmaps
This adds new driver hooks to allocate scanout pixmaps and
changes the mode setting APIs to pass the new scanout pixmaps
along from DIX. DIX is responsible for reference counting the pixmaps
by tracking them through RRCrtcNotify.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
Diffstat (limited to 'randr/rrscreen.c')
-rw-r--r-- | randr/rrscreen.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/randr/rrscreen.c b/randr/rrscreen.c index 62ea2b62f..0c52347cf 100644 --- a/randr/rrscreen.c +++ b/randr/rrscreen.c @@ -794,8 +794,10 @@ ProcRRSetScreenConfig (ClientPtr client) } rc = dixLookupDrawable(&pDraw, stuff->drawable, client, 0, DixWriteAccess); - if (rc != Success) + if (rc != Success) { + client->errorValue = stuff->drawable; return rc; + } pScreen = pDraw->pScreen; @@ -940,7 +942,7 @@ ProcRRSetScreenConfig (ClientPtr client) for (c = 0; c < pScrPriv->numCrtcs; c++) { if (!RRCrtcSet (pScrPriv->crtcs[c], NULL, 0, 0, RR_Rotate_0, - 0, NULL)) + 0, NULL, NULL)) { rep.status = RRSetConfigFailed; /* XXX recover from failure */ @@ -956,7 +958,7 @@ ProcRRSetScreenConfig (ClientPtr client) } } - if (!RRCrtcSet (crtc, mode, 0, 0, stuff->rotation, 1, &output)) + if (!RRCrtcSet (crtc, mode, 0, 0, stuff->rotation, 1, &output, NULL)) rep.status = RRSetConfigFailed; else { pScrPriv->lastSetTime = time; |