- 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 pixman/pixman#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>
-
Matt Turner authored
Signed-off-by:
Matt Turner <mattst88@gmail.com>
-
Matt Turner authored
Signed-off-by:
Matt Turner <mattst88@gmail.com>
-
- Apr 14, 2020
-
-
Enabled armv6 SIMD for 3DS (devkitARM) and arm neon SIMD for PS Vita (vitasdk) and Switch (devkitA64)
-
- Apr 07, 2020
-
-
Matt Turner authored
-
It's recommended to use '-mloongson-mmi' for MMI. Reviewed-by:
Matt Turner <mattst88@gmail.com>
-
- Apr 02, 2020
-
-
We want a uint8_t * at the end of this math, because that's what the function we're about to pass it to takes. But ->bits is a uint32_t, so if we just do the math in units of that we can avoid the explicit factor of four which would risk an integer overflow. Fixes: pixman/pixman#14
-
- Mar 20, 2020
-
-
Matt Turner authored
Closes: #7
-
- Mar 19, 2020
-
-
Federico Mena Quintero authored
Otherwise, Valgrind shows things like "conditional jump or move depends on uninitialised values" errors much later in calling code. For example, see https://gitlab.gnome.org/GNOME/librsvg/issues/572 Fixes pixman/pixman#9
-
- Mar 14, 2020
-
-
Antonio Ospite authored
MinGW supports __declspec(dllexport) but the current logic that sets PIXMAN_EXPORT only uses it when building with MSVC, leaving some symbols hidden when building with MinGW. This results in an error when trying to link the tests: ----------------------------------------------------------------------- FAILED: subprojects/pixman/test/combiner-test.exe x86_64-w64-mingw32-gcc -o subprojects/pixman/test/combiner-test.exe 'subprojects/pixman/test/f48fa9c@@combiner-test@exe/combiner-test.c.obj' -Wl,--allow-shlib-undefined -Wl,--start-group subprojects/pixman/test/libtestutils.a subprojects/pixman/pixman/libpixman-1.dll.a -pthread -fopenmp -fopenmp -lm -mconsole -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -Wl,--end-group /usr/bin/x86_64-w64-mingw32-ld: subprojects/pixman/test/f48fa9c@@combiner-test@exe/combiner-test.c.obj: in function `main': .../build/../subprojects/pixman/test/combiner-test.c:124: undefined reference to `_pixman_internal_only_get_implementation' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. ----------------------------------------------------------------------- By using PIXMAN_API also when building with MinGW, the tests can link successfully and the build succeed. Tested with x86_64-w64-mingw32-gcc (GCC) 8.3-win32 20191201.
-
- Feb 20, 2020
-
-
No functional change, as explained by Søren in https://lists.freedesktop.org/archives/pixman/2020-February/004902.html
-
- Jan 30, 2020
-
-
Mathieu Duponchelle authored
.. and add gettimeofday to the list of funcs to check instead of having a separate check for it.
-
Mathieu Duponchelle authored
Those flags are set by the configure.ac script
-
- Dec 19, 2019
-
-
Khem Raj authored
Some architectures e.g. nios2 do not support all exceptions.
-
- Nov 18, 2019
-
-
Chun-wei Fan authored
...When we don't have a pthreads implementation available, which is normally the case on Windows. This attempts to make it easier for people on Windows to verify whether their builds of Pixman (and Cairo component, if applicable) are thread-safe. Also, make the number of threads a #define, so if we need to change it at some point, it's easier. This re-enables the thread-test program on Windows in Meson builds.
-
Chun-wei Fan authored
This is required for the use of M_PI.
-
Chun-wei Fan authored
We need that to make sure we have UINT16_MAX.
-
Chun-wei Fan authored
This will make the public APIs exported from the DLL, so that we have an import libary that we can use.
-
Chun-wei Fan authored
Define the existing PIXMAN_EXPORT to be PIXMAN_API, which can overriden to be __declspec(dllexport) during the build of the pixman DLL on MSVC builds, which will be in the next patch. Also, export more private symbols as they are needed for the test programs.
-
Chun-wei Fan authored
We can override PIXMAN_API with a CFLAG or config.h define to export the symbols with compiler directives, if needed.
-