Bug 47601 - Alpha blending is broken on win32 surfaces
Summary: Alpha blending is broken on win32 surfaces
Status: RESOLVED FIXED
Alias: None
Product: cairo
Classification: Unclassified
Component: win32 backend (show other bugs)
Version: 1.10.3
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: 2012-03-20 11:23 UTC by Szuromi Gábor
Modified: 2012-03-21 13:19 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Buggy alpha blending under win32 demo (2.25 KB, text/plain)
2012-03-20 11:23 UTC, Szuromi Gábor
Details

Description Szuromi Gábor 2012-03-20 11:23:40 UTC
Created attachment 58775 [details]
Buggy alpha blending under win32 demo

Alpha blending on win32 surfaces is broken since commit ae3319890eacd1c8282ca6df7b263ac74abb5f8d, only fully opaque pixels (alpha = 1.0) are actually apperaing in the window. See the attached source and play with the global alpha variable.

The first affected version is 1.11.2 (according to git describe).
Comment 1 Chris Wilson 2012-03-21 13:19:43 UTC
So I completely fluffed the fallback damage tracking for win32.

How much further do we get with?

commit 9bb5b02694e1bbd5c0cdd28606d80fb2d2d701ee
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 21 20:08:15 2012 +0000

    win32: Fix damage flushing
    
    The damage wasn't being created on the right surface, so the damage to
    the fallback image surface was not being tracked. Perform a little bit
    of juggling so that we track dirty regions on the fallback surface itself.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

commit c504dba5a76def6358a5b309ad5bc4a8dfe6199e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 21 20:07:00 2012 +0000

    damage: Fix memcpy size
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>


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.