-
83ba0244
by Claude Heiland-Allen at 2022-11-03T12:51:47+00:00
implement r8g8b8 sRGB (without alpha)
Signed-off-by: Claude Heiland-Allen <claude@mathr.co.uk>
-
40d6c9b2
by Claude Heiland-Allen at 2022-11-03T12:51:47+00:00
add r8g8b8 sRGB to test suite
Signed-off-by: Claude Heiland-Allen <claude@mathr.co.uk>
-
618e3d42
by Matt Turner at 2022-11-03T09:53:12-04:00
Post-release version bump to 0.42.3
-
713077d0
by Heiko Lewin at 2022-11-03T19:13:41+00:00
Fix signed-unsigned semantics in reduce_32
-
eb998d7b
by Emanuel Schmidt at 2023-02-08T20:56:05+01:00
Separate meson build options for demos and tests
-
ee145e53
by Emanuel Schmidt at 2023-02-14T22:20:12+01:00
Changed name of the config-header to "pixman-config.h"
-
e4c878d1
by Emanuel Schmidt at 2023-02-17T18:52:14+01:00
Fixed missing dependency in libdemo
After the latest changes and separation of demo- and test-targets,
it was visible that a dependency towards `libtestutils_dep` was
missing in one of the demo-dependencies. This change will fix
this particular problem.
-
48d5df1f
by Benjamin Gilbert at 2023-07-08T17:36:00-04:00
meson: don't dllexport when built as static library
If a static Pixman is linked with a dynamic library, Pixman shouldn't
export its own symbols into the latter's ABI.
-
672f67db
by Simon Ser at 2023-07-09T01:48:29+00:00
Add pixman_region{,32}_empty()
Inverse of pixman_region32_not_empty().
Most of the time, callers want to check whether a region is empty,
not whether a region is not empty. This results in code with
double-negatives such as !pixman_region32_not_empty(), which is
confusing to read.
Signed-off-by: Simon Ser <contact@emersion.fr>
-
55845c3d
by Simon Ser at 2023-07-09T01:53:48+00:00
Constify pixman_image_set_clip_region()
This function copies the region passed in.
Signed-off-by: Simon Ser <contact@emersion.fr>
-
47d3fbe3
by Benjamin Gilbert at 2023-07-09T01:56:40+00:00
mmx: use xmmintrin.h if building with SSE2
As of mingw-w64 commit 463f00975, winnt.h includes emmintrin.h when
compiling with SSE2, causing redefinition errors for our copied MMX
intrinsics. If the build is assuming SSE2 anyway, just use the system
header instead.
-
67490a8b
by Heiko Lewin at 2023-07-18T07:20:01+02:00
pixman-arma64: Adjustments to build with llvm integrated assembler
This enables building the aarch64 assembly with clang.
Changes:
1. Use `.func` or `.endfunc` only if available
2. Prefix macro arg names with `\`
3. Use `\()` instead of `&`
4. Always use commas to separate macro arguments
5. Prefix asm symbols with an undderscore if necessary
-
593a9702
by Matt Turner at 2023-07-19T15:08:22-04:00
test: Revert to including pixman-private.h
This broke the Visual Studio builds in GTK's CI system.
-
55eb680a
by Dylan Baker at 2023-08-30T10:51:27-04:00
autotools: remove autotools
At this point meson is pretty well tested and seems to pretty much work,
so we can consider dropping an extra build system.
This doesn't solve the problem that pixman's release scripts are part of
the autotools build system (as make targets). One solution might be to
use xorg's release.sh instead.
-
72c4245b
by Dylan Baker at 2023-08-30T10:54:46-04:00
delete win32 make files
meson can handle building for win32 (including using visual studio, and
mingw), and does a good deal more than these could. Since we're dropping
autotools, we might as well drop these too.
-
2cf9ae1c
by Gauthier Östervall at 2023-08-30T11:12:41-04:00
Update build instructions to meson and ninja
-
f1072b07
by Matt Turner at 2023-08-30T11:14:04-04:00
Remove generic build system information
-
7169c040
by Matt Turner at 2023-08-30T11:15:00-04:00
Use more Markdown-friendly syntax
-
7aeeb501
by Simon Ser at 2023-08-30T15:49:50+00:00
Fix const warnings in pixman_image_set_clip_region()
Fixes the following warnings:
pixman-image.c: In function 'pixman_image_set_clip_region':
pixman-image.c:601:81: warning: passing argument 2 of 'pixman_region32_copy_from_region16' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
601 | if ((result = pixman_region32_copy_from_region16 (&common->clip_region, region)))
| ^~~~~~
In file included from pixman-image.c:32:
pixman-private.h:859:56: note: expected 'pixman_region16_t *' {aka 'struct pixman_region16 *'} but argument is of type 'const pixman_region16_t *' {aka 'const struct pixman_region16 *'}
859 | pixman_region16_t *src);
| ~~~~~~~~~~~~~~~~~~~^~~
pixman-utils.c:240:1: error: conflicting types for 'pixman_region16_copy_from_region32'; have 'pixman_bool_t(pixman_region16_t *, pixman_region32_t *)' {aka 'int(struct pixman_region16 *, struct pixman_region32 *)'}
240 | pixman_region16_copy_from_region32 (pixman_region16_t *dst,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from pixman-utils.c:31:
pixman-private.h:862:1: note: previous declaration of 'pixman_region16_copy_from_region32' with type 'pixman_bool_t(pixman_region16_t *, const pixman_region32_t *)' {aka 'int(struct pixman_region16 *, const struct pixman_region32 *)'}
862 | pixman_region16_copy_from_region32 (pixman_region16_t *dst,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pixman-utils.c:270:1: error: conflicting types for 'pixman_region32_copy_from_region16'; have 'pixman_bool_t(pixman_region32_t *, pixman_region16_t *)' {aka 'int(struct pixman_region32 *, struct pixman_region16 *)'}
270 | pixman_region32_copy_from_region16 (pixman_region32_t *dst,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from pixman-utils.c:31:
pixman-private.h:858:1: note: previous declaration of 'pixman_region32_copy_from_region16' with type 'pixman_bool_t(pixman_region32_t *, const pixman_region16_t *)' {aka 'int(struct pixman_region32 *, const struct pixman_region16 *)'}
858 | pixman_region32_copy_from_region16 (pixman_region32_t *dst,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Simon Ser <contact@emersion.fr>
-
753f5e09
by Matt Turner at 2023-08-30T11:58:04-04:00
meson: Fix syntax
-
634b8196
by Havard Eidnes at 2023-08-30T12:14:26-04:00
vmx: Simplify scaled_nearest_scanline_vmx_8888_8888_OVER
Since combine4() does not take vector variables as arguments, there's no
need to use a vector variable and casts back and forth to normal scalars
for the arguments.
-
47a1c3d3
by Havard Eidnes at 2023-08-30T12:14:40-04:00
vmx: Reimplement create_mask_32_128 and use it in vmx_fill
Based on suggestion from @siamashka.
This lets the compiler pick the vector instruction to use which is
usually the best idea.
Use create_mask_32_128() instead of create_mask_1x32_128() in
vmx_fill(), avoiding loading memory beyond the filler argument on the
stack.
Remove the now-unused create_mask_1x32_128(). This gets rid of some
(correct) warnings from the compiler about indexing beyond the variable
in question.
-
08115a42
by Sam James at 2023-11-07T22:31:05+00:00
pixman-bits-image: fix -Walloc-size
GCC 14 introduces a new -Walloc-size included in -Wextra which gives (when forced
to be an error):
```
../pixman/pixman-bits-image.c: In function ‘create_bits’:
../pixman/pixman-bits-image.c:1273:16: error: allocation of insufficient size ‘1’ for type ‘uint32_t’ {aka ‘unsigned int’} with size ‘4’ [-Werror=alloc-size]
1273 | return calloc (buf_size, 1);
| ^~~~~~~~~~~~~~~~~~~~
```
The calloc prototype is:
```
void *calloc(size_t nmemb, size_t size);
```
So, just swap the number of members and size arguments to match the prototype, as
we're initialising 1 element of size `buf_size`. GCC then sees we're not
doing anything wrong.
Signed-off-by: Sam James <sam@gentoo.org>
-
b4b789df
by Benjamin Gilbert at 2023-11-08T18:43:10+00:00
meson: avoid linking with -pthread if we don't have pthreads
Meson always returns -pthread in dependency('threads') on non-MSVC
compilers. Fix a link error when building on MinGW without winpthreads.
-
86f91623
by Pavel Labath at 2023-12-15T13:10:52+01:00
Fix alignment problem in pixman-fast-path.c
The variable is accessed through uint32_t pointer, so it needs to be
aligned to avoid undefined behavior (crashes on architectures which
require aligned accesses).
Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/84
-
7883ab8d
by Simon Ser at 2023-12-15T13:21:09+01:00
ci: upgrade to Fedora 39
Fedora 28 is super old.
Signed-off-by: Simon Ser <contact@emersion.fr>
-
20cc4ee0
by Matt Turner at 2024-01-03T21:24:46-05:00
pixman-sse2: Remove unused functions
-
af101d3c
by Matt Turner at 2024-01-03T21:24:46-05:00
pixman-mmx: Don't redefine _MM_SHUFFLE
-
7e76c962
by Matt Turner at 2024-01-03T21:24:46-05:00
pixman-access: Mark __dummy__ variables with MAYBE_UNUSED
-
396e1a76
by Matt Turner at 2024-01-03T21:40:12-05:00
test: Use fabsl on float128
-
6c2e4a0d
by Simon Ser at 2024-01-04T11:01:05+01:00
Pre-release version bump to 0.43.0
Signed-off-by: Simon Ser <contact@emersion.fr>
-
8e4be8c2
by Simon Ser at 2024-01-04T11:48:38+01:00
Post-release version bump to 0.43.1
Signed-off-by: Simon Ser <contact@emersion.fr>
-
8c39ce24
by Simon Ser at 2024-01-27T13:15:28+01:00
Drop automatic DEBUG define
We don't use the historical odd stable release numbering scheme
anymore.
Developers can still enable this debugging code via CFLAGS=-DDEBUG.
Signed-off-by: Simon Ser <contact@emersion.fr>
Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/87
-
43773c69
by Simon Ser at 2024-01-28T12:22:00+00:00
Drop ChangeLog
This file is empty and unused.
Signed-off-by: Simon Ser <contact@emersion.fr>
-
e8bb34e3
by Simon Ser at 2024-01-28T12:23:29+00:00
Drop contrib/ci.sh
This is unused and outdated (Autotools is no longer supported).
Signed-off-by: Simon Ser <contact@emersion.fr>
-
91b8526c
by Simon Ser at 2024-01-28T13:26:31+01:00
Pre-release version bump to 0.43.2
-
fdd71610
by Simon Ser at 2024-01-28T13:32:42+01:00
Post-release version bump to 0.43.3
-
ac485a9b
by Gayathri Berli at 2024-02-24T12:28:30-05:00
Revert the changes to fix the problem in big-endian architectures
This reverts commit b4a105d77232a87304b7b621e2f99e699a8eebd3.
There is an endianness issue in pixman-fast-path.c. In the function
bits_image_fetch_separable_convolution_affine we have this code:
#ifdef WORDS_BIGENDIAN
buffer[k] = (satot << 0) | (srtot << 8) | (sgtot << 16) | (sbtot << 24);
#else
buffer[k] = (satot << 24) | (srtot << 16) | (sgtot << 8) | (sbtot << 0);
#endif
This will write out the pixels as BGRA on big endian systems but
obviously that's wrong. Pixel order should be ARGB on big endian systems
so we don't need any #ifdef for big endian here at all. Instead, the
code should be the same on little and big endian, i.e. it should be just
this line instead of the 5 lines above:
buffer[k] = (satot << 24) | (srtot << 16) | (sgtot << 8) | (sbtot << 0);
Changing the code like this fixes the wrong colors that I get with
pixman on my PowerPC/s390x system.
Here is what cairo.h has to say (which is rooted in pixman):
* @CAIRO_FORMAT_ARGB32: each pixel is a 32-bit quantity, with
* alpha in the upper 8 bits, then red, then green, then blue.
* The 32-bit quantities are stored native-endian. Pre-multiplied
* alpha is used. (That is, 50% transparent red is 0x80800000,
* not 0x80ff0000.) (Since 1.0)
Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/78
Signed-off-by: Gayathri Berli <gayathri.berli@ibm.com>
-
8c6d59a9
by Matt Turner at 2024-02-24T12:36:53-05:00
pixman-x86: Use cpuid.h header
-
63332b4e
by Matt Turner at 2024-02-25T17:28:14-05:00
pixman-x86: Move #include "cpuid.h" inside conditionals
Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/93
Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/94
-
74130e84
by Heiko Lewin at 2024-02-29T14:46:55+00:00
Allow to build pixman on clang/arm32
-
033716e9
by Matt Turner at 2024-02-29T15:41:37+00:00
Revert "Allow to build pixman on clang/arm32"
This reverts merge request !78
-
63ae6af9
by Makoto Kato at 2024-02-29T10:47:00-05:00
pixman-arm: Fix build on clang/arm32
Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/74
-
add7c8db
by Matt Turner at 2024-02-29T10:47:07-05:00
pixman-arm: Use unified syntax
Allows us to use the same assembly without a bunch of #ifdef __clang__.
-
54cad716
by Matt Turner at 2024-02-29T11:13:20-05:00
Pre-release version bump to 0.43.4
-
b252d407
by Matt Turner at 2024-02-29T11:19:46-05:00
Post-release version bump to 0.43.5
-
865e6ce0
by Mike Hommey at 2024-07-12T15:55:33-04:00
pixman: Adjust arm assembly for binutils change
A change in the latest version of binutils broke building pixman for arm.
The binutils change:
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=226749d5a6ff0d5c607d6428d6c81e1e7e7a994b
Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/96
-
3a325068
by Bill Roberts at 2024-07-22T16:57:13-05:00
arm: add include guards on header
Prevent double inclusion of header file.
Signed-off-by: Bill Roberts <bill.roberts@arm.com>
-
7ed0f8d0
by Bill Roberts at 2024-07-22T16:57:13-05:00
aarch64: support PAC and BTI
Enable Pointer Authentication Codes (PAC) and Branch Target
Identification (BTI) support for ARM 64 targets.
PAC works by signing the LR with either an A key or B key and verifying
the return address. There are quite a few instructions capable of doing
this, however, the Linux ARM ABI is to use hint compatible instructions
that can be safely NOP'd on older hardware and can be assembled and
linked with older binutils. This limits the instruction set to paciasp,
pacibsp, autiasp and autibsp. Instructions prefixed with pac are for
signing and instructions prefixed with aut are for signing. Both
instructions are then followed with an a or b to indicate which signing
key they are using. The keys can be controlled using
-mbranch-protection=pac-ret for the A key and
-mbranch-protection=pac-ret+b-key for the B key.
BTI works by marking all call and jump positions with bti c and bti
j instructions. If execution control transfers to an instruction other
than a BTI instruction, the execution is killed via SIGILL. Note that
to remove one instruction, the aforementioned pac instructions will
also work as a BTI landing pad for bti c usages.
For BTI to work, all object files linked for a unit of execution,
whether an executable or a library must have the GNU Notes section of
the ELF file marked to indicate BTI support. This is so loader/linkers
can apply the proper permission bits (PROT_BRI) on the memory region.
PAC can also be annotated in the GNU ELF notes section, but it's not
required for enablement, as interleaved PAC and non-pac code works as
expected since it's the callee that performs all the checking. The
linker follows the same rules as BTI for discarding the PAC flag from
the GNU Notes section.
Testing was done under the following CFLAGS and CXXFLAGS for all
combinations:
1. -mbranch-protection=none
2. -mbranch-protection=standard
3. -mbranch-protection=pac-ret
4. -mbranch-protection=pac-ret+b-key
5. -mbranch-protection=bti
Signed-off-by: Bill Roberts <bill.roberts@arm.com>
-
e5f8efc4
by Peter Hutterer at 2024-08-07T09:59:34+10:00
ci: add workflow rules to allow for MR pipelines
See
https://gitlab.freedesktop.org/freedesktop/freedesktop/-/wikis/GitLab-CI#for-project-developers
-
2e29b7c4
by Matt Turner at 2024-08-13T13:51:36-04:00
iwmmxt: Drop support
In all likelyhood unused for at least many years, and possibly ever.
Support is deprecated and will be removed in gcc-15. See deprecation
notice in https://gcc.gnu.org/gcc-13/changes.html
Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/98
-
5b8e9281
by Marco Trevisan at 2024-08-14T02:41:08+00:00
pixman-region: Make translate a no-op when using 0 offsets
This avoids callers to have to optimize this codepath, in case this scenario happens.
And definitely it may happen when the function is not explicitly called.
-
6410ec79
by Even Rouault at 2024-08-14T02:48:25+00:00
pixman-combine-float.c: fix typo in MAKE_NON_SEPARABLE_PDF_COMBINERS()
There's a copy&paste typo updating sc.g twice when there's a mask
-
b753a6f4
by Marek Pikuła at 2024-08-14T14:13:07+02:00
mips: Fix a typo in mips_dspr2_flags
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
a7263190
by Marek Pikuła at 2024-08-16T20:03:19+02:00
ci: Add multiarch Docker image build
The image is used in CI pipeline to build and test on different
architectures.
This commit introduces more extensible GitLab CI scheme borrowed from
qemu project.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
15af6fd0
by Marek Pikuła at 2024-08-16T20:03:28+02:00
mips: Widen CPU family check for DSPr2
DSPr2 can be available for targets other than mips32. Some distros
(e.g., Debian) don't support mips32 but still support mipsel. Extending
the check enables use of such images for testing.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
2d35a876
by Marek Pikuła at 2024-08-16T20:03:29+02:00
mips: Add option to force MIPS CPU feature discovery
Used to force feature discovery in CI where /proc/cpuinfo is unreliable.
It can happen, e.g., if executed in qemu-user-static mode.
For such a build, MIPS-specific features need to be manually disabled by
using `PIXMAN_DISABLE` env variable.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
e7ef051a
by Marek Pikuła at 2024-08-16T20:04:49+02:00
ci: Build and test on the supported platforms
This commit introduces a build and test CI workflow, which tests the
correctness of execution for nearly all configurations supported by
pixman. The notable exception is ARM iWMMXt, which is omitted as it's
soon to be deprecated as mentioned in #98.
The build and test stage is separated, as a single build can be used to
test multiple configurations for a given platform (e.g., MMX, SSE2,
SSSE3 for x86).
Execution is performed using multi-arch Docker images built in the
`docker` stage. The important thing to note is that the runner needs to
have a relatively recent version of Docker and QEMU, and needs to have
the qemu-user-static+binfmt execution enabled.
Once all tests are complete, coverage reports are merged together in the
`summary` stage. Then the result can be used in a GitLab-native coverage
report summary.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
c35e47bd
by Marek Pikuła at 2024-08-16T20:10:21+02:00
ci: Increase granularity of Docker build selection
Now, it's possible to selectively disable Docker image builds. Before,
it was only possible to disable build/test jobs for a given
architecture.
-
cbf9d7e0
by Marek Pikuła at 2024-08-16T20:15:30+02:00
ci: Add architecture coverage Docker images
Add images providing an environment for architecture coverage tests.
There is a separate build for Linux and Windows, as the Windows image is
really large compared to Linux one. It decreases the execution time of
both targets, as the images needed to be pulled by runners are smaller.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
4047a553
by Marek Pikuła at 2024-08-20T18:05:44+02:00
ci: Add platform coverage targets
Platform coverage checks if the code builds and executes properly for
architectures that are not officially supported by Debian. They don't
contribute to general code coverage report but provide a valuable
insight if all supported platforms are working correctly.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
0cb4fbe3
by Marek Pikuła at 2024-08-21T18:46:07+02:00
ci: Fix Docker change detection
There was a missing wildcard for Docker directory
change detection, so basically this rule was not
checked correctly.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
726d77f6
by Julia DeMille at 2024-09-03T00:35:47+00:00
mmx: Fix compilation with clang-cl
-
05b5ecd9
by Marek Pikuła at 2024-09-03T18:20:56+02:00
ci: Use env files instead of awk script
It makes per-targe environment declaration more extensible, as it's
possible now to set custom env variables only for the selected target
for the entire pipeline workflow in a centralized way.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
028213b5
by Marek Pikuła at 2024-09-03T18:20:57+02:00
ci: Unify target enable flag
It replaces CODE- and PLT- specific target enable variables. It is a
ground work for unification of codecov and pltcov flows.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
19b1a98e
by Marek Pikuła at 2024-09-03T18:20:58+02:00
ci: Unify Docker image as multi-stage build
This commit merges codecov and pltcov Dockerfiles into a single,
multi-stage Dockerfile. This results in more streamlined Docker image
builds with some common layers which can be reused by multiple images.
Also, by making a common Dockerfile, all common dependencies have the
same exact description, which decreases disparity between different
images for all the supported architectures. Mind that package version
disparity cannot be prevented 100%, as different base images may be used
for different architectures (e.g., Debian Sid for riscv64 instead of
Bookworm).
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
44927bf1
by Marek Pikuła at 2024-09-03T18:20:59+02:00
ci: Unify build and test stage as job templates
This commit unifies codecov and pltcov build and test stages as single
parametrizable GitLab job templates. This cleans up the pipeline flow in
preparation for LLVM support in the pipeline.
Each target has now a Meson cross file, even when using a native
compiler, so that the job template can be better generalized. This also
allows to move architecture-specific build configuration to the cross
file instead of using the additional Meson flags in the job declaration.
-
c0ee08aa
by Marek Pikuła at 2024-09-03T18:21:00+02:00
ci: Add LLVM support to the CI workflow
Add support for LLVM for all targets. Mind that in the current state,
some targets fail either build or test stage. For the time being, these
jobs are marked with `:failing` job name suffix.
Relevant issues:
- https://gitlab.freedesktop.org/pixman/pixman/-/issues/105
- https://gitlab.freedesktop.org/pixman/pixman/-/issues/106
- https://gitlab.freedesktop.org/pixman/pixman/-/issues/107
- https://gitlab.freedesktop.org/pixman/pixman/-/issues/108
- https://gitlab.freedesktop.org/pixman/pixman/-/issues/109
-
51dcfb80
by Marek Pikuła at 2024-09-03T18:21:01+02:00
ci: Add support for LLVM for Windows targets
It uses LLVM MinGW project to get the precompiled LLVM toolchain for
cross-compilation.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
ffa5645a
by Marek Pikuła at 2024-09-03T18:21:02+02:00
ci: Add support for Windows on ARM
It uses LLVM MinGW pre-built toolchain, and wine-arm64 base Docker image
from Linaro.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
b7ac7cd1
by Marek Pikuła at 2024-09-25T20:20:08+02:00
ci: Fix Docker image source for MRs
If the MR doesn't modify the Docker context, the pipeline should use the
image from upstream.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
76b133f2
by Marek Pikuła at 2024-09-26T21:54:21+02:00
ci: Fix active target rule for Docker stage
If rule condition for selectively running Docker image builds was ill
formed. It resulted in build of all images even when not all targets
were selected with ACTIVE_TARGET_PATTERN variable.
-
9176847f
by Marek Pikuła at 2024-09-26T23:33:52+02:00
ci: riscv64: Don't force enable RVV globally
RVV compilation will be enabled for RVV implementation alone, similar to
other platforms. This prevents introducing autovectorized code in the
main library, thus making pixman compatible with RISC-V targets without
RVV.
-
a3d297fa
by Marek Pikuła at 2024-09-26T23:33:52+02:00
ci: riscv64: Verify if tests run on target without RVV
To ensure that the runtime discovery works correctly, and RVV code is
disabled for target without RVV extension.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
126b0831
by Marek Pikuła at 2024-09-27T00:22:54+02:00
ci: Add option to use different version of LLVM
Some targets require different version of LLVM, so now it's possible to
set it in the target's environment. Mind that the highest available
version depends on the base Debian image.
The change bumps LLVM version for all Linux targets:
- by default from 14 to 16,
- from 16 to 18 for riscv64 (based on Sid; for now, LLVM 19 doesn't have
libomp packaged),
- mipsel stays at 14 as there seem to be some missing packages for
higher versions.
Windows targets stay the same, as they use a different source of LLVM
(MinGW-compatible, which is currently version 18).
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
277f485a
by Marek Pikuła at 2024-09-27T00:22:55+02:00
ci: Add missing ":failing" suffix for linux-ppc job
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
11e51bc7
by Marek Pikuła at 2024-10-14T16:12:44+02:00
ci: Disable OpenMP for Win32 target
OpenMP introduces random stack overflow errors for 32-bit Windows
target.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
0476eda3
by Marek Pikuła at 2024-10-21T13:17:25+02:00
ci: Remove MESON_TESTTHREADS workaround
https://github.com/mesonbuild/meson/pull/13604 got merged and released
with Meson 1.6.0, which we already use in the Docker images, so the
workaround can be dropped.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
15336dc7
by Marek Pikuła at 2024-10-21T13:17:47+02:00
ci: Pin gcovr version to 7.x
Temporary version pin of gcovr due to errors in coverage report
generation when running with newly released version 8.x.
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
de59d1a9
by Marek Pikuła at 2024-10-21T16:49:40+02:00
ci: Don't execute failing jobs
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
bc2ec45d
by Marek Pikuła at 2024-10-21T16:49:41+02:00
ci: Add auto_cancel policy
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
90f9cf17
by Marek Pikuła at 2024-10-21T16:49:50+02:00
ci: Disable coverage for arm-v5 and mipsel targets
Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com>
-
643f098a
by Changqing Li at 2024-10-30T01:34:41+00:00
pixman-combine-float.c: fix inlining failed error
Refer [1], always-inline is not suggested to be used if you have indirect
calls. so replace force_inline with inline to fix error like:
In function ‘combine_inner’,
inlined from ‘combine_soft_light_ca_float’ at ../pixman/pixman-combine-float.c:655:511:
../pixman/pixman-combine-float.c:655:211: error: inlining failed in call to ‘always_inline’ ‘combine_soft_light_c’: function not considered for inlining
Test with gcc-9 and gcc-14, both works well
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115679
Signed-off-by: Changqing Li <changqing.li@windriver.com>
-
0e424031
by f wasil at 2024-10-30T03:39:37+00:00
RISC-V floating point operations
-
a987256b
by f wasil at 2024-11-05T03:39:54+00:00
Fixed memory leak in tests
-
126d61e7
by Lance Arsenault at 2024-11-05T04:31:04+00:00
pixman: Add library destructor
Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/111
-
ae6646f1
by Matt Turner at 2024-11-05T11:51:31-05:00
Pre-release version bump to 0.44.0
-
31b00cc7
by Timo Aaltonen at 2024-11-07T14:29:36+02:00
Merge branch 'upstream-unstable' into debian-unstable
-
2e58ff85
by Timo Aaltonen at 2024-11-07T14:30:41+02:00
version bump
-
b87363cd
by Timo Aaltonen at 2024-11-07T14:31:18+02:00
patches: Refresh patch.
-
c8cb00a5
by Timo Aaltonen at 2024-11-07T15:45:17+02:00
control, rules: Build with meson.
-
7cca9d2d
by Timo Aaltonen at 2024-11-07T15:45:25+02:00
symbols: Updated.
-
2ad07830
by Timo Aaltonen at 2024-11-07T15:53:40+02:00
control: Migrate to pkgconf.
-
7d514953
by Timo Aaltonen at 2024-11-07T15:54:27+02:00
rules: Drop obsolete dbgsym-migration.
-
e55fd151
by Timo Aaltonen at 2024-11-07T16:48:34+02:00
releasing package pixman version 0.44.0-1