aboutsummaryrefslogtreecommitdiff
path: root/pixman
diff options
context:
space:
mode:
Diffstat (limited to 'pixman')
-rw-r--r--pixman/pixman/pixman-combine-float.c2
-rw-r--r--pixman/pixman/pixman-combine32.c2
-rw-r--r--pixman/pixman/pixman-general.c6
-rw-r--r--pixman/test/blitters-test.c2
-rw-r--r--pixman/test/composite.c11
5 files changed, 4 insertions, 19 deletions
diff --git a/pixman/pixman/pixman-combine-float.c b/pixman/pixman/pixman-combine-float.c
index 5ea739f76..e9aab4833 100644
--- a/pixman/pixman/pixman-combine-float.c
+++ b/pixman/pixman/pixman-combine-float.c
@@ -438,7 +438,7 @@ blend_hard_light (float sa, float s, float da, float d)
static force_inline float
blend_soft_light (float sa, float s, float da, float d)
{
- if (2 * s < sa)
+ if (2 * s <= sa)
{
if (FLOAT_IS_ZERO (da))
return d * sa;
diff --git a/pixman/pixman/pixman-combine32.c b/pixman/pixman/pixman-combine32.c
index 450114a52..44ca7e857 100644
--- a/pixman/pixman/pixman-combine32.c
+++ b/pixman/pixman/pixman-combine32.c
@@ -848,7 +848,7 @@ blend_soft_light (uint32_t d_org,
double as = as_org * (1.0 / MASK);
double r;
- if (2 * s < as)
+ if (2 * s <= as)
{
if (ad == 0)
r = d * as;
diff --git a/pixman/pixman/pixman-general.c b/pixman/pixman/pixman-general.c
index a653fa71a..8bce7c006 100644
--- a/pixman/pixman/pixman-general.c
+++ b/pixman/pixman/pixman-general.c
@@ -183,11 +183,7 @@ general_composite_rect (pixman_implementation_t *imp,
mask_image = NULL;
}
- component_alpha =
- mask_image &&
- mask_image->common.type == BITS &&
- mask_image->common.component_alpha &&
- PIXMAN_FORMAT_RGB (mask_image->bits.format);
+ component_alpha = mask_image && mask_image->common.component_alpha;
_pixman_implementation_iter_init (
imp->toplevel, &mask_iter,
diff --git a/pixman/test/blitters-test.c b/pixman/test/blitters-test.c
index ea03f475d..df8235841 100644
--- a/pixman/test/blitters-test.c
+++ b/pixman/test/blitters-test.c
@@ -394,6 +394,6 @@ main (int argc, const char *argv[])
}
return fuzzer_test_main("blitters", 2000000,
- 0xE0A07495,
+ 0x63B4E3F3,
test_composite, argc, argv);
}
diff --git a/pixman/test/composite.c b/pixman/test/composite.c
index 9e51a8f65..594c69772 100644
--- a/pixman/test/composite.c
+++ b/pixman/test/composite.c
@@ -299,17 +299,6 @@ composite_test (image_t *dst,
}
}
- if (mask)
- {
- if (component_alpha && PIXMAN_FORMAT_R (mask->format) == 0)
- {
- /* Ax component-alpha masks expand alpha into
- * all color channels.
- */
- tmsk.r = tmsk.g = tmsk.b = tmsk.a;
- }
- }
-
if (PIXMAN_FORMAT_TYPE (dst->format) == PIXMAN_TYPE_ARGB_SRGB)
{
tdst.r = convert_linear_to_srgb (tdst.r);