From 263850a3c1c53d9e6c691c7046923b77f46aa465 Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Wed, 2 Nov 2022 21:16:57 +0000 Subject: pixman 0.42.2 git-svn-id: svn://tug.org/texlive/trunk@64898 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/libs/pixman/ChangeLog | 5 ++++ Build/source/libs/pixman/README | 4 +-- Build/source/libs/pixman/TLpatches/ChangeLog | 5 ++++ Build/source/libs/pixman/TLpatches/TL-Changes | 2 +- .../libs/pixman/TLpatches/patch-01-hide-symbols | 6 ++--- Build/source/libs/pixman/configure | 22 +++++++-------- Build/source/libs/pixman/pixman-src/Makefile.am | 3 ++- .../source/libs/pixman/pixman-src/a64-neon-test.S | 5 ++++ Build/source/libs/pixman/pixman-src/configure.ac | 4 +-- Build/source/libs/pixman/pixman-src/meson.build | 4 +-- .../libs/pixman/pixman-src/pixman/meson.build | 4 +++ .../pixman/pixman-src/pixman/pixman-bits-image.c | 24 ++++++++--------- .../libs/pixman/pixman-src/pixman/pixman-filter.c | 31 +++++++--------------- .../libs/pixman/pixman-src/pixman/pixman-trap.c | 2 +- Build/source/libs/pixman/version.ac | 2 +- 15 files changed, 65 insertions(+), 58 deletions(-) create mode 100644 Build/source/libs/pixman/pixman-src/a64-neon-test.S (limited to 'Build/source/libs/pixman') diff --git a/Build/source/libs/pixman/ChangeLog b/Build/source/libs/pixman/ChangeLog index 31a93a0a9f3..4d63a487ff9 100644 --- a/Build/source/libs/pixman/ChangeLog +++ b/Build/source/libs/pixman/ChangeLog @@ -1,3 +1,8 @@ +2022-11-03 Akira Kakuto + + Import pixman-0.42.2. + * version.ac: Adapted. + 2022-10-19 Akira Kakuto Import pixman-0.42.0. diff --git a/Build/source/libs/pixman/README b/Build/source/libs/pixman/README index 82afdc4121e..2fd90d25d7c 100644 --- a/Build/source/libs/pixman/README +++ b/Build/source/libs/pixman/README @@ -1,4 +1,4 @@ - Building pixman-0.42.0 as part of the TL tree + Building pixman-0.42.2 as part of the TL tree ============================================= This directory libs/pixman/ uses a proxy Makefile.am to build the pixman @@ -12,4 +12,4 @@ been translated into equivalent test in libs/pixman/configure.ac. 2012-11-10 Taco Hoekwater 2012-11-15 Peter Breitenlohner -2022-10-19 Akira Kakuto +2022-11-03 Akira Kakuto diff --git a/Build/source/libs/pixman/TLpatches/ChangeLog b/Build/source/libs/pixman/TLpatches/ChangeLog index fc61f929db9..ad9a7e39609 100644 --- a/Build/source/libs/pixman/TLpatches/ChangeLog +++ b/Build/source/libs/pixman/TLpatches/ChangeLog @@ -1,3 +1,8 @@ +2022-11-03 Akira Kakuto + + Import pixman-0.42.2. + * patch-01-hide-symbols: Adapted. + 2022-10-19 Akira Kakuto Import pixman-0.42.0. diff --git a/Build/source/libs/pixman/TLpatches/TL-Changes b/Build/source/libs/pixman/TLpatches/TL-Changes index af9ebae5007..1a465a91282 100644 --- a/Build/source/libs/pixman/TLpatches/TL-Changes +++ b/Build/source/libs/pixman/TLpatches/TL-Changes @@ -1,4 +1,4 @@ -Changes applied to the pixman-0.42.0/ tree as obtained from: +Changes applied to the pixman-0.42.2/ tree as obtained from: http://cairographics.org/releases/ Removed: diff --git a/Build/source/libs/pixman/TLpatches/patch-01-hide-symbols b/Build/source/libs/pixman/TLpatches/patch-01-hide-symbols index e3548d68ca0..dde8485dd4d 100644 --- a/Build/source/libs/pixman/TLpatches/patch-01-hide-symbols +++ b/Build/source/libs/pixman/TLpatches/patch-01-hide-symbols @@ -1,6 +1,6 @@ -diff -ur pixman-0.42.0/pixman/pixman-compiler.h pixman-src/pixman/pixman-compiler.h ---- pixman-0.42.0/pixman/pixman-compiler.h Mon Mar 01 22:49:17 2021 -+++ pixman-src/pixman/pixman-compiler.h Wed Oct 19 05:24:10 2022 +diff -ur pixman-0.42.2/pixman/pixman-compiler.h pixman-src/pixman/pixman-compiler.h +--- pixman-0.42.2/pixman/pixman-compiler.h Wed Feb 02 05:51:25 2022 ++++ pixman-src/pixman/pixman-compiler.h Thu Nov 03 06:05:57 2022 @@ -91,7 +91,7 @@ /* GCC visibility */ diff --git a/Build/source/libs/pixman/configure b/Build/source/libs/pixman/configure index 1e35de087b1..9f26a2f3354 100755 --- a/Build/source/libs/pixman/configure +++ b/Build/source/libs/pixman/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for pixman (TeX Live) 0.42.0. +# Generated by GNU Autoconf 2.71 for pixman (TeX Live) 0.42.2. # # Report bugs to . # @@ -611,8 +611,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='pixman (TeX Live)' PACKAGE_TARNAME='pixman--tex-live-' -PACKAGE_VERSION='0.42.0' -PACKAGE_STRING='pixman (TeX Live) 0.42.0' +PACKAGE_VERSION='0.42.2' +PACKAGE_STRING='pixman (TeX Live) 0.42.2' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -1316,7 +1316,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 (TeX Live) 0.42.0 to adapt to many kinds of systems. +\`configure' configures pixman (TeX Live) 0.42.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1384,7 +1384,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pixman (TeX Live) 0.42.0:";; + short | recursive ) echo "Configuration of pixman (TeX Live) 0.42.2:";; esac cat <<\_ACEOF @@ -1481,7 +1481,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -pixman (TeX Live) configure 0.42.0 +pixman (TeX Live) configure 0.42.2 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1983,7 +1983,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 (TeX Live) $as_me 0.42.0, which was +It was created by pixman (TeX Live) $as_me 0.42.2, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -4526,7 +4526,7 @@ fi # Define the identity of the package. PACKAGE='pixman--tex-live-' - VERSION='0.42.0' + VERSION='0.42.2' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -4743,7 +4743,7 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags PIXMAN_VERSION_MAJOR=0 PIXMAN_VERSION_MINOR=42 -PIXMAN_VERSION_MICRO=0 +PIXMAN_VERSION_MICRO=2 test_CFLAGS=${CFLAGS+set} # We may override autoconf default CFLAGS. @@ -7179,7 +7179,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by pixman (TeX Live) $as_me 0.42.0, which was +This file was extended by pixman (TeX Live) $as_me 0.42.2, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7247,7 +7247,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -pixman (TeX Live) config.status 0.42.0 +pixman (TeX Live) config.status 0.42.2 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/Build/source/libs/pixman/pixman-src/Makefile.am b/Build/source/libs/pixman/pixman-src/Makefile.am index dccbf16eb1d..048fc8d8aff 100644 --- a/Build/source/libs/pixman/pixman-src/Makefile.am +++ b/Build/source/libs/pixman/pixman-src/Makefile.am @@ -27,6 +27,7 @@ EXTRA_DIST = \ meson.build \ meson_options.txt \ neon-test.S \ + a64-neon-test.S \ arm-simd-test.S \ $(NULL) @@ -75,7 +76,7 @@ release-remove-old: $(RM) $(tar_gz) $(tar_xz) $(HASHFILES) $(gpg_file) ensure-prev: - @if [[ "$(PREV)" == "" ]]; then \ + @if [ "$(PREV)" = "" ]; then \ echo "" && \ echo "You must set the PREV variable on the make command line to" && \ echo "the last version." && \ diff --git a/Build/source/libs/pixman/pixman-src/a64-neon-test.S b/Build/source/libs/pixman/pixman-src/a64-neon-test.S new file mode 100644 index 00000000000..5d4a4eaa9d7 --- /dev/null +++ b/Build/source/libs/pixman/pixman-src/a64-neon-test.S @@ -0,0 +1,5 @@ +.text +.arch armv8-a +.altmacro +prfm pldl2strm, [x0] +xtn v0.8b, v0.8h diff --git a/Build/source/libs/pixman/pixman-src/configure.ac b/Build/source/libs/pixman/pixman-src/configure.ac index ba88e2ce49f..da950edf5a9 100644 --- a/Build/source/libs/pixman/pixman-src/configure.ac +++ b/Build/source/libs/pixman/pixman-src/configure.ac @@ -54,7 +54,7 @@ AC_PREREQ([2.57]) m4_define([pixman_major], 0) m4_define([pixman_minor], 42) -m4_define([pixman_micro], 0) +m4_define([pixman_micro], 2) m4_define([pixman_version],[pixman_major.pixman_minor.pixman_micro]) @@ -510,7 +510,7 @@ case $host_os in # binaries aren't flagged as only able to run on MMX/SSE/SSSE3 capable # CPUs since they check at runtime before using those instructions. # Not all linkers grok the mapfile format so we check for that first. - if test "$host_cpu" == "i386" -o "$host_cpu" == "x86_64"; then + if test "$host_cpu" = "i386" -o "$host_cpu" = "x86_64"; then use_hwcap_mapfile=no AC_MSG_CHECKING(whether to use a hardware capability map file) hwcap_save_LDFLAGS="$LDFLAGS" diff --git a/Build/source/libs/pixman/pixman-src/meson.build b/Build/source/libs/pixman/pixman-src/meson.build index 69cbad014c1..15bd4df9631 100644 --- a/Build/source/libs/pixman/pixman-src/meson.build +++ b/Build/source/libs/pixman/pixman-src/meson.build @@ -21,10 +21,10 @@ project( 'pixman', ['c'], - version : '0.42.0', + version : '0.42.2', license : 'MIT', meson_version : '>= 0.52.0', - default_options : ['buildtype=debugoptimized'], + default_options : ['c_std=gnu99', 'buildtype=debugoptimized'], ) config = configuration_data() diff --git a/Build/source/libs/pixman/pixman-src/pixman/meson.build b/Build/source/libs/pixman/pixman-src/pixman/meson.build index 1c2e7d35858..652cda3418e 100644 --- a/Build/source/libs/pixman/pixman-src/pixman/meson.build +++ b/Build/source/libs/pixman/pixman-src/pixman/meson.build @@ -135,4 +135,8 @@ idep_pixman = declare_dependency( include_directories : inc_pixman, ) +if meson.version().version_compare('>= 0.54.0') + meson.override_dependency('pixman-1', idep_pixman) +endif + install_headers('pixman.h', subdir : 'pixman-1') diff --git a/Build/source/libs/pixman/pixman-src/pixman/pixman-bits-image.c b/Build/source/libs/pixman/pixman-src/pixman/pixman-bits-image.c index 6f654203e1b..f050f35316a 100644 --- a/Build/source/libs/pixman/pixman-src/pixman/pixman-bits-image.c +++ b/Build/source/libs/pixman/pixman-src/pixman/pixman-bits-image.c @@ -209,15 +209,15 @@ static force_inline void reduce_32(unsigned int satot, unsigned int srtot, { uint32_t *ret = p; - satot = (int32_t)(satot + 0x8000) / 65536; - srtot = (int32_t)(srtot + 0x8000) / 65536; - sgtot = (int32_t)(sgtot + 0x8000) / 65536; - sbtot = (int32_t)(sbtot + 0x8000) / 65536; + satot = (satot + 0x8000) >> 16; + srtot = (srtot + 0x8000) >> 16; + sgtot = (sgtot + 0x8000) >> 16; + sbtot = (sbtot + 0x8000) >> 16; - satot = CLIP ((int32_t)satot, 0, 0xff); - srtot = CLIP ((int32_t)srtot, 0, 0xff); - sgtot = CLIP ((int32_t)sgtot, 0, 0xff); - sbtot = CLIP ((int32_t)sbtot, 0, 0xff); + satot = CLIP (satot, 0, 0xff); + srtot = CLIP (srtot, 0, 0xff); + sgtot = CLIP (sgtot, 0, 0xff); + sbtot = CLIP (sbtot, 0, 0xff); *ret = ((satot << 24) | (srtot << 16) | (sgtot << 8) | (sbtot)); } @@ -240,10 +240,10 @@ static force_inline void reduce_float(unsigned int satot, unsigned int srtot, { argb_t *ret = p; - ret->a = CLIP ((int32_t)satot / 65536.f, 0.f, 1.f); - ret->r = CLIP ((int32_t)srtot / 65536.f, 0.f, 1.f); - ret->g = CLIP ((int32_t)sgtot / 65536.f, 0.f, 1.f); - ret->b = CLIP ((int32_t)sbtot / 65536.f, 0.f, 1.f); + ret->a = CLIP (satot / 65536.f, 0.f, 1.f); + ret->r = CLIP (srtot / 65536.f, 0.f, 1.f); + ret->g = CLIP (sgtot / 65536.f, 0.f, 1.f); + ret->b = CLIP (sbtot / 65536.f, 0.f, 1.f); } typedef void (* accumulate_pixel_t) (unsigned int *satot, unsigned int *srtot, diff --git a/Build/source/libs/pixman/pixman-src/pixman/pixman-filter.c b/Build/source/libs/pixman/pixman-src/pixman/pixman-filter.c index fa945329737..5f3b752f9b5 100644 --- a/Build/source/libs/pixman/pixman-src/pixman/pixman-filter.c +++ b/Build/source/libs/pixman/pixman-src/pixman/pixman-filter.c @@ -237,14 +237,11 @@ create_1d_filter (int width, pixman_kernel_t sample, double scale, int n_phases, - pixman_fixed_t *pstart, - pixman_fixed_t *pend - ) + pixman_fixed_t *p) { - pixman_fixed_t *p = pstart; double step; int i; - if(width <= 0) return; + step = 1.0 / n_phases; for (i = 0; i < n_phases; ++i) @@ -261,7 +258,7 @@ create_1d_filter (int width, x1 = ceil (frac - width / 2.0 - 0.5); x2 = x1 + width; - assert( p >= pstart && p + (x2 - x1) <= pend ); /* assert validity of the following loop */ + total = 0; for (x = x1; x < x2; ++x) { @@ -290,10 +287,8 @@ create_1d_filter (int width, /* Normalize, with error diffusion */ p -= width; - assert(p >= pstart && p + (x2 - x1) <= pend); /* assert validity of the following loop */ - - total = 65536.0 / total; - new_total = 0; + total = 65536.0 / total; + new_total = 0; e = 0.0; for (x = x1; x < x2; ++x) { @@ -309,8 +304,6 @@ create_1d_filter (int width, * at the first sample, since that is the only one that * hasn't had any error diffused into it. */ - - assert(p - width >= pstart && p - width < pend); /* assert... */ *(p - width) += pixman_fixed_1 - new_total; } } @@ -472,16 +465,10 @@ pixman_filter_create_separable_convolution (int *n_values, params[2] = pixman_int_to_fixed (subsample_bits_x); params[3] = pixman_int_to_fixed (subsample_bits_y); - { - pixman_fixed_t - *xparams = params+4, - *yparams = xparams + width*subsample_x, - *endparams = params + *n_values; - create_1d_filter(width, reconstruct_x, sample_x, sx, subsample_x, - xparams, yparams); - create_1d_filter(height, reconstruct_y, sample_y, sy, subsample_y, - yparams, endparams); - } + create_1d_filter (width, reconstruct_x, sample_x, sx, subsample_x, + params + 4); + create_1d_filter (height, reconstruct_y, sample_y, sy, subsample_y, + params + 4 + width * subsample_x); #ifdef PIXMAN_GNUPLOT gnuplot_filter(width, subsample_x, params + 4); diff --git a/Build/source/libs/pixman/pixman-src/pixman/pixman-trap.c b/Build/source/libs/pixman/pixman-src/pixman/pixman-trap.c index 91766fdbfca..7560405ee2e 100644 --- a/Build/source/libs/pixman/pixman-src/pixman/pixman-trap.c +++ b/Build/source/libs/pixman/pixman-src/pixman/pixman-trap.c @@ -74,7 +74,7 @@ pixman_sample_floor_y (pixman_fixed_t y, if (f < Y_FRAC_FIRST (n)) { - if (pixman_fixed_to_int (i) == 0x8000) + if (pixman_fixed_to_int (i) == 0xffff8000) { f = 0; /* saturate */ } diff --git a/Build/source/libs/pixman/version.ac b/Build/source/libs/pixman/version.ac index 325c50ab707..d069548bd8d 100644 --- a/Build/source/libs/pixman/version.ac +++ b/Build/source/libs/pixman/version.ac @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current pixman version -m4_define([pixman_version], [0.42.0]) +m4_define([pixman_version], [0.42.2]) -- cgit v1.2.3