Commit 6d3a9e40 authored by Keith Packard's avatar Keith Packard

Compute matrix inversion instead of using wire version in RRCrtcTransformSet

It doesn't make sense to have the client invert this matrix when the server
can do so reasonably efficiently. This avoids weird fixed point rounding
errors when testing the transform against its inverse. Now to fix the
protocol.
parent 160252d9
......@@ -608,8 +608,6 @@ RRCrtcTransformSet (RRCrtcPtr crtc,
PictFilterPtr filter = NULL;
int width = 0, height = 0;
if (!PictureTransformIsInverse (transform, inverse))
return BadMatch;
if (filter_len)
{
filter = PictureFindFilter (crtc->pScreen,
......@@ -1229,7 +1227,8 @@ ProcRRSetCrtcTransform (ClientPtr client)
return RRErrorBase + BadRRCrtc;
PictTransform_from_xRenderTransform (&transform, &stuff->transform);
PictTransform_from_xRenderTransform (&inverse, &stuff->inverse);
if (!PictureTransformInvert (&inverse, &transform))
return BadMatch;
filter = (char *) (stuff + 1);
nbytes = stuff->nbytesFilter;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment