Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / lib / 
pixman


Commits:
761f36c3 by Dylan Baker at 2018-11-29T16:57:01+00:00
Add .editorconfig file

This sets the style for meson (which uses the upstream style, 2 space
indent with no tabs), and sets the tab_width to 8 per the CODING_STYLE
document.

- - - - -
199a3bd2 by Dylan Baker at 2018-11-29T16:57:01+00:00
meson: Add a meson build system

This commit adds a meson build system for pixman. It carries the usual
improvements of meson, better clean build time, much better incremental
build times, while being simpler and easier to understand.

This takes advantage of some features from the most recent versions of
meson: the builtin openmp dependency and the feature option type.

There are a couple of things that I've done a bit differently than the
autotools build system, I've built a libdemos which is the utilities
from the demos folder, and I've linked the demos with libtestutils from
tetsts, otherwise I expect that most things will be the same.

I've tested so far cross compiling from x86_64 -> x86, x86_64 ->
Aarch64, and Linux to Windows via mingw, as well as native x86_64 Linux
builds which all work. I've also built with mingw nativly, there are
some test failures there. An MSVC build can be generated, but fails.

v2: - set WORDS_BIGENDIAN in the config for big endian systems.

- - - - -
eb0dfaa0 by Dylan Baker at 2018-11-29T16:57:01+00:00
gitlab-ci: Add meson build to pipeline test

- - - - -
0202f0d8 by Maarten Lankhorst at 2018-12-07T13:44:38+01:00
Post release version bump to 37.1

Signed-off-by: Maarten Lankhorst <[email protected]>

- - - - -
146fa643 by Maarten Lankhorst at 2018-12-07T14:20:44+01:00
Merge remote-tracking branch 'origin/master'

And bump meson version to 37.1 as well. Seems my push to upstream failed.

Signed-off-by: Maarten Lankhorst <[email protected]>

- - - - -
16eacf19 by Dylan Baker at 2019-01-15T19:13:14-08:00
editorconfig: use tabs for Makefiles

Reviewed-by: Matt Turner <[email protected]>

- - - - -
b40d5495 by Dylan Baker at 2019-01-15T19:13:24-08:00
build: Add meson files to EXTRA_DIST

Reviewed-by: Matt Turner <[email protected]>

- - - - -
a32fc4fa by Basile Clement at 2019-02-11T12:48:21+01:00
Implement floating point gradient computation, v2.

This patch modifies the gradient walker to be able to generate floating
point values directly in addition to a8r8g8b8 32 bit values.  This is
then used by the various gradient implementations to render in floating
point when asked to do so, instead of rendering to a8r8g8b8 and then
expanding to floating point as they were doing previously.

Changes since v1 (mlankhorst):
- Implement pixman_gradient_walker_pixel_32 without calling
  pixman_gradient_walker_pixel_float, to prevent performance degradation.
  Suggested by Adam Jackson.
- Fix whitespace errors.
- Remove unnecessary function prototypes in pixman-private.h

Signed-off-by: Maarten Lankhorst <[email protected]>
[mlankhorst: Add comment about pixman_contract_from_float,
             based on Basille's suggestion]
Acked-by: Basile Clement <[email protected]>

- - - - -
6240ad15 by Maarten Lankhorst at 2019-02-11T12:48:57+01:00
pixman: Use maximum precision for pixman-bits-image, v2.

pixman-bits-image's wide helpers first obtains the 8-bits image,
then converts it to float. This destroys all the precision that
the wide path was offering.

Fix this by making get_pixel() take a pointer instead of returning
a value. Floating point will fill in a argb_t, while the 8-bits path
will fill a 32-bits ARGB value. This also requires writing a floating
point bilinear interpolator. With this change pixman can use the full
floating point precision internally in all paths.

Changes since v1:
- Make accum and reduce an argument to convolution functions,
  to remove duplication.

Signed-off-by: Maarten Lankhorst <[email protected]>
Acked-by: Basile Clement <[email protected]>

- - - - -
5d2cf8fc by Maarten Lankhorst at 2019-02-11T13:27:25+01:00
Bump version to 0.38.0

And update RELEASING for the new meson build system.

Signed-off-by: Maarten Lankhorst <[email protected]>

- - - - -
e7ac62c3 by Dylan Baker at 2019-03-27T10:53:33-07:00
meson: work around meson issue #5115

This issue causes openmp arguments to be injected into compilers that
can support openmp, even if they don't. This issue will be fixed in
0.51 (code already landed in mesonbuild#5116), for older versions lets
work around the issue.

- - - - -
d13f6a8b by Dylan Baker at 2019-03-27T10:53:34-07:00
meson: fix typo which breaks loongson checks

mach -> march

- - - - -
9ed0576a by Dylan Baker at 2019-03-27T10:53:34-07:00
meson: fix copy-n-paste error for arm simd assembly

mentioned in #29

- - - - -
6e206cf7 by Dylan Baker at 2019-03-27T10:53:34-07:00
meson: Add proper include paths for the loongson check

- - - - -
2065a07e by Dylan Baker at 2019-03-27T10:54:50-07:00
meson: simplify and fix mmx library compilation

This simplifies the logic and fixes the loongson-mmi implementation to
build correctly.

- - - - -
0ea37df4 by Dylan Baker at 2019-03-27T10:54:50-07:00
meson: store ARM SIMD and NEON tests as text files

This is unfortunately required to make the tests work correctly, as
otherwise meson assumes that the files are C code not assembly. I've
opened https://github.com/mesonbuild/meson/issues/5151, to discuss
fixing the issue in meson upstream.

Fixes #29

- - - - -
55d8f956 by Simon Richter at 2019-03-27T15:12:52-07:00
Windows: Show compiler invocation

Signed-off-by: Matt Turner <[email protected]>

- - - - -
ef4fb032 by Simon Richter at 2019-03-27T15:12:52-07:00
Windows: Support building with SHELL=cmd.exe

When GNU Make is not from msys, the startup cost for sh.exe is massive
compared to cmd.exe.

Signed-off-by: Matt Turner <[email protected]>

- - - - -
72959837 by Niveditha Rau at 2019-03-27T15:14:05-07:00
void function should not return a value

Signed-off-by: Matt Turner <[email protected]>

- - - - -
4c4753c4 by Matt Turner at 2019-04-07T12:31:40-07:00
meson: Correct copy-and-paste mistake

Signed-off-by: Matt Turner <[email protected]>

- - - - -
a7ffb3e6 by Matt Turner at 2019-04-07T13:13:30-07:00
Pre-release version bump to 0.38.2

Signed-off-by: Matt Turner <[email protected]>

- - - - -
8888e752 by Matt Turner at 2019-04-07T13:34:44-07:00
Post-release version bump to 0.38.3

Signed-off-by: Matt Turner <[email protected]>

- - - - -
e7058fe4 by Matt Turner at 2019-04-07T13:43:57-07:00
Makefile.am: Update download links

Signed-off-by: Matt Turner <[email protected]>

- - - - -
23f036d4 by Matt Turner at 2019-04-10T10:10:47-07:00
Makefile.am: Ship Meson assembly test files in the tarball

These were forgotten in commit 0ea37df4286e (meson: store ARM SIMD and
NEON tests as text files) and since autotools doesn't use them make
distcheck still succeeded.

Fixes #30

Signed-off-by: Matt Turner <[email protected]>

- - - - -
e8df10ee by Matt Turner at 2019-04-10T10:17:47-07:00
Pre-release version bump to 0.38.4

Signed-off-by: Matt Turner <[email protected]>

- - - - -
e21ebfb1 by Matt Turner at 2019-04-10T10:25:18-07:00
Post-release version bump to 0.38.5

Signed-off-by: Matt Turner <[email protected]>

- - - - -
8256c235 by Basile Clement at 2019-04-11T10:59:00+02:00
Fix bilinear filter computation in wide pipeline

The recently introduced wide pipeline for filters has a typo which
causes it to improperly compute bilinear interpolation positions,
causing various glitches when enabled.

This patch uses the proper computation for bilinear interpolation in the
wide pipeline.  It also makes related `if` statements conformant to the
CODING_STYLE:

* If a substatement spans multiple lines, then there must be braces
  around it.

* If one substatement of an if statement has braces, then the other
  must too.

Signed-off-by: Maarten Lankhorst <[email protected]>

- - - - -
85bfa8b4 by Fan Jinke at 2019-05-02T16:07:19-07:00
add Hygon Dhyana support to enable X86_MMX_EXTENSIONS feature

Signed-off-by: Fan Jinke <[email protected]>
Signed-off-by: Matt Turner <[email protected]>

- - - - -
ddcc41b9 by Basile Clement at 2019-05-25T07:29:55-07:00
Implement basic dithering for the wide pipeline, v3

This patch implements dithering in pixman.  A "dither" property is 
added
to BITS images, which is used to:

 - Force rendering to the image to go through the floating point
   pipeline.  Note that this is different from FAST_PATH_NARROW_FORMAT
   as it should not enable the floating point pipeline when reading from
   the image.

 - Enable dithering in dest_write_back_wide.  The dithering uses the
   destination format to determine noise amplitude.

This does not change pixman's behavior when dithering is disabled (the
default).

Additional types and functions are added to the public API:

 - The `pixman_dither_t` enum exposes the available dithering methods.
   Currently a single dithering method based on 8x8 Bayer matrices is
   implemented (PIXMAN_DITHER_ORDERED_BAYER_8).  The PIXMAN_DITHER_FAST,
   PIXMAN_DITHER_GOOD and PIXMAN_DITHER_BEST aliases are provided and
   should be used to benefit from future specializations.

 - The `pixman_image_set_dither` function allows to set the dithering
   method to use when rendering to a bits image.

 - The `pixman_image_set_dither_offset` function allows to set a
   vertical and horizontal offsets for the dither matrix.  This can be
   used after scrolling to ensure a consistent spatial positioning of
   the dither matrix.

Changes since previous version (v2):
 - linear_gradient_is_horizontal optimization is still compatible with
   the wide pipeline.  The code disabling it was a remnant of a previous
   patch which performed dithering directly inside linear_get_scanline,
   and thus needed to be called independently for each scanline.

Changes since v1:
 - Renamed PIXMAN_DITHER_BAYER_8 to PIXMAN_DITHER_ORDERED_BAYER_8
 - Disable dithering for channels with 32bpp or more (since they can
   represent exactly the wide values already).  This makes the patches
   compatible with the newly added floating point format.

Dithering is compatible with linear_gradient_is_horizontal

- - - - -
37d2e681 by Basile Clement at 2019-05-25T07:30:02-07:00
test: Check the dithering path in tolerance-test

This adds support for testing dithered destinations in tolerance-test.
When dithering is enabled, the pixel checker allows for an additional
quantization error.

- - - - -
98b5ec74 by Basile Clement at 2019-05-25T07:30:11-07:00
demos: Add a dithering demo

This adds a dither.c which provides a demo of the dithering feature.
This is based on the scale.c demo for scaling and provides a selection
of intermediate formats and dithering operators (currently, only
PIXMAN_DITHER_ORDERED_BAYER_8) to use.  Images are first blitted onto a
surface of the intermediate format with the requested dither setup, then
blitted back onto a a8r8g8b8 surface for display.

- - - - -
cb2ec426 by Basile Clement at 2019-05-25T07:30:19-07:00
Ordered dithering with blue noise, v2

On some screens (typically low quality laptop screens), using Bayer
ordered dithering has been observed to cause color changes depending on
*where the gradient is rendered on the screen*, causing visible
flickering when moving an image on the screen.

To alleviate the issue, this patch adds support for ordered dithering
using a 64x64 matrix tuned from blue noise.  In addition to being devoid
of the positional dependency on screen, the blue noise matrix also
generates more pleasing and less discernable patterns.  As such, it is
now the method used for PIXMAN_DITHER_GOOD and PIXMAN_DITHER_BEST
dithering methods.

The 64x64 blue noise matrix has been generated using the provided
`pixman/dither/make-blue-noise.c` script, which uses the
void-and-cluster method.

Changes since v1 (thanks Bill):
 - Use uint16_t for the blue noise matrix for lower memory usage
 - Use bitwise computation for array index

- - - - -
0ee0ad23 by Basile Clement at 2019-06-10T09:32:12-07:00
Don't use GNU extension for binary numbers

The dithering code (specifically `dither_factor_bayer_8`) uses a GNU
extension for binary notation, eg 0b001.  This is not supported by MSVC
(at least) and breaks the build on this platform [1].

This patches uses hexadecimal notation instead, fixing the build.

[1]: https://lists.freedesktop.org/archives/pixman/2019-June/004883.html

Reviewed-by: Matt Turner <[email protected]>

- - - - -
be0d3e69 by Christoph Reiter at 2019-06-10T16:34:06+00:00
meson: define SIZEOF_LONG  and use -Wundef

meson builds defaulted to SIZEOF_LONG=0 in various places

- - - - -
4851d4e2 by Christoph Reiter at 2019-06-10T16:38:39+00:00
meson: allow building a static library

So that passing "-Ddefault_library=both" also creates a static lib.

Note that Libs.private in the .pc file will still be wrong because of
https://github.com/mesonbuild/meson/issues/3934 (it contains things like
-lpixman-mmx)

- - - - -
fd5c0da5 by Christoph Reiter at 2019-06-10T16:42:59+00:00
meson: fix TLS support under mingw

GCC on Windows complains that "__declspec(thread)" doesn't work, 
but still
compiles it, so the meson check doesn't work. The warning printed by gcc:
"warning: 'thread' attribute directive ignored [-Wattributes]"

Pass -Werror=attributes to make the check fail instead.

This fixes the test suite (minus gtk tests) on Windows with mingw.

- - - - -
c558647f by Jonathan Kew at 2019-08-30T10:42:45+00:00
Explicitly cast byte to uint32_t before left-shifting.

To avoid potential signed integer overflow (undefined behavior), as implicit 
integer promotion means the operand becomes a (signed) int.

(Issue originally reported at 
https://bugzilla.mozilla.org/show_bug.cgi?id=1577669)
- - - - -
afc6c935 by Dylan Baker at 2019-09-09T16:06:18-07:00
meson: don't use link_with for library()

Meson doesn't do the expected thing when library() creates a static
library. Instead of combining the libraries together into a single
archive it effectively discards them, resulting in missing symbols.

To work around this we manually unpack the archives and shove the .o
files into the final library. This doesn't affect the shared library at
all, but makes the static library have the necessary symbols

Fixes #33

- - - - -
d60b0af5 by Jonathan Kew at 2019-09-11T12:07:46+00:00
Avoid undefined behavior (left-shifting negative value) in pixman_int_to_fixed

Reported in https://bugzilla.mozilla.org/show_bug.cgi?id=1580352. Casting the 
argument to uint32_t should avoid invoking undefined behavior here. We'll 
still have *implementation-defined* behavior when casting the result back to 
pixman_fixed_t, but that's better than *undefined*.
- - - - -
52c27c82 by Adam Jackson at 2019-10-15T16:31:33-04:00
test: Fix undefined left shift in affine-test

../test/affine-test.c:174:34: runtime error: left shift of 1 by 31 places 
cannot be represented in type 'int'

- - - - -
f6040f56 by Adam Jackson at 2019-10-15T16:31:38-04:00
test: Fix undefined left shift in pixel_checker_init

../test/utils.c:2070:57: runtime error: left shift of 255 by 24 places cannot 
be represented in type 'int'

- - - - -
a09bcc06 by Adam Jackson at 2019-10-15T16:31:40-04:00
pixman: Fix undefined left shift in pixel_contract_from_float

../pixman/pixman-utils.c:216:14: runtime error: left shift of 255 by 24 places 
cannot be represented in type 'int'

- - - - -
6d0a930b by Adam Jackson at 2019-10-15T16:31:43-04:00
pixman-access: Fix various undefined left shifts

../pixman/pixman-access.c:389:2: runtime error: left shift of 1 by 31 places 
cannot be represented in type 'int'
../pixman/pixman-access.c:1101:2: runtime error: left shift of 2 by 30 places 
cannot be represented in type 'int'
../pixman/pixman-access.c:1152:2: runtime error: left shift of 2 by 30 places 
cannot be represented in type 'int'

- - - - -
81c87543 by Adam Jackson at 2019-10-15T16:31:45-04:00
pixman-combine: Fix various undefined left shifts

../pixman/pixman-combine32.c:657:1: runtime error: left shift of 128 by 24 
places cannot be represented in type 'int'
../pixman/pixman-combine32.c:694:1: runtime error: left shift of 232 by 24 
places cannot be represented in type 'int'
../pixman/pixman-combine32.c:712:1: runtime error: left shift of 255 by 24 
places cannot be represented in type 'int'
../pixman/pixman-combine32.c:786:1: runtime error: left shift of 255 by 24 
places cannot be represented in type 'int'
../pixman/pixman-combine32.c:805:1: runtime error: left shift of 255 by 24 
places cannot be represented in type 'int'

- - - - -
7eb9c8c0 by Adam Jackson at 2019-10-15T16:31:45-04:00
pixman-image: Fix undefined left shift

../pixman/pixman-image.c:963:46: runtime error: left shift of 255 by 24 places 
cannot be represented in type 'int'

- - - - -
4897ad0a by Adam Jackson at 2019-10-15T16:31:45-04:00
pixman-gradient-walker: Fix undefined left shift

../pixman/pixman-gradient-walker.c:216:35: runtime error: left shift of 163 by 
24 places cannot be represented in type 'int'

- - - - -
880f48b2 by Adam Jackson at 2019-10-15T16:33:46-04:00
pixman-sse2: Fix an undefined left shift

../pixman/pixman-sse2.c:3346:14: runtime error: left shift of 41891 by 16 
places cannot be represented in type 'int'

- - - - -
7d6b71b3 by Adam Jackson at 2019-10-15T16:34:56-04:00
pixman-fast-path: Fix various undefined left shifts

../pixman/pixman-fast-path.c:3089:23: runtime error: left shift of 154 by 24 
places cannot be represented in type 'int'

- - - - -
fef82109 by Adam Jackson at 2019-10-15T16:35:25-04:00
pixman-bits-image: Fix various undefined left shifts

../pixman/pixman-bits-image.c:221:20: runtime error: left shift of 204 by 24 
places cannot be represented in type 'int'

- - - - -
bcfb3490 by Adam Jackson at 2019-11-01T14:36:52-04:00
pixman-bits-image: Fix left shift of a negative number

../pixman/pixman-bits-image.c:678:33: runtime error: left shift of negative 
value -32768

- - - - -
1f5b20c4 by Adam Jackson at 2019-11-01T14:36:54-04:00
pixman-matrix: Fix left shift of a negative number

../pixman/pixman-matrix.c:276:35: runtime error: left shift of negative value 
-32768

- - - - -
85acb0a9 by Adam Jackson at 2019-11-01T14:36:54-04:00
test: Fix unrepresentable subtraction in stress-test

Does not make the test pass, but does fix this error:

../test/stress-test.c:538:25: runtime error: signed integer overflow: 
2147483647 - -2 cannot be represented in type 'int'

- - - - -
baed75fa by Adam Jackson at 2019-11-13T20:00:20+00:00
pixman-mmx: Fix undefined left-shifts

- - - - -
47bec681 by Adam Jackson at 2019-11-13T20:00:20+00:00
pixman-mmx: Fix undefined unaligned loads

- - - - -
32a55aa8 by Adam Jackson at 2019-11-13T20:00:20+00:00
pixman-sse2: Fix undefined unaligned loads

- - - - -
f251c12f by Chun-wei Fan at 2019-11-18T16:19:36+08:00
meson.build: Fix MMX, SSE2 and SSSE3 checks on MSVC

-For MSVC builds, do not use the GCC-specific CFlags when checking for
 these features.

-For the MMX check, assume that we have good enough MMX intrinsics and
 inline assembly support (on ix86), since MSVC provides sufficient
 support for those since before the times of MSVC 2008, and 2008 is the
 oldest version that we can support, as with the pre-C99 GTK+ stack.

Unfortunately due to x64 compiler issues, pre-Visual Studio 2010 will
crash when building SSSE3 code, so we do not enable building SSSE3 code
on pre-2010 Visual Studio.

Also, for all x64 Visual Studio builds, we do not enable USE_X86_MMX
as inline assembly is not allowed for x64 Visual Studio builds, and
instead use the compatibility instrinsics that we already have in the
code.

- - - - -
e9db2689 by Chun-wei Fan at 2019-11-19T05:49:34+08:00
meson.build: Disable OpenMP on MSVC builds

The implementation of OpenMP is not compliant for our uses, so disable
it for now by just not checking for it on MSVC builds, as we implicitly
add an /openmp switch to the build, which will cause linking the tests
programs to fail, as the OpenMP implementation is not enough.

- - - - -
7661b1fa by Chun-wei Fan at 2019-11-19T05:49:35+08:00
build: Don't assume PThreads if threading support is found

Look also for pthread.h if threading support is found by Meson, as the
underlying threading support may not be PThreads, depending on platform.

For now, disable the thread-test test program if pthread.h and if
necessary, the PThreads library, cannot be found, as the current
implementation assumes the use of PThreads.

Also bump the required Meson version to 0.50.0 since we need it for
-cc.get_argument_syntax()
-For a later commit, the has_headers sub-method for cc.find_library()

- - - - -
06a3f6e6 by Chun-wei Fan at 2019-11-19T05:49:35+08:00
meson.build: Improve libpng search on MSVC

The build system for libpng for MSVC does not generate a pkg-config file
for us, and CMake support in Meson does not work very well.  So, look
for libpng manually on MSVC builds if depedency discovery did not work
out via pkg-config or the CMake config files.

- - - - -
b7eea540 by Chun-wei Fan at 2019-11-19T05:49:35+08:00
pixman/pixman-version.h.in: Add a PIXMAN_API macro

This prepares to mark the public APIs that we have in pixman.h so that
we can use compiler directives such as __declspec(dllexport) to export
those symbols.

- - - - -
21d8ded5 by Chun-wei Fan at 2019-11-19T05:49:35+08:00
pixman/pixman.h: Mark public APIs with PIXMAN_API

We can override PIXMAN_API with a CFLAG or config.h define to export
the symbols with compiler directives, if needed.

- - - - -
9d8dd17a by Chun-wei Fan at 2019-11-19T05:49:35+08:00
pixman-[compiler|private].h: Export symbols for tests

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.

- - - - -
c608e966 by Chun-wei Fan at 2019-11-19T05:49:35+08:00
pixman/meson.build: Define PIXMAN_API on MSVC-style compilers

This will make the public APIs exported from the DLL, so that we have an
import libary that we can use.

- - - - -
3bceb3a9 by Chun-wei Fan at 2019-11-19T05:49:35+08:00
test/solid-test.c: Include stdint.h

We need that to make sure we have UINT16_MAX.

- - - - -
1dd3bc0a by Chun-wei Fan at 2019-11-19T05:49:35+08:00
demos: Define _USE_MATH_DEFINES on MSVC-style compilers

This is required for the use of M_PI.

- - - - -
7331d2b4 by Chun-wei Fan at 2019-11-19T05:50:28+08:00
thread-test.c: Use Windows Threading API on Windows

...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.

- - - - -
364760cd by Khem Raj at 2019-12-19T23:34:38+00:00
test/utils: Check for FE_INVALID definition before use

Some architectures e.g. nios2 do not support all exceptions.

- - - - -
8992d5b4 by Mathieu Duponchelle at 2020-01-30T23:29:20+01:00
meson: finish porting over mmx and ssse2 flags for sun and msvc

Those flags are set by the configure.ac script

- - - - -
e8321503 by Mathieu Duponchelle at 2020-01-30T23:31:35+01:00
meson: add missing function check (getisax)

.. and add gettimeofday to the list of funcs to check instead
of having a separate check for it.

- - - - -
127d9525 by Yin Shiyou at 2020-02-20T09:55:17-08:00
pixman-combine: Fix wrong value of RB_MASK_PLUS_ONE.

No functional change, as explained by Søren in
https://lists.freedesktop.org/archives/pixman/2020-February/004902.html

- - - - -
3344f507 by Antonio Ospite at 2020-03-15T00:19:56+01:00
pixman-compiler.h: fix building tests with MinGW

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.

- - - - -
6fe01313 by Federico Mena Quintero at 2020-03-18T18:52:16-06:00
Initialize temporary buffers in general_composite_rect()

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 https://gitlab.freedesktop.org/pixman/pixman/issues/9

- - - - -
ba5d7945 by Matt Turner at 2020-03-20T12:42:45-07:00
lowlevel-blt-bench: Remove unused variable

Closes: https://gitlab.freedesktop.org/pixman/pixman/issues/7

- - - - -
348e99b5 by Adam Jackson at 2020-04-02T14:58:52+00:00
fast-path: Fix some sketchy pointer arithmetic

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

- - - - -
53306400 by Shiyou Yin at 2020-04-07T15:18:03-07:00
configure.ac: use '-mloongson-mmi' for Loongson MMI

It's recommended to use '-mloongson-mmi' for MMI.

Reviewed-by: Matt Turner <[email protected]>

- - - - -
9976d2c0 by Matt Turner at 2020-04-07T15:18:09-07:00
loongson: Avoid C90 mixing-code-and-decls warning

- - - - -
eb0c3d26 by Ghabry at 2020-04-14T00:08:57+00:00
Enabled armv6 SIMD for 3DS (devkitARM) and arm neon SIMD for PS Vita (vitasdk) 
and Switch (devkitA64)

- - - - -
54a13221 by Matt Turner at 2020-04-19T14:46:56-07:00
Distribute the blue-noise files

Signed-off-by: Matt Turner <[email protected]>

- - - - -
88b167d1 by Matt Turner at 2020-04-19T14:49:46-07:00
Build xz tarballs instead of bzip2

Signed-off-by: Matt Turner <[email protected]>

- - - - -
405f2606 by Matt Turner at 2020-04-19T14:52:22-07:00
Move from MD5/SHA1 to SHA256/SHA512 digests

Signed-off-by: Matt Turner <[email protected]>

- - - - -
244383bf by Matt Turner at 2020-04-19T14:52:22-07:00
Pre-release version bump to 0.40.0

Signed-off-by: Matt Turner <[email protected]>

- - - - -


30 changed files:

- + .editorconfig
- .gitignore
- .gitlab-ci.yml
- Makefile.am
- Makefile.win32.common
- RELEASING
- + arm-simd-test.S
- configure.ac
- demos/Makefile.am
- + demos/dither.c
- + demos/dither.ui
- + demos/meson.build
- + meson.build
- + meson_options.txt
- + neon-test.S
- pixman/Makefile.am
- pixman/Makefile.sources
- + pixman/dither/blue-noise-64x64.h
- + pixman/dither/make-blue-noise.c
- pixman/loongson-mmintrin.h
- + pixman/meson.build
- pixman/pixman-access.c
- pixman/pixman-arm.c
- pixman/pixman-bits-image.c
- pixman/pixman-combine32.c
- pixman/pixman-combine32.h
- pixman/pixman-compiler.h
- pixman/pixman-conical-gradient.c
- pixman/pixman-fast-path.c
- pixman/pixman-general.c


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/pixman/-/compare/0313f35ab96365016264920c91035ea99dd0931f...244383bf9f3493c014985de46876e40fd5db43f3

-- 
View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/pixman/-/compare/0313f35ab96365016264920c91035ea99dd0931f...244383bf9f3493c014985de46876e40fd5db43f3
You're receiving this email because of your account on salsa.debian.org.


Reply via email to