Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / lib / pixman
Commits: 83ba0244 by Claude Heiland-Allen at 2022-11-03T12:51:47+00:00 implement r8g8b8 sRGB (without alpha) Signed-off-by: Claude Heiland-Allen <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - bc2ec45d by Marek Pikuła at 2024-10-21T16:49:41+02:00 ci: Add auto_cancel policy Signed-off-by: Marek Pikuła <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 <[email protected]> - - - - - 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 - - - - - 30 changed files: - .editorconfig - + .gitlab-ci.d/01-docker.yml - + .gitlab-ci.d/01-docker/Dockerfile - + .gitlab-ci.d/01-docker/target-env/linux-386.env - + .gitlab-ci.d/01-docker/target-env/linux-amd64.env - + .gitlab-ci.d/01-docker/target-env/linux-arm-v5.env - + .gitlab-ci.d/01-docker/target-env/linux-arm-v7.env - + .gitlab-ci.d/01-docker/target-env/linux-arm64-v8.env - + .gitlab-ci.d/01-docker/target-env/linux-mips.env - + .gitlab-ci.d/01-docker/target-env/linux-mips64el.env - + .gitlab-ci.d/01-docker/target-env/linux-mipsel.env - + .gitlab-ci.d/01-docker/target-env/linux-ppc.env - + .gitlab-ci.d/01-docker/target-env/linux-ppc64.env - + .gitlab-ci.d/01-docker/target-env/linux-ppc64le.env - + .gitlab-ci.d/01-docker/target-env/linux-riscv64.env - + .gitlab-ci.d/01-docker/target-env/windows-686.env - + .gitlab-ci.d/01-docker/target-env/windows-amd64.env - + .gitlab-ci.d/01-docker/target-env/windows-arm64-v8.env - + .gitlab-ci.d/02-build.yml - + .gitlab-ci.d/03-test.yml - + .gitlab-ci.d/04-summary.yml - + .gitlab-ci.d/meson-cross/linux-386-gnu.meson - + .gitlab-ci.d/meson-cross/linux-386-llvm.meson - + .gitlab-ci.d/meson-cross/linux-amd64-gnu.meson - + .gitlab-ci.d/meson-cross/linux-amd64-llvm.meson - + .gitlab-ci.d/meson-cross/linux-arm-v5-gnu.meson - + .gitlab-ci.d/meson-cross/linux-arm-v5-llvm.meson - + .gitlab-ci.d/meson-cross/linux-arm-v7-gnu.meson - + .gitlab-ci.d/meson-cross/linux-arm-v7-llvm.meson - + .gitlab-ci.d/meson-cross/linux-arm64-v8-gnu.meson The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/lib/pixman/-/compare/37216a32839f59e8dcaa4c3951b3fcfc3f07852c...ae6646f1594b94ff781186ba744d89fefe16778f -- View it on GitLab: https://salsa.debian.org/xorg-team/lib/pixman/-/compare/37216a32839f59e8dcaa4c3951b3fcfc3f07852c...ae6646f1594b94ff781186ba744d89fefe16778f You're receiving this email because of your account on salsa.debian.org.

