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
							
								
									160252d94f
								
							
						
					
					
						commit
						6d3a9e40a4
					
				|  | @ -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; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue