pixman: Branch 'master'
Søren Sandmann Pedersen
sandmann at kemper.freedesktop.org
Mon Jul 13 15:04:05 PDT 2009
pixman/pixman-combine.c.template | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
New commits:
commit be3a1b04ae9ef52f60fa1c6423d743b628aa57ca
Author: Benjamin Otte <otte at gnome.org>
Date: Mon Jul 13 18:02:09 2009 -0400
Fix burn and dodge operators to match acroread output
diff --git a/pixman/pixman-combine.c.template b/pixman/pixman-combine.c.template
index 44a09ad..a937bf7 100644
--- a/pixman/pixman-combine.c.template
+++ b/pixman/pixman-combine.c.template
@@ -538,7 +538,7 @@ static inline comp4_t
blend_color_dodge (comp4_t dca, comp4_t da, comp4_t sca, comp4_t sa)
{
if (sca >= sa) {
- return DIV_ONE_UNc (sa * da);
+ return dca == 0 ? 0 : DIV_ONE_UNc (sa * da);
} else {
comp4_t rca = dca * sa * sa / (sa - sca);
return DIV_ONE_UNc (rca > sa * da ? sa * da : rca);
@@ -560,7 +560,7 @@ static inline comp4_t
blend_color_burn (comp4_t dca, comp4_t da, comp4_t sca, comp4_t sa)
{
if (sca == 0) {
- return 0;
+ return dca < da ? 0 : DIV_ONE_UNc (sa * da);
} else {
comp4_t sada = sa * da;
comp4_t rca = (da - dca) * sa * sa / sca;
More information about the xorg-commit
mailing list