[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Git][xorg-team/lib/pixman][upstream-unstable] 33 commits: Post-release version bump to 0.40.1



Title: GitLab

Emilio Pozuelo Monfort pushed to branch upstream-unstable at X Strike Force / lib / pixman

Commits:

  • 10a057e2
    by Matt Turner at 2020-04-19T15:01:30-07:00
    Post-release version bump to 0.40.1
    
    Signed-off-by: Matt Turner <mattst88@gmail.com>
    
  • 3b1fefda
    by Michael Forney at 2020-04-26T13:46:43-07:00
    Prevent empty top-level declaration
    
    The expansion of PIXMAN_DEFINE_THREAD_LOCAL(...) may end in a
    function definition, so the following semicolon is considered an
    empty top-level declaration, which is not allowed in ISO C.
    
    Reviewed-by: Matt Turner <mattst88@gmail.com>
    
  • c2fe1568
    by Tom Stellard at 2020-05-11T22:33:49+00:00
    Add -ftrapping-math to default cflags
    
    This should resolve https://gitlab.freedesktop.org/pixman/pixman/-/issues/22
    and make the tests pass with clang.
    
    -ftrapping-math is already the default[1] for gcc, so this should not change
    behavior when compiling with gcc.  However, clang defaults[2] to -fno-trapping-math,
    so -ftrapping-math is needed to avoid floating-point expceptions when running the
    combiner and stress tests.
    
    The root causes of this issue is that that pixman-combine-float.c guards floating-point
    division operations with a FLOAT_IS_ZERO check e.g.
    
    if (FLOAT_IS_ZERO (sa))
    	f = 1.0f;
    else
    	f = CLAMP (da / sa);
    
    With -fno-trapping-math, the compiler assumes that division will never trap, so it may
    re-order the division and the guard and execute the division first.  In most cases,
    this would not be an issue, because floating-point exceptions are ignored.  However,
    these tests call enable_divbyzero_exceptions() which causes the SIGFPE signal to
    be sent to the program when a divide by zero exception is raised.
    
    [1] https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
    [2] https://clang.llvm.org/docs/UsersManual.html#controlling-floating-point-behavior
    
  • 0ba6cbe1
    by Tim-Philipp Müller at 2020-05-30T11:34:26+01:00
    Update README a little
    
    - bugzilla -> gitlab
    - convert links to https
    - suggest issues and patches be filed via gitlab
    
  • 15e06686
    by Tim-Philipp Müller at 2020-06-02T01:15:33+01:00
    meson: add cpu-features-path option for Android
    
    Add option to include cpu-features.[ch] from a given path
    into the build for platforms that don't provide this out
    of the box. This is needed on Android.
    
    Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
    
  • 606f5c15
    by Tim-Philipp Müller at 2020-06-02T02:30:39+00:00
    meson: add option to skip building of tests and demos
    
    Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
    
  • 9b49f4e0
    by Dylan Baker at 2020-06-18T14:21:09-07:00
    meson: remove pixman dependency
    
    AFAICT from the git history, what happened is that the gtk demos rely on
    gtk being built with pixman support. pkg-config isn't really expressive
    enough to have that information, so the solution that was come up with
    was to search for pixman as well as gtk+ and hope that pixman being
    installed was.
    
    This isn't actually used anywhere in the meson build anyway, and it's
    causing problems for projects that want to use pixman as a supproject
    (there's a port of cairo underway that's hitting this), because it
    confuses meson.
    
  • d93ec571
    by Érico Rolim at 2020-10-22T20:43:26-03:00
    meson: update option descriptions.
    
    - gtk is only used in demos
    - libpng is only used in tests
    - openmp is only used in tests (in the standard build)
    
  • e93eaff5
    by Jonathan Kew at 2021-05-07T09:37:28-04:00
    Avoid out-of-bounds read when accessing individual bytes from mask.
    
    The important changes here are a handful of places where we replace
    
                memcpy(&m, mask++, sizeof(uint32_t));
    
    or similar code with
    
                uint8_t m = *mask++;
    
    because we're only supposed to be reading a single byte from *mask,
    and accessing a 32-bit value may read out of bounds (besides that
    it reads values we don't actually want; whether this matters would
    depend exactly how the value in m is subsequently used).
    
    I've also changed a bunch of other places to use this same pattern
    (a local 8-bit variable) when reading individual bytes from the mask;
    the code was inconsistent about this, sometimes casting the byte to
    a uint32_t instead. This makes no actual difference, it just seemed
    better to use a consistent pattern throughout the file.
    
  • 4251202d
    by pkubaj at 2021-05-07T15:58:56+00:00
    Fix AltiVec detection on FreeBSD.
  • aaf59b03
    by Heiko Lewin at 2021-07-21T14:50:52+00:00
    Fix signed-unsigned semantics in reduce_32
    
  • 5f5e752f
    by Manuel Stoeckl at 2021-08-09T21:43:58-04:00
    Fix masked pixel fetching with wide format
    
    In __bits_image_fetch_affine_no_alpha and __bits_image_fetch_general,
    when `wide` is true, the mask is actually an array of argb_t instead
    of the array of uint32_t it was cast to, and the access to `mask[i]`
    does not correctly detect when the pixel is nontrivial. The code now
    uses a check appropriate for argb_t when `wide` is true.
    
    One caveat: this new check only skips entries when the mask pixel data
    is binary all zero; this misses cases like `-0.f` which would be caught
    by the FLOAT_IS_ZERO macro. As the mask check only appears to be a
    performance optimization to avoid loading inconsequential pixels, it
    erring on the side of loading more pixels is safe.
    
    Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
    
  • e0d4403e
    by Alex Richardson at 2021-09-17T16:03:48+00:00
    Fix -Wincompatible-function-pointer-types warning
    
    Adding const to the return type does nothing and means that the function
    pointer types do not match exactly:
    
    error: incompatible function pointer types passing 'const float (int, int)' to parameter of type 'dither_factor_t' (aka 'float (*)(int, int)')
    
  • bd4e7a9b
    by Nirbheek Chauhan at 2021-09-17T16:08:04+00:00
    tests: Fix undefined symbol build error on macOS
    
    prng_state and prng_state_data are getting classified as a "Common
    symbol" by the compiler due to the convoluted way in which it is
    `#include`-ed in various test sources, and that's not read as a valid
    symbol by the linker later.
    
    Initializing the symbol clarifies it to the compiler that this
    specific declaration is the canonical location for this variable, and
    that it's not a "Common symbol".
    
    Fixes https://gitlab.freedesktop.org/pixman/pixman/-/issues/42
    
  • 36001032
    by Simon Ser at 2021-09-17T16:22:51+00:00
    Constify region APIs
    
    This allows callers to pass around const Pixman region in their
    APIs, improving type safety and documentation.
    
    Signed-off-by: Simon Ser <contact@emersion.fr>
    
  • eadb8286
    by Mizuki Asakura at 2021-09-17T17:03:02+00:00
    added aarch64 bilinear implementations (ver.4.1)
    
    Since aarch64 has different neon syntax from aarch32 and has no
    support for (older) arm-simd,
    there are no SIMD accelerations for pixman on aarch64.
    
    We need new implementations.
    
    This patch also contains Ben Avions's series of patches for aarch32
    and now the benchmark results are fine to aarch64.
    
    Please find the result at the below ticket.
    
    Added: https://bugs.freedesktop.org/show_bug.cgi?id=94758
    Signed-off-by: Mizuki Asakura <ed6e117f@gmail.com>
    
  • c6e1af99
    by Manuel Stoeckl at 2022-01-12T23:19:39-05:00
    demos: port to Gtk3
    
    GTK2 has reached end of life, and GTK3 has been available for a
    almost a decade.
    
    Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
    Reviewed-by: Simon Ser <contact@emersion.fr>
    
  • 3563dfe4
    by Nirbheek Chauhan at 2022-01-21T09:07:53+00:00
    meson: Fix warning about extract_all_objects usage
    
    We use this because of a meson bug that was fixed in 0.52:
    
    https://mesonbuild.com/Release-notes-for-0-52-0.html#improved-support-for-static-libraries
    
    Bump the requirement and remove the extract_all_objects workaround.
    This gets rid of a meson warning:
    
    WARNING: extract_all_objects called without setting recursive
    keyword argument. Meson currently defaults to
    non-recursive to maintain backward compatibility but
    the default will be changed in the future.
    
  • adc07d46
    by Nirbheek Chauhan at 2022-01-22T13:25:57+05:30
    meson: Fix usage of pkgconfig.generate()
    
    The library that the pkgconfig file is for should be the first
    positional argument. The `libraries:` kwarg is for libraries that the
    user must also link against, and which meson does not know about (and
    hence cannot automatically add to the `Libs:` or `Requires:` section
    in the .pc file).
    
    Fixes:
    ```
    subprojects/pixman/meson.build:564: DEPRECATION: Library pixman-1 was
    passed to the "libraries" keyword argument of a previous call to
    generate() method instead of first positional argument. Adding
    pixman-1 to "Requires" field, but this is a deprecated behaviour that
    will change in a future version of Meson. Please report the issue if
    this warning cannot be avoided in your case.
    ```
    
  • 285b9a90
    by Alan Coopersmith at 2022-02-19T13:37:54-08:00
    configure: replace bugzilla URL with gitlab issues
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    
  • b4a105d7
    by Jocelyn Falempe at 2022-06-29T11:00:04+02:00
    Fix inverted colors on big endian system
    
    bits_image_fetch_separable_convolution_affine() didn't take care
    of big endian system
    
    Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
    
  • 79894839
    by Alan Coopersmith at 2022-10-13T20:58:57+00:00
    configure.ac: allow x64 libraries on Solaris to run on non-SSSE3 machines
    
    Override the x64 hardware capability autodetection by Solaris Studio
    compilers for x64 libraries the same way we do for x86 libraries.
    
    Also fix configure test for this override to work in out-of-tree builds.
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    
  • 421fc252
    by Benjamin Gilbert at 2022-10-18T01:02:43+00:00
    meson: Add feature to disable compiler TLS support
    
    When compiling with MinGW, use of the __thread attribute causes pixman
    to gain a dependency on the winpthread DLL.  With Autotools, this could
    be avoided by configuring with ac_cv_tls=none, causing pixman to fall
    back to TlsSetValue() instead.
    
    Add a Meson 'tls' option that can be 'disabled' to skip support for TLS
    compiler attributes, or 'enabled' to require a working TLS attribute.
    
  • 8d6d7f44
    by Simon Ser at 2022-10-18T09:44:04+02:00
    Pre-release version bump to 0.42.0
    
    Signed-off-by: Simon Ser <contact@emersion.fr>
    
  • 7df9e162
    by Simon Ser at 2022-10-18T11:01:24+02:00
    Post-release version bump to 0.42.1
    
    Signed-off-by: Simon Ser <contact@emersion.fr>
    
  • b5b32437
    by Thomas Klausner at 2022-10-18T17:48:24+02:00
    configure.ac: avoid unportable test(1) operator
    
    "==" is only supported by bash, POSIX mandates "="
    
    Signed-off-by: Thomas Klausner <wiz@gatalith.at>
    
  • 4ee322c4
    by Thomas Klausner at 2022-10-18T17:48:49+02:00
    Makefile.am: increase shell portability
    
    Use standard test(1) instead of bash's '[['.
    
    Signed-off-by: Thomas Klausner <wiz@gatalith.at>
    
  • 0cf92877
    by Simon Ser at 2022-10-27T18:17:26+00:00
    meson: override pixman-1 dependency
    
    This eases usage as a Meson subproject.
    
    Signed-off-by: Simon Ser <contact@emersion.fr>
    
  • 1a0d50ce
    by Simon Ser at 2022-10-27T18:21:37+00:00
    meson: explicitly set C standard to gnu99
    
    This explicitly indicates that GNU extensions (like asm) are used.
    This fixes build errors when Pixman is used as a Meson subproject.
    
    Signed-off-by: Simon Ser <contact@emersion.fr>
    
  • ca7bb889
    by Matt Turner at 2022-10-27T14:36:54-04:00
    build: Add a64-neon-test.S to EXTRA_DIST
    
    Fixes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/66
    
  • c3bbb94b
    by Matt Turner at 2022-10-27T15:10:30-04:00
    Revert "Fix signed-unsigned semantics in reduce_32"
    
    This reverts commit aaf59b0338fbd4b9142794254261f8d0a018b60c.
    
    This commit regressed the scaling-test unit test, by apparently allowing
    the compiler to emit fused multiply-add instructions in cases they
    wouldn't have been allowed before. While using gcc's -ffp-contract=...
    flag avoids the issue on amd64, it does not on at least aarch64 and
    ppc64.
    
    This is unfortunate, because the commit being reverted resolved
    https://gitlab.freedesktop.org/pixman/pixman/-/issues/43 so we will
    reintroduce this failure, but after more than a year without a fix for
    the unit test, I think it's time to bite the bullet.
    
    Fixes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/49
    
  • a1f88e84
    by Matt Turner at 2022-11-02T13:25:48-04:00
    Avoid integer overflow leading to out-of-bounds write
    
    Thanks to Maddie Stone and Google's Project Zero for discovering this
    issue, providing a proof-of-concept, and a great analysis.
    
    Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/63
    
  • 37216a32
    by Matt Turner at 2022-11-02T13:25:48-04:00
    Pre-release version bump to 0.42.2
    

15 changed files:

The diff was not included because it is too large.

Reply to: