Bug-fix upgrade to pixman 0.20.2. No API/ABI change.
tested by shadchin@, ajacoutot@, krw@, ok miod@
This commit is contained in:
parent
47b6998e0f
commit
cf9b06cfa2
27
lib/pixman/configure
vendored
27
lib/pixman/configure
vendored
@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.62 for pixman 0.20.0.
|
||||
# Generated by GNU Autoconf 2.62 for pixman 0.20.2.
|
||||
#
|
||||
# Report bugs to <"pixman@lists.freedesktop.org">.
|
||||
#
|
||||
@ -750,8 +750,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='pixman'
|
||||
PACKAGE_TARNAME='pixman'
|
||||
PACKAGE_VERSION='0.20.0'
|
||||
PACKAGE_STRING='pixman 0.20.0'
|
||||
PACKAGE_VERSION='0.20.2'
|
||||
PACKAGE_STRING='pixman 0.20.2'
|
||||
PACKAGE_BUGREPORT='"pixman@lists.freedesktop.org"'
|
||||
|
||||
# Factoring default headers for most tests.
|
||||
@ -1529,7 +1529,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures pixman 0.20.0 to adapt to many kinds of systems.
|
||||
\`configure' configures pixman 0.20.2 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@ -1599,7 +1599,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of pixman 0.20.0:";;
|
||||
short | recursive ) echo "Configuration of pixman 0.20.2:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@ -1722,7 +1722,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
pixman configure 0.20.0
|
||||
pixman configure 0.20.2
|
||||
generated by GNU Autoconf 2.62
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@ -1736,7 +1736,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by pixman $as_me 0.20.0, which was
|
||||
It was created by pixman $as_me 0.20.2, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@ -2385,7 +2385,7 @@ fi
|
||||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='pixman'
|
||||
VERSION='0.20.0'
|
||||
VERSION='0.20.2'
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
@ -21074,13 +21074,13 @@ fi
|
||||
|
||||
|
||||
|
||||
LT_VERSION_INFO="20:0:20"
|
||||
LT_VERSION_INFO="20:2:20"
|
||||
|
||||
PIXMAN_VERSION_MAJOR=0
|
||||
|
||||
PIXMAN_VERSION_MINOR=20
|
||||
|
||||
PIXMAN_VERSION_MICRO=0
|
||||
PIXMAN_VERSION_MICRO=2
|
||||
|
||||
|
||||
|
||||
@ -23644,10 +23644,9 @@ support_for__thread=no
|
||||
$as_echo_n "checking for __thread... " >&6; }
|
||||
cat >conftest.$ac_ext <<_ACEOF
|
||||
|
||||
#ifdef defined __MINGW32__ && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
|
||||
#if defined(__MINGW32__) && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
|
||||
#error This MinGW version has broken __thread support
|
||||
#endif
|
||||
#endif
|
||||
#ifdef __OpenBSD__
|
||||
#error OpenBSD has broken __thread support
|
||||
#endif
|
||||
@ -24492,7 +24491,7 @@ exec 6>&1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by pixman $as_me 0.20.0, which was
|
||||
This file was extended by pixman $as_me 0.20.2, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@ -24545,7 +24544,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_version="\\
|
||||
pixman config.status 0.20.0
|
||||
pixman config.status 0.20.2
|
||||
configured by $0, generated by GNU Autoconf 2.62,
|
||||
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
||||
|
@ -54,7 +54,7 @@ AC_PREREQ([2.57])
|
||||
|
||||
m4_define([pixman_major], 0)
|
||||
m4_define([pixman_minor], 20)
|
||||
m4_define([pixman_micro], 0)
|
||||
m4_define([pixman_micro], 2)
|
||||
|
||||
m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro])
|
||||
|
||||
@ -652,10 +652,9 @@ support_for__thread=no
|
||||
|
||||
AC_MSG_CHECKING(for __thread)
|
||||
AC_LINK_IFELSE([
|
||||
#ifdef defined __MINGW32__ && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
|
||||
#if defined(__MINGW32__) && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
|
||||
#error This MinGW version has broken __thread support
|
||||
#endif
|
||||
#endif
|
||||
#ifdef __OpenBSD__
|
||||
#error OpenBSD has broken __thread support
|
||||
#endif
|
||||
|
@ -537,13 +537,13 @@ generate_composite_function \
|
||||
/******************************************************************************/
|
||||
|
||||
.macro pixman_composite_add_8888_8888_process_pixblock_tail_head
|
||||
vld1.8 {d0, d1, d2, d3}, [SRC]!
|
||||
vld1.32 {d0, d1, d2, d3}, [SRC]!
|
||||
PF add PF_X, PF_X, #8
|
||||
PF tst PF_CTL, #0xF
|
||||
vld1.8 {d4, d5, d6, d7}, [DST_R, :128]!
|
||||
vld1.32 {d4, d5, d6, d7}, [DST_R, :128]!
|
||||
PF addne PF_X, PF_X, #8
|
||||
PF subne PF_CTL, PF_CTL, #1
|
||||
vst1.8 {d28, d29, d30, d31}, [DST_W, :128]!
|
||||
vst1.32 {d28, d29, d30, d31}, [DST_W, :128]!
|
||||
PF cmp PF_X, ORIG_W
|
||||
PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift]
|
||||
PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift]
|
||||
|
@ -297,6 +297,7 @@ bits_image_fetch_bilinear_no_repeat_8888 (pixman_image_t * ima,
|
||||
uint32_t *bottom_row;
|
||||
uint32_t *end;
|
||||
uint32_t zero[2] = { 0, 0 };
|
||||
uint32_t one = 1;
|
||||
int y, y1, y2;
|
||||
int disty;
|
||||
int mask_inc;
|
||||
@ -362,10 +363,8 @@ bits_image_fetch_bilinear_no_repeat_8888 (pixman_image_t * ima,
|
||||
*/
|
||||
if (!mask)
|
||||
{
|
||||
uint32_t mask_bits = 1;
|
||||
|
||||
mask_inc = 0;
|
||||
mask = &mask_bits;
|
||||
mask = &one;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -959,15 +959,33 @@ set_lum (comp4_t dest[3], comp4_t src[3], comp4_t sa, comp4_t lum)
|
||||
|
||||
if (min < 0)
|
||||
{
|
||||
tmp[0] = l + (tmp[0] - l) * l / (l - min);
|
||||
tmp[1] = l + (tmp[1] - l) * l / (l - min);
|
||||
tmp[2] = l + (tmp[2] - l) * l / (l - min);
|
||||
if (l - min == 0.0)
|
||||
{
|
||||
tmp[0] = 0;
|
||||
tmp[1] = 0;
|
||||
tmp[2] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
tmp[0] = l + (tmp[0] - l) * l / (l - min);
|
||||
tmp[1] = l + (tmp[1] - l) * l / (l - min);
|
||||
tmp[2] = l + (tmp[2] - l) * l / (l - min);
|
||||
}
|
||||
}
|
||||
if (max > a)
|
||||
{
|
||||
tmp[0] = l + (tmp[0] - l) * (a - l) / (max - l);
|
||||
tmp[1] = l + (tmp[1] - l) * (a - l) / (max - l);
|
||||
tmp[2] = l + (tmp[2] - l) * (a - l) / (max - l);
|
||||
if (max - l == 0.0)
|
||||
{
|
||||
tmp[0] = a;
|
||||
tmp[1] = a;
|
||||
tmp[2] = a;
|
||||
}
|
||||
else
|
||||
{
|
||||
tmp[0] = l + (tmp[0] - l) * (a - l) / (max - l);
|
||||
tmp[1] = l + (tmp[1] - l) * (a - l) / (max - l);
|
||||
tmp[2] = l + (tmp[2] - l) * (a - l) / (max - l);
|
||||
}
|
||||
}
|
||||
|
||||
dest[0] = tmp[0] * MASK + 0.5;
|
||||
|
@ -245,10 +245,10 @@ scanline_func_name (dst_type_t *dst, \
|
||||
} \
|
||||
}
|
||||
|
||||
#define FAST_NEAREST_MAINLOOP(scale_func_name, scanline_func, src_type_t, dst_type_t, \
|
||||
repeat_mode) \
|
||||
#define FAST_NEAREST_MAINLOOP_INT(scale_func_name, scanline_func, src_type_t, dst_type_t, \
|
||||
repeat_mode) \
|
||||
static void \
|
||||
fast_composite_scaled_nearest_ ## scale_func_name (pixman_implementation_t *imp, \
|
||||
fast_composite_scaled_nearest ## scale_func_name (pixman_implementation_t *imp, \
|
||||
pixman_op_t op, \
|
||||
pixman_image_t * src_image, \
|
||||
pixman_image_t * mask_image, \
|
||||
@ -374,12 +374,18 @@ fast_composite_scaled_nearest_ ## scale_func_name (pixman_implementation_t *imp,
|
||||
} \
|
||||
}
|
||||
|
||||
/* A workaround for old sun studio, see: https://bugs.freedesktop.org/show_bug.cgi?id=32764 */
|
||||
#define FAST_NEAREST_MAINLOOP(scale_func_name, scanline_func, src_type_t, dst_type_t, \
|
||||
repeat_mode) \
|
||||
FAST_NEAREST_MAINLOOP_INT(_ ## scale_func_name, scanline_func, src_type_t, dst_type_t, \
|
||||
repeat_mode) \
|
||||
|
||||
#define FAST_NEAREST(scale_func_name, SRC_FORMAT, DST_FORMAT, \
|
||||
src_type_t, dst_type_t, OP, repeat_mode) \
|
||||
FAST_NEAREST_SCANLINE(scaled_nearest_scanline_ ## scale_func_name ## _ ## OP, \
|
||||
SRC_FORMAT, DST_FORMAT, src_type_t, dst_type_t, \
|
||||
OP, repeat_mode) \
|
||||
FAST_NEAREST_MAINLOOP(scale_func_name##_##OP, \
|
||||
FAST_NEAREST_MAINLOOP_INT(_ ## scale_func_name ## _ ## OP, \
|
||||
scaled_nearest_scanline_ ## scale_func_name ## _ ## OP, \
|
||||
src_type_t, dst_type_t, repeat_mode) \
|
||||
\
|
||||
|
@ -56,8 +56,8 @@ general_composite_rect (pixman_implementation_t *imp,
|
||||
int32_t width,
|
||||
int32_t height)
|
||||
{
|
||||
uint8_t stack_scanline_buffer[SCANLINE_BUFFER_LENGTH * 3];
|
||||
uint8_t *scanline_buffer = stack_scanline_buffer;
|
||||
uint64_t stack_scanline_buffer[(SCANLINE_BUFFER_LENGTH * 3 + 7) / 8];
|
||||
uint8_t *scanline_buffer = (uint8_t *) stack_scanline_buffer;
|
||||
uint8_t *src_buffer, *mask_buffer, *dest_buffer;
|
||||
fetch_scanline_t fetch_src = NULL, fetch_mask = NULL, fetch_dest = NULL;
|
||||
pixman_combine_32_func_t compose;
|
||||
@ -255,7 +255,7 @@ general_composite_rect (pixman_implementation_t *imp,
|
||||
}
|
||||
}
|
||||
|
||||
if (scanline_buffer != stack_scanline_buffer)
|
||||
if (scanline_buffer != (uint8_t *) stack_scanline_buffer)
|
||||
free (scanline_buffer);
|
||||
}
|
||||
|
||||
|
@ -430,10 +430,24 @@ compute_image_info (pixman_image_t *image)
|
||||
flags &= ~FAST_PATH_NARROW_FORMAT;
|
||||
break;
|
||||
|
||||
case LINEAR:
|
||||
case RADIAL:
|
||||
code = PIXMAN_unknown;
|
||||
|
||||
/*
|
||||
* As explained in pixman-radial-gradient.c, every point of
|
||||
* the plane has a valid associated radius (and thus will be
|
||||
* colored) if and only if a is negative (i.e. one of the two
|
||||
* circles contains the other one).
|
||||
*/
|
||||
|
||||
if (image->radial.a >= 0)
|
||||
break;
|
||||
|
||||
/* Fall through */
|
||||
|
||||
case LINEAR:
|
||||
code = PIXMAN_unknown;
|
||||
|
||||
if (image->common.repeat != PIXMAN_REPEAT_NONE)
|
||||
{
|
||||
int i;
|
||||
|
@ -1921,8 +1921,8 @@ pixman_fill_mmx (uint32_t *bits,
|
||||
"movq %7, %4\n"
|
||||
"movq %7, %5\n"
|
||||
"movq %7, %6\n"
|
||||
: "=y" (v1), "=y" (v2), "=y" (v3),
|
||||
"=y" (v4), "=y" (v5), "=y" (v6), "=y" (v7)
|
||||
: "=&y" (v1), "=&y" (v2), "=&y" (v3),
|
||||
"=&y" (v4), "=&y" (v5), "=&y" (v6), "=y" (v7)
|
||||
: "y" (vfill));
|
||||
#endif
|
||||
|
||||
|
@ -96,8 +96,24 @@ radial_compute_color (double a,
|
||||
|
||||
if (a == 0)
|
||||
{
|
||||
return _pixman_gradient_walker_pixel (walker,
|
||||
pixman_fixed_1 / 2 * c / b);
|
||||
double t;
|
||||
|
||||
if (b == 0)
|
||||
return 0;
|
||||
|
||||
t = pixman_fixed_1 / 2 * c / b;
|
||||
if (repeat == PIXMAN_REPEAT_NONE)
|
||||
{
|
||||
if (0 <= t && t <= pixman_fixed_1)
|
||||
return _pixman_gradient_walker_pixel (walker, t);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (t * dr > mindr)
|
||||
return _pixman_gradient_walker_pixel (walker, t);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
det = fdot (b, a, 0, b, -c, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user