- Feb 04, 2023
-
-
Richard Henderson authored
Fall back to system memmove for each complete row. Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
- Nov 03, 2022
-
-
-
Matt Turner authored
-
Signed-off-by:
Claude Heiland-Allen <claude@mathr.co.uk>
-
Signed-off-by:
Claude Heiland-Allen <claude@mathr.co.uk>
-
- Nov 02, 2022
-
-
Matt Turner authored
Thanks to Maddie Stone and Google's Project Zero for discovering this issue, providing a proof-of-concept, and a great analysis. Closes: pixman/pixman#63
- Oct 27, 2022
-
-
Matt Turner authored
This reverts commit aaf59b03. 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 pixman/pixman#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: pixman/pixman#49
-
Matt Turner authored
Fixes: pixman/pixman#66
-
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>
-
This eases usage as a Meson subproject. Signed-off-by:
Simon Ser <contact@emersion.fr>
-
- Oct 18, 2022
-
-
Thomas Klausner authored
Use standard test(1) instead of bash's '[['. Signed-off-by:
Thomas Klausner <wiz@gatalith.at>
-
Thomas Klausner authored
"==" is only supported by bash, POSIX mandates "=" Signed-off-by:
Thomas Klausner <wiz@gatalith.at>
-
Simon Ser authored
Signed-off-by:
Simon Ser <contact@emersion.fr>
-
Simon Ser authored
Signed-off-by:
Simon Ser <contact@emersion.fr>
-
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.
-
- Oct 13, 2022
-
-
Alan Coopersmith authored
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>
-
- Jun 29, 2022
-
-
Jocelyn Falempe authored
bits_image_fetch_separable_convolution_affine() didn't take care of big endian system Signed-off-by:
Jocelyn Falempe <jfalempe@redhat.com>
-
- Feb 19, 2022
-
-
Alan Coopersmith authored
Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
- Jan 22, 2022
-
-
Nirbheek Chauhan authored
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. ```
-
- Jan 21, 2022
-
-
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.
-
- Jan 13, 2022
-
-
Manuel Stoeckl authored
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>
-
- Sep 17, 2021
-
-
Mizuki Asakura authored
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>
-
Simon Ser authored
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>
-
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 #42
-
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)')
-
- Aug 10, 2021
-
-
Manuel Stoeckl authored
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>
-
- Jul 21, 2021
-
-
- May 07, 2021
-
-
-
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.
-
- Oct 22, 2020
-
-
Érico Rolim authored
- gtk is only used in demos - libpng is only used in tests - openmp is only used in tests (in the standard build)
-
- Jun 18, 2020
-
-
Dylan Baker authored
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.
-
- Jun 02, 2020
-
-
Reviewed-by:
Dylan Baker <dylan@pnwbakers.com>
-
Tim-Philipp Müller authored
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>
-
- May 30, 2020
-
-
Tim-Philipp Müller authored
- bugzilla -> gitlab - convert links to https - suggest issues and patches be filed via gitlab
-
- May 11, 2020
-
-
Tom Stellard authored
This should resolve pixman/pixman#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
-
- Apr 26, 2020
-
-
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>
-
- Apr 19, 2020
-
-
Matt Turner authored
Signed-off-by:
Matt Turner <mattst88@gmail.com>
-
Matt Turner authored
Signed-off-by:
Matt Turner <mattst88@gmail.com>
-
Matt Turner authored
Signed-off-by:
Matt Turner <mattst88@gmail.com>
-