mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-01-05 13:50:11 +01:00
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.
This commit is contained in:
parent
47dcd54077
commit
4184a2db90
1 changed files with 2 additions and 3 deletions
|
|
@ -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,
|
||||
|
|
@ -1220,7 +1218,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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue