Summary: | recording surface with paint with alpha and clipping loses alpha | ||
---|---|---|---|
Product: | cairo | Reporter: | Adrian Johnson <ajohnson> |
Component: | general | Assignee: | Chris Wilson <chris> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | medium | CC: | rapatsky, suv-sf |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 68382 | ||
Attachments: | Copy source and mask to the recording surface |
Description
Adrian Johnson
2013-12-26 07:31:19 UTC
The commit mentioned above http://cgit.freedesktop.org/cairo/commit/src/cairo-recording-surface.c?id=8020e0bc8cbd3e5ac188eb305b74ae1c1f362a31 introduced an explicit copy of the command array and you can easily spot that in '_cairo_recording_surface_copy__mask' the pattern 'src->mask.source.base' is copied both to the 'command->source.base' and to 'command->mask.base'. Copying 'src->mask.mask.base' to 'command->mask.base' seems to fix the issue here and that reported at: https://bugs.freedesktop.org/show_bug.cgi?id=73901 and few other test suite failures. *** Bug 89533 has been marked as a duplicate of this bug. *** Created attachment 116725 [details] [review] Copy source and mask to the recording surface This implements the fix Massimo suggests. commit 1bcce4362927952b25cb916f862dde6fd35f8125 Author: Bryce Harrington <bryce@osg.samsung.com> AuthorDate: Thu Jun 25 18:54:23 2015 -0700 Commit: Bryce Harrington <bryce@osg.samsung.com> CommitDate: Thu Jun 25 18:54:23 2015 -0700 cairo-recording-surface: Fix loss of alpha when clipping Commit 8020e0bc introduced a regression due to a typo when copying a mask for a cairo recording surface. It should copy the source and mask members from the command source to the recording surface, but instead it copies the source twice. Fix suggested by Massimo. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=73038 Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=73901 |
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.