Bug 37140 - Incomplete rendering with OffsetViewportOrgEx
Summary: Incomplete rendering with OffsetViewportOrgEx
Status: RESOLVED FIXED
Alias: None
Product: cairo
Classification: Unclassified
Component: win32 backend (show other bugs)
Version: 1.10.2
Hardware: x86 (IA32) Windows (All)
: medium normal
Assignee: cairo-bugs mailing list
QA Contact: cairo-bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-12 07:13 UTC by Elmar Braun
Modified: 2011-07-27 01:08 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
example of broken rendering with 1.10.2 (17.99 KB, image/png)
2011-05-12 07:14 UTC, Elmar Braun
Details
example of working rendering with 1.8.10 (19.86 KB, image/png)
2011-05-12 07:15 UTC, Elmar Braun
Details
code that created the example images (2.02 KB, application/octet-stream)
2011-05-12 07:16 UTC, Elmar Braun
Details

Description Elmar Braun 2011-05-12 07:13:57 UTC
I am trying to render to a HDC that has been given an offset with OffsetViewportOrgEx. Except for text, Cairo does not draw anything to the part of the window that has been moved into view by the offset.

This problem occurs with Cairo 1.10.2 (pixman 0.22.0). It works as expected with Cairo 1.8.10.

I have attached some code that reproduces the problem, as well as screen captures from 1.10.2 (and 1.8.10) that show the broken (and working) rendering.
Comment 1 Elmar Braun 2011-05-12 07:14:55 UTC
Created attachment 46633 [details]
example of broken rendering with 1.10.2
Comment 2 Elmar Braun 2011-05-12 07:15:36 UTC
Created attachment 46634 [details]
example of working rendering with 1.8.10
Comment 3 Elmar Braun 2011-05-12 07:16:39 UTC
Created attachment 46635 [details]
code that created the example images
Comment 4 Andrea Canciani 2011-07-26 06:07:44 UTC
This problem seems related to https://bugs.freedesktop.org/show_bug.cgi?id=28541 (but I'm not yet sure it's actually a duplicate).

I managed to reproduce it with cairo master and the patch provided in the above bugreport seems to work around part of this bug (in particular, it fixes the test.cpp output), but the extents computation is still incorrect.
Comment 5 Andrea Canciani 2011-07-27 01:08:51 UTC
The issue seems to be fixed by:

commit 91faf9c1cf79f44b48c0f14d2d551a68bf38b5a5
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Jul 26 15:50:32 2011 +0100

    composite: Pass unbounded extents to initialisation
    
    For an unbounded surface we cannot assume (0, 0, surface_width,
    surface_height) as that is wrong and causes the operation to appear
    clipped.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Please reopen if you manage to reproduce it on master.


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.