Bug 4476

Summary: [pixman] non-projective transform optimization can result in wrongly scaled images
Product: cairo Reporter: Bertram Felgenhauer <bertram.felgenhauer>
Component: image backendAssignee: Carl Worth <cworth>
Status: RESOLVED NOTABUG QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: minor    
Priority: high    
Version: 1.1.1   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: proposed fix
proposed patch

Description Bertram Felgenhauer 2005-09-16 11:02:54 UTC
In pixman/fbcompose.c, fbFetchTransformed(), Bool projective  is not set if the
transformation matrix is not projective but contains homogenous components that
are not 1; this will result in wrongly scaled images to be drawn.
The initialization should be done similar to the one in fbFetchSourcePict()
above. I'll attach a patch for this.

NB. I think 'projective' is a misnomer - maybe 'simple_transform' is better?
NB.2. I don't think this gets triggered by cairo's usage of the pixman code,
does it?
Comment 1 Bertram Felgenhauer 2005-09-16 11:07:02 UTC
Created attachment 3297 [details] [review]
proposed fix

[pixman] Changelog

2005-09-16  Bertram Felgenhauer  <int-e@gmx.de>

	Bug #4476

	* src/fbcompose.c (fbFetchTransformed): correct check for
	nonprojective transforms
Comment 2 Bertram Felgenhauer 2005-09-16 13:28:42 UTC
Created attachment 3299 [details] [review]
proposed patch

fixed a stupid typo in the patch - cut&paste coding is evil.
Comment 3 Behdad Esfahbod 2006-06-14 00:07:57 UTC
Can you attach a minimal test case that shows the bug?  That helps confirming
the bug, as well as adding it to the test suite.
Comment 4 Bertram Felgenhauer 2006-06-14 00:48:52 UTC
As far as I know, this is not a bug as far as cairo is concerned; projective
transforms aren't used anywhere. It might affect the X-Server; I've never looked
at what functionality the Render extension exposes. I noticed the bug while
looking at #2488; back then I got the impression that the code might be merged
back into the X-server. I believe that's no longer the case.
(cairo might actually want to get rid of that functionality in pixman)
Comment 5 Bertram Felgenhauer 2006-06-16 15:56:57 UTC
This is fixed in the xorg X server. I'll stick to my analysis about cairo and
close this bug. Thanks.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.